Skip to contents

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.

Value

an object from one of the above by type option.

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")