ab0d3102b5
- Added a build option 'ecl' (enabled by default) - The ecl binary and library will be in a subpkg maxima-ecl so this should not affect current users of maxima - new patches: - a0d7a43...: build a FASL library for ECL (this is merged upstream) - handle-multiple-ldflags.patch: otherwise compilation with multiple options in LDFLAGS fails (taken from debian) - matrixexp.patch: fixes an error in matrix exponentiation (taken from debian, this originates in sagemath) A weak point is that the library maxima.fas is installed in /usr/lib/ecl-${ecl_version} which is where ecl looks for them, but this doesn't seem right. Maybe an alternative would be to have the ecl package ship a symlink at /usr/lib/ecl pointing to the versioned directory, then have the maxima-ecl package place its library in the non-versioned directory.
23 lines
986 B
Diff
23 lines
986 B
Diff
Description: Fix error in matrix exponentiation
|
|
This patch was written by SageMath but not yet committed into Maxima releases.
|
|
However, it is needed for SageMath to work correctly:
|
|
.
|
|
https://git.sagemath.org/sage.git/tree/build/pkgs/maxima/patches/matrixexp.patch
|
|
Author: Peter Bruin <P.J.Bruin@math.leidenuniv.nl>
|
|
Bug-Sage: http://trac.sagemath.org/ticket/13973
|
|
Bug: https://sourceforge.net/p/maxima/bugs/2596/
|
|
---
|
|
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
|
--- 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))
|