summaryrefslogtreecommitdiff
path: root/math/maxima/files/extra-patch-share_linearalgebra_matrixexp.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'math/maxima/files/extra-patch-share_linearalgebra_matrixexp.lisp')
-rw-r--r--math/maxima/files/extra-patch-share_linearalgebra_matrixexp.lisp14
1 files changed, 14 insertions, 0 deletions
diff --git a/math/maxima/files/extra-patch-share_linearalgebra_matrixexp.lisp b/math/maxima/files/extra-patch-share_linearalgebra_matrixexp.lisp
new file mode 100644
index 000000000000..151d0776760b
--- /dev/null
+++ b/math/maxima/files/extra-patch-share_linearalgebra_matrixexp.lisp
@@ -0,0 +1,14 @@
+--- share/linearalgebra/matrixexp.lisp.orig 2019-10-21 03:38:58 UTC
++++ share/linearalgebra/matrixexp.lisp
+@@ -138,8 +138,9 @@
+ (print `(ratvars = ,$ratvars gcd = '$gcd algebraic = ,$algebraic))
+ (print `(ratfac = ,$ratfac))
+ (merror "Unable to find the spectrum")))
+-
+- (setq res ($fullratsimp (ncpower (sub (mult z ($ident n)) mat) -1) z))
++
++;; patch borrowed from SageMath
++ (setq res ($fullratsimp ($invert_by_lu (sub (mult z ($ident n)) mat) '$crering) z))
+ (setq m (length sp))
+ (dotimes (i m)
+ (setq zi (nth i sp))