wrap.spdk {Riemann} | R Documentation |
Prepare Data on SPD Manifold of Fixed-Rank
Description
When SPD matrices are of fixed-rank
, they form
a geometric structure represented by
matrices,
It's key difference from is that all matrices should be
of fixed rank
where
is usually smaller than
. Inputs are
given as
matrices with specified
and
wrap.spdk
automatically decomposes input square matrices into rank- representation matrices.
Usage
wrap.spdk(input, k)
Arguments
input |
data matrices to be wrapped as
|
k |
rank of the SPD matrices. |
Value
a named riemdata
S3 object containing
- data
a list of
representation of the corresponding rank-
SPSD matrices.
- size
size of each representation matrix.
- name
name of the manifold of interests, "spdk"
References
Journée M, Bach F, Absil P, Sepulchre R (2010). “Low-rank optimization on the cone of positive semidefinite matrices.” SIAM Journal on Optimization, 20(5), 2327–2351.
Examples
#-------------------------------------------------------------------
# Checker for Two Types of Inputs
#-------------------------------------------------------------------
# Data Generation
d1 = array(0,c(10,10,3))
d2 = list()
for (i in 1:3){
dat = matrix(rnorm(10*10),ncol=10)
d1[,,i] = stats::cov(dat)
d2[[i]] = d1[,,i]
}
# Run
test1 = wrap.spdk(d1, k=2)
test2 = wrap.spdk(d2, k=2)