Learn R Programming

RiemBase (version 0.2.5)

rbase.pdist: Pairwise Geodesic Distances of a Data Set

Description

Geodesic distance \(\rho(x,y)\) is the length of (locally) shortest path connecting two points \(x,y\in\mathcal{M}\). Some manifolds have closed-form expression, while others need numerical approximation.

Usage

rbase.pdist(input, parallel = FALSE)

Arguments

input

a S3 object of riemdata class, whose $data element is of length \(n\). See riemfactory for more details.

parallel

a flag for enabling parallel computation.

Value

an \((n\times n)\) matrix of pairwise distances.

Examples

Run this code
# NOT RUN {
### Generate 10 2-frames in R^4
ndata = 10
data = array(0,c(4,2,ndata))
for (i in 1:ndata){
  tgt = matrix(rnorm(4*4),nrow=4)
  data[,,i] = qr.Q(qr(tgt))[,1:2]
}

## Compute Pairwise Distances as if for Grassmann and Stiefel Manifold
A = rbase.pdist(riemfactory(data,name="grassmann"))
B = rbase.pdist(riemfactory(data,name="stiefel"))

## Visual Comparison in Two Cases
opar = par(no.readonly=TRUE)
par(mfrow=c(1,2))
image(A, col=gray((0:100)/100), main="Grassmann")
image(B, col=gray((0:100)/100), main="Stiefel")
par(opar)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab