Sparse inverse covariance selection¶
The following routines attempt to find a sparse inverse covariance matrix which could generate the given observations. This search is performed by attempting to solve the program
using the Alternating Direction Method of Multipliers.
The following functions were inspired by a simple ADMM solver due to Boyd et al. Elemental’s implementations make use of parallel (dense) linear algebra (including PMRRR for the symmetric tridiagonal eigensolver).
C++ API¶
-
Int
SparseInvCov
(const Matrix<F> &D, Base<F> lambda, Matrix<F> &Z, Base<F> rho = 1., Base<F> alpha = 1.2, Int maxIter = 500, Base<F> absTol = 1e-6, Base<F> relTol = 1e-4, bool progress = true)¶
-
Int
SparseInvCov
(const AbstractDistMatrix<F> &D, Base<F> lambda, AbstractDistMatrix<F> &Z, Base<F> rho = 1., Base<F> alpha = 1.2, Int maxIter = 500, Base<F> absTol = 1e-6, Base<F> relTol = 1e-4, bool progress = true)¶
Parameters
Input/Output
Explanation
D
Input
Observations
Z
Output
primal solution (second term)
lambda
Input
coefficient for vector-l1 penalty
rho
Input
augmented-Lagrangian parameter
alpha
Input
over-relaxation parameter (usually in \([1,1.8]\))
maxIter
Input
maximum number of ADMM iterations
absTol
Input
absolute convergence tolerance
relTol
Input
relative convergence tolerance
progress
Input
display detailed progress information?