Fast computation of some matrices useful in statistics

Yet another R package for matrices. It contains a small set of functions to fast computation of some matrices and operations useful in statistics.
Features
Latest release (February 21, 2021) of fastmatrix package have implemented the following functions:
- Array multiplication (see for instance, Appendix A of Wei, 1998).
- C version of the Kronecker product which is slightly faster than the built in R base.
- Column-equilibration for rectangular matrices.
- Covariance matrix estimation using the Mean Square Successive (MSSD) method.
- Estimation of the weighted mean and covariance matrix using an online algorithm (Clarke, 1971).
- Fast computation of Hadamard product using unrolled loops.
- Gauss-Seidel, Jacobi and conjugate gradients (CG) iterative methods for solving linear systems.
- Geometric mean using a Fused-Multiply-and-Add (FMA) compensated scheme for accurate computation of floating-point product.
- Inner products and norms for matrices.
- Interface to C code callable by another C code from other R packages.
- LDL decomposition for symmetric real matrices.
- Lp norms for vectors.
- LU factorization for square matrices.
- Mahalanobis distances, checking if the covariance is a positive definite matrix.
- Operations envolving the commutation matrix, with minimum requeriments of storage.
- Operations envolving the duplication matrix, with minimum requeriments of storage.
- Operations envolving the symmetrizer matrix, with minimum requeriments of storage.
- Ordinary least-squares (OLS) using several methods: conjugate gradients, Cholesky, QR decomposition, singular value decomposition, and the Sweep operator. This provides an alternative to extend the procedures available in R built-in function ‘lm’.
- Power method to compute the dominant eigenvalue and its associated eigenvector.
- Ridge estimation for linear regression.
- Routines to compute measures of multivariate skewness and kurtosis proposed by Mardia (1970).
- Sherman-Morrison formula.
- Sweep operator for symmetric matrices.
- vec and vech operators to handle rectangular and square matrices.
- Wilson-Hilferty transformation for chi-squared random variables.
Our plan in the near future is the implementation of functions to handle:
- Elimination matrices.
- Some special matrices and operations arising in numerical analysis.
Reference Manual
Resources
Latest binaries and sources (development version) for fastmatrix are available here:
Version 0.3-81 of fastmatrix can be found at the CRAN package repository:
Installation instructions
To install fastmatrix (version 0.3-81) from CRAN, start R and enter:
install.packages("fastmatrix")
Or install it from its GitHub repository (development version). First install the devtools package.
install.packages("devtools")
Then install fastmatrix using the install_github
function in devtools
library(devtools)
install_github("faosorios/fastmatrix", subdir = "pkg")
Alternatively, you can download the source as a tarball (.tar.gz file). Unpack this file (thereby creating a directory named, fastmatrix) and install the package source by executing (at the console prompt)
Next, you can load the package by using the command: library(fastmatrix)
Providing Feedback
Please report any bugs/suggestions/improvements to Felipe Osorio. If you find these routines useful or not then please let me know. Also, acknowledgement of the use of the routines is appreciated.
To cite the fastmatrix package in publications use:
Osorio, F., Ogueda, A. (2021). fastmatrix: Fast computation of some matrices useful in statistics.
R package version 0.3-819. URL: faosorios.github.io/fastmatrix
About the Authors
Felipe Osorio is an Assistant Professor at Department of Mathematics, Universidad Tecnica Federico Santa Maria, Chile.
Alonso Ogueda is a student of the Master of Mathematics offered by the Department of Mathematics, Universidad Tecnica Federico Santa Maria, Chile.