UniformManifoldGeometry.retract#

t3toolbox.uniform_manifold.UniformManifoldGeometry.retract(p)#
def retract(
        self,
        p:  UT3Tangent,   # step (a tangent at the current point's frame)
) -> ut3.UniformTuckerTensorTrain:  # retracted point on M, at p's frame ranks

Retract the step p to the manifold: shifted doubled-rank embedding, truncated to frame ranks.

Forms base point + p and truncates back to p’s frame ranks via the implicit uniform T3-SVD (Algorithm 10). The current point is carried by p.frame, so no separate point argument is needed. Safe mode requires p’s frame orthogonal (raises otherwise; skipped under safety.unsafe() / a jax trace). ORTH only – retract is gauge-invariant; minimal rank is a documented caveat.

Parameters:

p (UT3Tangent)

Return type:

UniformTuckerTensorTrain