Commit 4458827b authored by Liam M. Healy's avatar Liam M. Healy
Browse files

Fix test failures due to creation of wrong type of grid from #m macro

parent 2a877243
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
;; Monte Carlo Integration
;; Liam Healy Sat Feb  3 2007 - 17:42
;; Time-stamp: <2011-01-10 17:59:20EST monte-carlo.lisp>
;; Time-stamp: <2011-08-16 23:54:40EDT monte-carlo.lisp>
;;
;; Copyright 2007, 2008, 2009, 2011 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
@@ -208,7 +208,9 @@
  (* (/ (expt dpi 3))
     (/ (- 1 (* (cos x) (cos y) (cos z))))))

(defparameter *mc-lower* #m(0.0d0 0.0d0 0.0d0))
(defparameter *mc-lower*
  (grid:make-foreign-array
   'double-float :initial-contents '(0.0d0 0.0d0 0.0d0)))

(defparameter *mc-upper*
  (grid:make-foreign-array
+8 −4
Original line number Diff line number Diff line
;; Eigenvectors and eigenvalues
;; Liam Healy, Sun May 21 2006 - 19:52
;; Time-stamp: <2011-01-12 00:09:43EST symmetric-hermitian.lisp>
;; Time-stamp: <2011-08-17 00:18:16EDT symmetric-hermitian.lisp>
;;
;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
@@ -159,9 +159,13 @@
(defun eigenvalue-eigenvectors-example ()
  (let ((evecs (grid:make-foreign-array 'double-float :dimensions '(3 3)))
	(evals (grid:make-foreign-array 'double-float :dimensions 3))
	(mat #m(20.0d0 -10.0d0 0.0d0 ^
		-10.0d0 30.0d0 0.0d0 ^
		0.0d0 0.0d0 40.0d0)))
	(mat
	 (grid:make-foreign-array
	  'double-float
	  :initial-contents
	  '((20.0d0 -10.0d0 0.0d0)
	    (-10.0d0 30.0d0 0.0d0)
	    (0.0d0 0.0d0 40.0d0)))))
    (eigenvalues-eigenvectors mat evals evecs)
    (values (grid:copy-to evals) (grid:copy-to evecs))))

+7 −4
Original line number Diff line number Diff line
;; Multinomial distribution
;; Liam Healy, Sat Nov 25 2006 - 16:00
;; Time-stamp: <2011-01-10 17:59:29EST multinomial.lisp>
;; Time-stamp: <2011-08-16 23:57:09EDT multinomial.lisp>
;;
;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
@@ -77,11 +77,14 @@
;;; Examples and unit test
(save-test multinomial
 (let ((rng (make-random-number-generator +mt19937+ 0))
       (p #m(0.1d0 0.2d0 0.3d0 0.4d0)))
       (p (grid:make-foreign-array
	   'double-float :initial-contents '(0.1d0 0.2d0 0.3d0 0.4d0))))
   (grid:copy-to (sample rng :multinomial :sum 8 :probabilities p)))
 (let ((p #m(0.1d0 0.2d0 0.3d0 0.4d0))
 (let ((p (grid:make-foreign-array
	   'double-float :initial-contents '(0.1d0 0.2d0 0.3d0 0.4d0)))
       (n #31m(5 0 1 2)))
   (multinomial-pdf p N))
 (let ((p #m(0.1d0 0.2d0 0.3d0 0.4d0))
 (let ((p (grid:make-foreign-array
	   'double-float :initial-contents '(0.1d0 0.2d0 0.3d0 0.4d0)))
       (n #31m(5 0 1 2)))
   (multinomial-log-pdf p n)))
+23 −14
Original line number Diff line number Diff line
;; Linear least squares, or linear regression
;; Liam Healy <2008-01-21 12:41:46EST linear-least-squares.lisp>
;; Time-stamp: <2011-05-26 12:37:31EDT linear-least-squares.lisp>
;; Time-stamp: <2011-08-16 23:46:14EDT linear-least-squares.lisp>
;;
;; Copyright 2008, 2009, 2011 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
@@ -302,9 +302,18 @@
(defun linear-least-squares-univariate-example (&optional (print-steps t))
  "First example in Section 36.5 of the GSL manual."
  ;; Results not given in manual so not verified yet.
  (let ((x #m(1970.0d0 1980.0d0 1990.0d0 2000.0d0))
	(y #m(12.0d0 11.0d0 14.0d0 13.0d0))
	(w #m(0.1d0 0.2d0 0.3d0 0.4d0)))
  (let ((x
	 (grid:make-foreign-array
	  'double-float :initial-contents
	  '(1970.0d0 1980.0d0 1990.0d0 2000.0d0)))
	(y
	 (grid:make-foreign-array
	  'double-float :initial-contents
	  '(12.0d0 11.0d0 14.0d0 13.0d0)))
	(w
	 (grid:make-foreign-array
	  'double-float :initial-contents
	  '(0.1d0 0.2d0 0.3d0 0.4d0))))
    (multiple-value-bind (c0 c1 cov00 cov01 cov11 chisq)
	(linear-fit x y w)
      (when print-steps
+33 −27
Original line number Diff line number Diff line
;; Multivariate minimization.
;; Liam Healy  <Tue Jan  8 2008 - 21:28>
;; Time-stamp: <2011-05-26 12:37:32EDT minimization-multi.lisp>
;; Time-stamp: <2011-08-17 00:50:24EDT minimization-multi.lisp>
;;
;; Copyright 2008, 2009 Liam M. Healy
;; Copyright 2008, 2009, 2011 Liam M. Healy
;; Distributed under the terms of the GNU General Public License
;;
;; This program is free software: you can redistribute it and/or modify
@@ -372,7 +372,9 @@
    (let ((minimizer
	   (make-multi-dimensional-minimizer-f
	    method 2 'paraboloid-scalar
	    #m(5.0d0 7.0d0) step-size)))
	    (grid:make-foreign-array
	     'double-float :initial-contents '(5.0d0 7.0d0))
	    step-size)))
      (loop with status = T and size
	    for iter from 0 below 100
	    while status
@@ -437,7 +439,9 @@
   paraboloid-vector and paraboloid-derivative expect vectors.
   Contrast this with multimin-example-derivative-scalars, which
   expects and returns the scalar components."
  (let* ((initial #m(5.0d0 7.0d0))
  (let* ((initial
	  (grid:make-foreign-array
	   'double-float :initial-contents '(5.0d0 7.0d0)))
	 (minimizer
	  (make-multi-dimensional-minimizer-fdf
	   method 2
@@ -481,7 +485,9 @@
   paraboloid-scalar and paraboloid-derivative-scalar expect scalars.
   Contrast this with multimin-example-derivative, which
   expects and returns vectors."
  (let* ((initial #m(5.0d0 7.0d0))
  (let* ((initial
	  (grid:make-foreign-array
	   'double-float :initial-contents '(5.0d0 7.0d0)))
	 (minimizer
	  (make-multi-dimensional-minimizer-fdf
	   method 2
Loading