Source code for geometry.manifolds.todo.stiefel
from contracts import contract
from geometry.manifolds.differentiable_manifold import DifferentiableManifold
[docs]class NonCompactStiefel(DifferentiableManifold):
''' INCOMPLETE -- Matrices of fixed rank. '''
@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
'''
DifferentiableManifold.__init__(self)
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 normalize(self, x):
assert False