Robust principal component analysis¶
Robust principal component analysis (RPCA) seeks a decomposition of a matrix as a sum of a low-rank and sparse matrix, i.e.,
\[M = L + S,\]
where a balance is sought between the rank of \(L\) and the number of nonzeros in \(S\). Such a balance is (weakly) imposed via convex relaxations of penalties on the number of nonzero singular values of \(L\) and entries of \(S\) to their \(\ell_1\) counterparts. In particular, a solution is sought for the problem
\[\min_{L,S} \| L \|_* + \| \text{vec}(S) \|_1 \text{ such that } M = L + S,\]
where \(\| \cdot \|_*\) denotes the nuclear norm and \(\| \text{vec}(\cdot) \|_1\) denotes the entrywise one-norm.
C++ API¶
-
class
RPCACtrl
¶ -
bool
useALM
¶
-
bool
usePivQR
¶
-
bool
progress
¶
-
Real
tau
¶
-
Real
beta
¶
-
Real
rho
¶
-
Real
tol
¶
-
RPCACtrl
()¶
-
bool
-
void
RPCA
(const AbstractDistMatrix<F> &M, AbstractDistMatrix<F> &L, AbstractDistMatrix<F> &S, const RPCACtrl<Base<F>> &ctrl = RPCACtrl<Base<F>>())¶