From: Robert D. <rob...@us...> - 2013-10-07 16:57:53
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via a202c75cbefa42ad9f31aabb7147cf048b0a9480 (commit) via 60be3364d582b584a785673e5faf90f7cdff7cfb (commit) from c62e8f6d73a4cdc21360ef24701fbd670e3c6f6f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a202c75cbefa42ad9f31aabb7147cf048b0a9480 Merge: 60be336 c62e8f6 Author: Robert Dodier <rob...@us...> Date: Mon Oct 7 09:54:27 2013 -0700 Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code commit 60be3364d582b584a785673e5faf90f7cdff7cfb Author: Robert Dodier <rob...@us...> Date: Mon Oct 7 09:53:17 2013 -0700 In $ZGEEV, always construct a matrix of complex elements (even if all elements have zero imaginary part). This commit introduces a new optional argument for LAPACK-LISPIFY-MATRIX, a flag named ASSUME-COMPLEX-MAXIMA-MATRIX-P (null by default). Fixes SF bug # 2634: "zgeev does not operate on real matrices" diff --git a/share/lapack/eigensys.lisp b/share/lapack/eigensys.lisp index fee6c7b..19aacb9 100644 --- a/share/lapack/eigensys.lisp +++ b/share/lapack/eigensys.lisp @@ -12,11 +12,11 @@ (return-from complex-maxima-matrix-p t)))) nil) -(defun lapack-lispify-matrix (a nrow ncol) +(defun lapack-lispify-matrix (a nrow ncol &optional (assume-complex-maxima-matrix-p nil)) "Convert a Maxima matrix A of dimension NROW and NCOL to Lisp matrix suitable for use with LAPACK" (setq a ($float a)) - (let* ((array-type (if (complex-maxima-matrix-p a) + (let* ((array-type (if (or assume-complex-maxima-matrix-p (complex-maxima-matrix-p a)) '(complex flonum) 'flonum)) (mat (make-array (* nrow ncol) @@ -329,7 +329,7 @@ eigenvectors." w)))) (let* ((n (maxima-matrix-dims a)) - (a-mat (lapack-lispify-matrix a n n)) + (a-mat (lapack-lispify-matrix a n n t)) (w (make-array n :element-type '(complex flonum))) (vl (make-array (if left-vec-p (* n n) 0) :element-type '(complex flonum))) @@ -368,4 +368,4 @@ eigenvectors." (e-vec-left (if left-vec-p (lapack-maxify-matrix n n vl) nil))) - `((mlist) ,e-val ,e-vec-right ,e-vec-left)))))))) \ No newline at end of file + `((mlist) ,e-val ,e-vec-right ,e-vec-left)))))))) ----------------------------------------------------------------------- Summary of changes: share/lapack/eigensys.lisp | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- Maxima CAS |