summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorVinicius Monego <[email protected]>2025-02-09 01:52:22 +0000
committerAndreas Enge <[email protected]>2025-02-10 14:27:57 +0100
commit1c577237b1a2b8e81e91515d6030b772f181981b (patch)
treefc81c3bd436f69b2fe9780f94b0ab5359183029a /gnu
parent66b01927f861cce20ea6b6f07a885fe02615bb6d (diff)
gnu: Add msolve.
* gnu/packages/algebra.scm (msolve): New variable. Change-Id: I8587f7527a6eb1cc9065751351491777c4cd00be Signed-off-by: Andreas Enge <[email protected]>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/algebra.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 7d82e280d5..9b9610f33a 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -2037,3 +2037,36 @@ gnuplot program, if installed, to draw figures.")
(license (license:non-copyleft "file://README"
"See README in the distribution."))))
+(define-public msolve
+ (package
+ (name "msolve")
+ (version "0.7.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/algebraic-solving/msolve")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ipsdw5sk4d344ki4r5ma9vn8gyi8hrk0n951r0720wvgxkw920p"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
+ (inputs (list flint gmp mpfr))
+ (home-page "https://msolve.lip6.fr/")
+ (synopsis
+ "Library for polynomial system solving through algebraic methods")
+ (description "@code{msolve} is a C library implementing computer algebra
+algorithms for solving polynomial systems (with rational coefficients or
+coefficients in a prime field).
+
+Currently, with msolve, you can basically solve multivariate polynomial
+systems. This encompasses:
+
+@itemize
+@item the computation of Groebner bases
+@item real root isolation of the solutions to polynomial systems
+@item the computation of the dimension and the degree of the solution set.
+@end itemize")
+ (license license:gpl2+)))
+