Subject: [bug#76150] [PATCH 05/16] gnu: Add msolve.

From: Vinicius Monego <[email-masked]>
Date: Sun, 9 Feb 2025 01:52:22 +0000

* gnu/packages/maths.scm (msolve): New variable.

Change-Id: I8587f7527a6eb1cc9065751351491777c4cd00be
---
 gnu/packages/maths.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 47a81a510c..2c89451d0f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -7095,6 +7095,40 @@ (define-public lpsolve
 revised simplex and the branch-and-bound methods.")
     (license license:lgpl2.1+)))
 
+(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 and
+many other things you can do using msolve.
+@end itemize")
+    (license license:gpl2+)))
+
 ;; Private Trilinos package for dealii-openmpi (similar to
 ;; trilinos-serial-xyce and trilinos-parallel-xyce).
 ;; This version is the latest known to be compatible with deal.II [1].
-- 
2.48.1