aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorFelix Gruber <felgru@posteo.net>2023-11-04 15:05:56 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-01-21 17:18:29 +0000
commit5f93aa182a32e4baecc6238c21d2538af0b18ad3 (patch)
treed020087c5b56ae6d096d7d86f338da43066b5fc1 /gnu
parent121de47decc1029c06f6e46e5f06d7fefe8e85ec (diff)
downloadguix-5f93aa182a32e4baecc6238c21d2538af0b18ad3.tar.gz
guix-5f93aa182a32e4baecc6238c21d2538af0b18ad3.zip
gnu: Add python-pyamg.
* gnu/packages/python-science.scm (python-pyamg): New variable. Change-Id: Ibf39fecd14d4e6fd72078b217737e5e5cbbf2321 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-science.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 3422302a87..ed3a19f1b3 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -457,6 +457,41 @@ volume computations for simple domains like regular polygons, disks,
spheres, cubes, etc.")
(license license:gpl3+)))
+(define-public python-pyamg
+ (package
+ (name "python-pyamg")
+ (version "5.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyamg" version))
+ (sha256
+ (base32
+ "0l3dliwynxyjvbgpmi2k8jqvkkw6fc00c8w69h6swhrkfh0ql12z"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; Test installed package in order to find C++ modules.
+ #~(list "--pyargs" "pyamg.tests")))
+ (native-inputs (list pybind11 python-pytest python-setuptools-scm))
+ (propagated-inputs (list python-numpy python-scipy))
+ (home-page "https://github.com/pyamg/pyamg")
+ (synopsis "Algebraic Multigrid Solvers in Python")
+ (description "PyAMG is a Python library of Algebraic Multigrid
+(AMG) solvers.
+
+PyAMG features implementations of:
+@itemize
+@item Ruge-Stuben (RS) or Classical AMG
+@item AMG based on Smoothed Aggregation (SA)
+@item Adaptive Smoothed Aggregation (αSA)
+@item Compatible Relaxation (CR)
+@item Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc.
+@end itemize
+PyAMG is primarily written in Python with supporting C++ code for
+performance critical operations.")
+ (license license:expat)))
+
(define-public python-tspex
(package
(name "python-tspex")