summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2022-01-05 15:58:26 +0100
committerRicardo Wurmus <rekado@elephly.net>2022-01-05 21:17:58 +0100
commit9a89cee1b16fe4bfd66465481c4fc4fa12c75403 (patch)
treef578f64f76f71a52b8656678aecd54400ba3e395
parent231e33d636fd99236423b37cfbff1068e868f50e (diff)
downloadguix-9a89cee1b16fe4bfd66465481c4fc4fa12c75403.tar.gz
gnu: Add r-matrixextra.
* gnu/packages/cran.scm (r-matrixextra): New variable.
-rw-r--r--gnu/packages/cran.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 7abd3c5233..852d536c5e 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -23465,6 +23465,50 @@ additional functions that are comparable to APL functions which are useful for
 actuarial models such as pension mathematics.")
     (license license:gpl2+)))
 
+(define-public r-matrixextra
+  (package
+    (name "r-matrixextra")
+    (version "0.1.9-1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "MatrixExtra" version))
+       (sha256
+        (base32 "098apgqlncgxspa8mi4bx2nk5fbk3880whqiwkvydsfsqrbv1sj0"))))
+    (properties `((upstream-name . "MatrixExtra")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-float r-matrix r-rcpp r-rhpcblasctl))
+    (native-inputs
+     (list r-knitr))
+    (home-page "https://github.com/david-cortes/MatrixExtra")
+    (synopsis "Extra methods for sparse matrices")
+    (description
+     "This package extends sparse matrix and vector classes from the Matrix
+package by providing:
+
+@enumerate
+@item Methods and operators that work natively on CSR formats (compressed
+  sparse row, a.k.a. @code{RsparseMatrix}) such as slicing/sub-setting,
+  assignment, @code{rbind()}, mathematical operators for CSR and COO such as
+  addition or @code{sqrt()}, and methods such as @code{diag()};
+@item Multi-threaded matrix multiplication and cross-product for many
+  @code{<sparse, dense>} types, including the @code{float32} type from
+  @code{float};
+@item Coercion methods between pairs of classes which are not present in
+  @code{Matrix}, such as from @code{dgCMatrix} to @code{ngRMatrix}, as well as
+  convenience conversion functions;
+@item Utility functions for sparse matrices such as sorting the indices or
+  removing zero-valued entries;
+@item Fast transposes that work by outputting in the opposite storage format;
+@item Faster replacements for many @code{Matrix} methods for all sparse types,
+  such as slicing and elementwise multiplication.
+@item Convenience functions for sparse objects, such as @code{mapSparse} or a
+  shorter @code{show} method.
+@end enumerate
+")
+    (license license:gpl2+)))
+
 (define-public r-sem
   (package
     (name "r-sem")