# DDPCA_convex: Diagonally Dominant Principal Component Analysis using Convex... In ddpca: Diagonally Dominant Principal Component Analysis

## Description

This function decomposes a positive semidefinite matrix into a low rank component, and a diagonally dominant component by solving a convex relaxation using ADMM.

## Usage

 1 DDPCA_convex(Sigma, lambda, rho = 20, max_iter_convex = 50) 

## Arguments

 Sigma Input matrix of size n\times n lambda The parameter in the convex program that controls the rank of the low rank component rho The parameter used in each ADMM update. max_iter_convex Maximal number of iterations of ADMM update.

## Details

This function decomposes a positive semidefinite matrix Sigma into a low rank component L and a symmetric diagonally dominant component A, by solving the following convex program

\textrm{minimize} \quad 0.5*\|Σ - L - A\|^2 + λ \|L\|_{*}

where ||L||_{*} is the nuclear norm of L (sum of singular values) and SDD is the symmetric diagonally dominant cone.

## Value

A list containing the following items

 L The low rank component A The diagonally dominant component

## Author(s)

Fan Yang <[email protected]>

## References

Ke, Z., Xue, L. and Yang, F., 2019. Diagonally Dominant Principal Component Analysis. Journal of Computational and Graphic Statistics, under review.

DDPCA_nonconvex
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 library(MASS) p = 30 n = 30 k = 3 rho = 0.5 a = 0:(p-1) Sigma_mu = rho^abs(outer(a,a,'-')) Sigma_mu = (diag(p) + Sigma_mu)/2 # Now Sigma_mu is a symmetric diagonally dominant matrix mu = mvrnorm(n,rep(0,p),Sigma_mu) B = matrix(rnorm(p*k),nrow = p) F = matrix(rnorm(k*n),nrow = k) Y = mu + t(B %*% F) Sigma_sample = cov(Y) result = DDPCA_convex(Sigma_sample,lambda=3)