Source code for geometry.manifolds.todo.grassman

from contracts import contract
from geometry.manifolds.differentiable_manifold import DifferentiableManifold


[docs]class Grassman(DifferentiableManifold): ''' INCOMPLETE -- The Grassman manifold Grass(n,p) is the set of rank-p subspaces in R^n. It is seen here as Grass(n,p) = ST(n,p)/GL_p. For a reference, see the paper by Absil, Mahony, and Sepulchre (2004) where all these operations are explained. Also their book should contain essentially the same info, but with more background. ''' @contract(n='N,N>0', p='P,P>0,P<=N') def __init__(self, p, n): ''' Initializes the manifold structure. :param n: dimension of space :param p: rank of subspace ''' self.n = n self.p = p
[docs] def belongs(self, a): assert False
[docs] def distance(self, a, b): assert False
[docs] def logmap(self, a, b): assert False
[docs] def expmap(self, a, vel): assert False
[docs] def project_ts(self, base, vx): assert False
[docs] def sample_uniform(self): assert False
[docs] def normalize(self, x): assert False