guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#56729] [RFC PATCH v3 25/32] gnu: maxima: Apply matrix exponentiatio


From: vicvbcun
Subject: [bug#56729] [RFC PATCH v3 25/32] gnu: maxima: Apply matrix exponentiation patch.
Date: Mon, 29 May 2023 22:38:34 +0200

* gnu/packages/patches/maxima-matrixexp.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register here.
* gnu/packages/maths.scm (maxima)[source]: Add patch.
---
 gnu/local.mk                                |  1 +
 gnu/packages/maths.scm                      |  1 +
 gnu/packages/patches/maxima-matrixexp.patch | 17 +++++++++++++++++
 3 files changed, 19 insertions(+)
 create mode 100644 gnu/packages/patches/maxima-matrixexp.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1a90c8d2e4..8f85825f56 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1551,6 +1551,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/mathjax-no-a11y.patch                   \
   %D%/packages/patches/mathjax-3.1.2-no-a11y.patch             \
   %D%/packages/patches/maxima-defsystem-mkdir.patch            \
+  %D%/packages/patches/maxima-matrixexp.patch                  \
   %D%/packages/patches/maxima-test-precision.patch             \
   %D%/packages/patches/maven-generate-component-xml.patch              \
   %D%/packages/patches/maven-generate-javax-inject-named.patch         \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 91027e9885..99c76cd224 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4359,6 +4359,7 @@ (define-public maxima
         (base32
          "01wbm8jj43p7gpdj4h55aij0b44bjydn4bwb7q1wjrfs91mz143k"))
        (patches (search-patches "maxima-defsystem-mkdir.patch"
+                                "maxima-matrixexp.patch"
                                 "maxima-test-precision.patch"))))
     (build-system gnu-build-system)
     (inputs
diff --git a/gnu/packages/patches/maxima-matrixexp.patch 
b/gnu/packages/patches/maxima-matrixexp.patch
new file mode 100644
index 0000000000..5123c176bb
--- /dev/null
+++ b/gnu/packages/patches/maxima-matrixexp.patch
@@ -0,0 +1,17 @@
+Taken from sagemath 9.8
+
+diff --git a/share/linearalgebra/matrixexp.lisp 
b/share/linearalgebra/matrixexp.lisp
+index 218bf35..f2fd468 100644
+--- a/share/linearalgebra/matrixexp.lisp
++++ b/share/linearalgebra/matrixexp.lisp
+@@ -138,8 +138,8 @@
+          (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))
++
++    (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))
-- 
2.40.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]