Skip to contents

Closed-form, data-centered base point for \(Gr(n, k)\): the subspace spanned by the k leading eigenvectors of the mean orthogonal projector \(\bar P = N^{-1} \sum_i U_i U_i^T\). This is the extrinsic (chordal) mean of the sample, which is close to the Fréchet mean when the data are concentrated. It is not guaranteed to avoid the cut locus of every sample point, which choose_base_point checks afterward.

Usage

auto_base_point_grassmann(X, n, k)

Arguments

X

A matrix or data frame of Grassmann data; rows are samples, with n * k columns (see manifold_grassmann).

n

Integer: dimension of the ambient space.

k

Integer: dimension of the subspaces, 1 <= k <= n - 1.

Value

Numeric vector of length n * k: the chosen base point, as as.vector(U0).

Examples

X <- exp_map_grassmann(matrix(rnorm(40, sd = 0.3), nrow = 10), diag(4)[, 1:2])
auto_base_point_grassmann(X, n = 4, k = 2)
#> [1] -0.05943536 -0.97302411 -0.21973579 -0.03751941  0.99074416 -0.06684052
#> [7]  0.04654016 -0.10859271