CorewiseGeometry.retract#

t3toolbox.manifold.CorewiseGeometry.retract(p)#
def retract(
        self,
        p:  T3Tangent,  # step (a corewise tangent at frame = (U, G, G, G))
) -> t3.TuckerTensorTrain:  # additive retraction: cores += p

Additive retraction: add the variation cores to the point’s cores (cores += p).

Recovers the point (U, G) from p.frame (which frame() built as (U, G, G, G)) and adds the variations. p must be a corewise tangent (a frame from frame()).

A MANIFOLD-frame tangent is rejected whenever that is structurally detectable (its down/left slots hold different cores, e.g. a slack frame with nD != nU – review H3-8); when the manifold frame happens to have identically-shaped slots the two frame kinds are structurally indistinguishable, and pairing each geometry with its own frames is the caller’s contract.

Parameters:

p (T3Tangent)

Return type:

TuckerTensorTrain