Title: | 64-Bit Extension of the SPArse Matrix R Package 'spam' |
---|---|
Description: | Provides the Fortran code of the R package 'spam' with 64-bit integers. Loading this package together with the R package spam enables the sparse matrix class spam to handle huge sparse matrices with more than 2^31-1 non-zero elements. Documentation is provided in Gerber, Moesinger and Furrer (2017) <doi:10.1016/j.cageo.2016.11.015>. |
Authors: | Reinhard Furrer [aut, cre] , Florian Gerber [aut] , Roman Flury [aut] , Daniel Gerber [ctb], Kaspar Moesinger [ctb], Youcef Saad [ctb] (SPARSEKIT http://www-users.cs.umn.edu/~saad/software/SPARSKIT/), Esmond G. Ng [ctb] (Fortran Cholesky routines), Barry W. Peyton [ctb] (Fortran Cholesky routines), Joseph W.H. Liu [ctb] (Fortran Cholesky routines), Alan D. George [ctb] (Fortran Cholesky routines), Lehoucq B. Rich [ctb] (ARPACK), Maschhoff Kristi [ctb] (ARPACK), Sorensen C. Danny [ctb] (ARPACK), Yang Chao [ctb] (ARPACK) |
Maintainer: | Reinhard Furrer <[email protected]> |
License: | LGPL-2 | BSD_3_clause + file LICENSE |
Version: | 2.10-0 |
Built: | 2024-11-10 06:31:13 UTC |
Source: | CRAN |
Provides the Fortran code of the R package spam with 64-bit integers. Loading this package together with the R package spam enables the sparse matrix class spam to handle huge sparse matrices with more than 2^31-1 non-zero elements.
It is intended to use spam64 together with spam. To avoid
issues on 32-bit platforms we did not link the packages spam and
spam64 using dependencies.
Conversion between the structures happens when calling low-level
functions and for some other selected operations.
Some spam64 functions have been successfully tested with 64-bit
matrices.
However, we expect that some functions of spam do not work with
64-bit matrices (yet). Please do not hesitate to contact us via email
or https://git.math.uzh.ch/reinhard.furrer/spam in case you would
like to use a spam function with 64-bit matrices that is not working
properly in the current version.
Reinhard Furrer [aut, cre], Florian Gerber [aut], Roman Flury [aut]
and many contributors.
F. Gerber, K. Moesinger, R. Furrer (2017), Extending R packages to support 64-bit
compiled code: An illustration with spam64 and GIMMS NDVI3g data,
Computer & Geoscience 104, 109-119, https://doi.org/10.1016/j.cageo.2016.11.015.
spam64 uses the R package dotCall64 to call compiled code: F. Gerber, K. Moesinger, R. Furrer (2018), dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors. SoftwareX, 7, 217-221, https://doi.org/10.1016/j.softx.2018.06.002.
library("spam") library("spam64") tiny <- spam(1) pad(tiny) <- c(3,2^32) tiny str(tiny) # tiny matrix big time print(A <- spam_random(3)) options(spam.force64 = TRUE) # forcing 64-bit structure print( B <- spam_random(3)) A+B options(spam.force64 = FALSE) B # No operations, structure is preserved A+B # Lowlevel operation, structure is adapted
library("spam") library("spam64") tiny <- spam(1) pad(tiny) <- c(3,2^32) tiny str(tiny) # tiny matrix big time print(A <- spam_random(3)) options(spam.force64 = TRUE) # forcing 64-bit structure print( B <- spam_random(3)) A+B options(spam.force64 = FALSE) B # No operations, structure is preserved A+B # Lowlevel operation, structure is adapted