Skip to content

furrer-lab/spam

Repository files navigation

spam / spam64

This repository contains the sources for two R packages developed together:

  • spam — sparse matrix algebra for spatial statistics and Gaussian Markov random fields. See spam/README.md for installation, a quickstart, and citation info, and the pkgdown site for full documentation.
  • spam64 — a 64-bit companion to spam, recompiling its Fortran code with 64-bit integers to support matrices with more than 2^31-1 non-zero elements. See spam64/README.md.

The two packages share Fortran sources (via spam_kinds) and are versioned, built, and checked together from this repo.

Contributing

See CONTRIBUTING.md for coding conventions and the build/check/release workflow (the Makefile targets: make check, make tar, make pkgdown, make check-dependencies, and more).

For open ideas, performance improvements, and design questions not yet scoped into GitHub issues, see WISHLIST.md.

Please note that the spam project is released with a Contributor Covenant Code of Conduct. By contributing to this project, you agree to abide by its terms.

Citation

citation("spam")
citation("spam64")

Furrer, R. and Sain, S. R. (2010). spam: A Sparse Matrix R Package with Emphasis on MCMC Methods for Gaussian Markov Random Fields. Journal of Statistical Software, 36(10), 1-25. doi:10.18637/jss.v036.i10

Gerber, F., Moesinger, K. and Furrer, R. (2017). Extending R packages to support 64-bit compiled code: An illustration with spam64 and GIMMS NDVI3g data. Computers & Geosciences. doi:10.1016/j.cageo.2016.11.015

License

Both packages are licensed under LGPL-2; bundled ARPACK routines are BSD-3-Clause (Rice University). See each package's LICENSE file.

About

spam and spam64: High-performance R packages for sparse matrix operations tailored to spatial statistics—specifically optimized for handling large sparse covariance and precision matrices using direct and iterative solvers.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages