'C++' classes for sparse matrix methods including implementation of sparse LDL decomposition of symmetric matrices and solvers described by Timothy A. Davis (2016) 
  <https://fossies.org/linux/SuiteSparse/LDL/Doc/ldl_userguide.pdf>. Provides a set of C++ classes for basic sparse
  matrix specification and linear algebra, and a class to implement sparse LDL decomposition and solvers. See <https://github.com/samuel-watson/SparseChol>
  for details.

A sparse covariance estimator based on different thresholding operators.

Implements the algorithm described in 
    Barron, M., Zhang, S. and Li, J. 2017, "A sparse differential
    clustering algorithm for tracing cell type changes via single-cell
    RNA-sequencing data", Nucleic Acids Research, gkx1113,
    <doi:10.1093/nar/gkx1113>. This algorithm clusters samples from two
    different populations, links the clusters across the conditions and
    identifies marker genes for these changes. The package was designed for
    scRNA-Seq data but is also applicable to many other data types, just
    replace cells with samples and genes with variables. The package also
    contains functions for estimating the parameters for SparseDC as outlined
    in the paper. We recommend that users further select their marker genes
    using the magnitude of the cluster centers.

Implementation of various estimation methods for dynamic factor models (DFMs) including principal components analysis (PCA) Stock and Watson (2002) <doi:10.1198/016214502388618960>, 2Stage Giannone et al. (2008) <doi:10.1016/j.jmoneco.2008.05.010>, expectation-maximisation (EM) Banbura and Modugno (2014) <doi:10.1002/jae.2306>, and the novel EM-sparse approach for sparse DFMs Mosley et al. (2023) <arXiv:2303.11892>. Options to use classic multivariate Kalman filter and smoother (KFS) equations from Shumway and Stoffer (1982) <doi:10.1111/j.1467-9892.1982.tb00349.x> or fast univariate KFS equations from Koopman and Durbin (2000) <doi:10.1111/1467-9892.00186>, and options for independent and identically distributed (IID) white noise or auto-regressive (AR(1)) idiosyncratic errors. Algorithms coded in 'C++' and linked to R via 'RcppArmadillo'.