Generate Uniform Samples on Grassmann Manifold
Source:R/special_grassmann_runif.R
grassmann.runif.Rd
It generates \(n\) random samples from Grassmann manifold \(Gr(k,p)\).
Usage
grassmann.runif(n, k, p, type = c("list", "array", "riemdata"))
Arguments
- n
number of samples to be generated.
- k
dimension of the subspace.
- p
original dimension (of the ambient space).
- type
return type;
"list"
a length-\(n\) list of \((p\times k)\) basis of \(k\)-subspaces.
"array"
a \((p\times k\times n)\) 3D array whose slices are \(k\)-subspace basis.
"riemdata"
a S3 object. See
wrap.grassmann
for more details.
References
Chikuse Y (2003). Statistics on Special Manifolds, volume 174 of Lecture Notes in Statistics. Springer New York, New York, NY. ISBN 978-0-387-00160-9 978-0-387-21540-2.
Examples
#-------------------------------------------------------------------
# Draw Samples on Grassmann Manifold
#-------------------------------------------------------------------
# Multiple Return Types with 3 Observations of 5-dim subspaces in R^10
dat.list = grassmann.runif(n=3, k=5, p=10, type="list")
dat.arr3 = grassmann.runif(n=3, k=5, p=10, type="array")
dat.riem = grassmann.runif(n=3, k=5, p=10, type="riemdata")