Learn R Programming

snQTL (version 0.2)

solvePMD: Solving symmetric Penalized Matrix Decomposition

Description

An iterative algorithm that solves the Sparse Principal Component Analysis problem: given a positive definite matrix A: $$max_{v} v^T A v$$ subject to $$||v||_2 \leq 1, ||v||_1 \leq s$$ The solution v is the sparse leading eigenvector, and the corresponding objective \(v^T A v\) is the sparse leading eigenvalue.

Usage

solvePMD(x, sumabsv, v, niter = 50, trace = TRUE)

Value

A list containing the following components:

v

the sparse leading eigenvector v

d

the sparse leading eigenvalue \(d=v^T A v\)

v.init

the initial value of v

Arguments

x

p-by-p matrix, symmetric and positive definite

sumabsv

the upperbound of the L_1 norm of \(v\), controlling the sparsity of solution. Must be between 1 and \(sqrt(p)\).

v

the starting value of the algorithm.

niter

number of iterations to perform the iterative optimizations

trace

whether to print tracing info during optimization

See Also

symmPMD().