ManifoldGeometry.retract#
- t3toolbox.manifold.ManifoldGeometry.retract(p)#
def retract( self, p: T3Tangent, # step (a tangent at the current point's frame) ) -> t3.TuckerTensorTrain: # retracted point on M, at p's frame ranks
Retract the step
pto the manifold: shifted doubled-rank embedding, truncated to frame ranks.Forms
base point + pand truncates back top’s frame ranks via the implicit T3-SVD (Algorithm 10). The current point is carried byp.frame(its orthonormal frame), so no separate point argument is needed.Safe mode requires
p’s frame to be orthogonal (raises otherwise); skipped undersafety.unsafe()/ a jax trace. ORTH only – retract is gauge-invariant. Minimal rank is a documented caveat, not a precondition: on a non-minimal frame retract stays a valid first-order retraction but drops the numerically-redundant rank rather than preserving it strictly (docs/numerical_contracts.md).- Parameters:
p (T3Tangent)
- Return type: