aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/algebra.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/algebra.scm')
-rw-r--r--gnu/packages/algebra.scm93
1 files changed, 72 insertions, 21 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index b78e6ef304..0da33a0156 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,6 +44,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
@@ -153,7 +155,7 @@ line applications.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fplll/fplll.git")
+ (url "https://github.com/fplll/fplll")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -203,7 +205,7 @@ the real span of the lattice.")
;; Github instead.
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fplll/fpylll.git")
+ (url "https://github.com/fplll/fpylll")
(commit (string-append version "dev"))))
(file-name (git-file-name name version))
(sha256
@@ -271,7 +273,7 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
- (version "0.0.11pl3")
+ (version "0.0.11pl4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -279,7 +281,7 @@ PARI is also available as a C library to allow for faster computations.")
version ".tar.gz"))
(sha256
(base32
- "0yymbrgyjw500hqgmkj5m4nmscd7c9rs9w2c96lxgrcyab8krhrm"))))
+ "1cnnh7diqc97q76q5pyhpbljbhc0sz8mlrbqgiwi0sjkgh8iqsj0"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
@@ -349,7 +351,7 @@ precision.")
(define-public giac
(package
(name "giac")
- (version "1.5.0-87")
+ (version "1.6.0-7")
(source
(origin
(method url-fetch)
@@ -361,7 +363,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
- (base32 "1d0h1yb7qvh9x7wwv9yrzmcp712f49w1iljkxp4y6g9pzsmg1mmv"))))
+ (base32 "1pvgp137zcl0rbhdn1j41xxfml7fp771a7x4ph8qrhhlx0hxzn3p"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@@ -401,7 +403,7 @@ precision.")
(delete-file (string-append out "/bin/xcasnew"))
#t))))))
(inputs
- ;;; TODO: Add libnauty.
+;;; TODO: Add libnauty.
`(("fltk" ,fltk)
("glpk" ,glpk)
("gmp" ,gmp)
@@ -438,16 +440,17 @@ or text interfaces) or as a C++ library.")
(define-public flint
(package
(name "flint")
- (version "2.5.2")
+ (version "2.6.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://flintlib.org/flint-"
version ".tar.gz"))
(sha256 (base32
- "11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb"))
- (patches (search-patches "flint-ldconfig.patch"))))
+ "0h08a71kn8347zsqjamqnmrxjpsnnzpmhvxb6d2xmfrcs6nyv2ch"))))
(build-system gnu-build-system)
+ (inputs
+ `(("ntl" ,ntl)))
(propagated-inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr))) ; header files from both are included by flint/arith.h
@@ -455,17 +458,24 @@ or text interfaces) or as a C++ library.")
`(#:parallel-tests? #f ; seems to be necessary on arm
#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'newer-c++
+ (lambda _
+ (substitute* "configure"
+ (("-ansi") ""))
+ #t))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gmp (assoc-ref inputs "gmp"))
- (mpfr (assoc-ref inputs "mpfr")))
+ (mpfr (assoc-ref inputs "mpfr"))
+ (ntl (assoc-ref inputs "ntl")))
;; do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-gmp=" gmp)
- (string-append "--with-mpfr=" mpfr))
+ (string-append "--with-mpfr=" mpfr)
+ (string-append "--with-ntl=" ntl))
#t))))))
(synopsis "Fast library for number theory")
(description
@@ -485,16 +495,16 @@ fast arithmetic.")
(define-public arb
(package
(name "arb")
- (version "2.17.0")
+ (version "2.18.1")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fredrik-johansson/arb.git")
+ (url "https://github.com/fredrik-johansson/arb")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"))))
+ "15fx3dcbzgwddw9p1nysmx0dbh058afv5m8cj5pdjkcmcl7kw7z9"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
@@ -533,7 +543,7 @@ real and complex numbers, with automatic, rigorous error control.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fredrik-johansson/python-flint.git")
+ (url "https://github.com/fredrik-johansson/python-flint")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -726,7 +736,7 @@ syntax is similar to that of C, so basic usage is familiar. It also includes
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/extemporelang/kiss_fft.git")
+ (url "https://github.com/extemporelang/kiss_fft")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -832,7 +842,7 @@ cosine/ sine transforms or DCT/DST).")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/vkostyukov/la4j.git")
+ (url "https://github.com/vkostyukov/la4j")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
@@ -946,6 +956,46 @@ minimization and curve fitting. It is mature code, based on decades-old
algorithms from the FORTRAN library MINPACK.")
(license license:bsd-2)))
+(define-public symengine
+ (package
+ (name "symengine")
+ (version "0.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/symengine/symengine")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "129iv9maabmb42ylfdv0l0g94mcbf3y4q3np175008rcqdr8z6h1"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; These are the suggested build options in the README.
+ '("-DCMAKE_BUILD_TYPE=Release"
+ "-DWITH_GMP=on"
+ "-DWITH_MPFR=on"
+ "-DWITH_MPC=on"
+ "-DINTEGER_CLASS=flint"
+ "-DWITH_LLVM=on"
+ "-DWITH_SYMENGINE_THREAD_SAFE=on"
+ "-DBUILD_SHARED_LIBS=on"))) ;also build libsymengine
+ (native-inputs
+ `(("llvm" ,llvm)))
+ (inputs
+ `(("flint" ,flint)
+ ("gmp" ,gmp)
+ ("mpc" ,mpc)
+ ("mpfr" ,mpfr)))
+ (home-page "https://github.com/symengine/symengine")
+ (synopsis "Fast symbolic manipulation library")
+ (description
+ "SymEngine is a standalone fast C++ symbolic manipulation library.
+Optional thin wrappers allow usage of the library from other languages.")
+ (license (list license:expat ;SymEngine
+ license:bsd-3)))) ;3rd party code
+
(define-public eigen
(package
(name "eigen")
@@ -1033,7 +1083,7 @@ features, and more.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/QuantStack/xtensor.git")
+ (url "https://github.com/QuantStack/xtensor")
(commit version)))
(sha256
(base32
@@ -1314,14 +1364,15 @@ algebra, such as the row echelon form.")
(file-name (git-file-name name version))
(sha256
(base32
- "10j6dspbsq7d2l4q3y0c1l1xwmaqqba2fxg59q5bhgk9h5d7q571"))))
+ "10j6dspbsq7d2l4q3y0c1l1xwmaqqba2fxg59q5bhgk9h5d7q571"))
+ (patches (search-patches "linbox-fix-pkgconfig.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
- (inputs
+ (propagated-inputs
`(("fflas-ffpack" ,fflas-ffpack)))
(synopsis "C++ library for linear algebra over exact rings")
(description