ManifoldGeometryOps#

class t3toolbox.backend.geometry.ManifoldGeometryOps#

Bases: t3toolbox.backend.common.ValueHashedFields

The fixed-rank T3 manifold geometry on raw (tucker_cores, tt_cores) data – the check-free twin of t3toolbox.manifold.MANIFOLD.

frame is the orthonormal frame (Algorithm 11), project the gauge projection Pi, retract the implicit truncated T3-SVD retraction, and inner the ragged coordinate dot (equal to Hilbert-Schmidt on an orthonormal, gauged frame). With a non-empty groups this is the SF-T3 geometry: precompute derives the per-frame companion (fv_shared_frame_data(), built once per local model), project composes the gauge projection with the tied post-pass, and retract builds the tied doubled-rank embedding and truncates with the grouped t3svd. inner / point_norm_sq / point_tangent are unaffected by tying (the tied subspace is linear, so the restriction of the metric is itself, and the base-point tangent has zero Tucker variations, hence is trivially tied).

groups: t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[int, ...], ...] = ()#

Methods#

with_sharing(sharing, shape)

This geometry restricted to tied Tucker factors (sharing=None gives it back unshared).

frame(x_cores)

The linearization frame at x_cores.

stack_shape(x_cores)

The point's frame stack C. Which axes are the stack is a layout question, so it belongs

base_point(frame)

The point X = (U, P) the frame is attached to. What a frame is belongs to the geometry,

precompute(frame)

The per-frame companion project / retract reuse -- the SF-T3 shared-frame data when

project(frame, variations[, aux])

The gauge projection Pi (plus the tied post-pass when shared). aux is this frame's

retract(frame, variations[, aux])

The manifold retraction: shift the doubled-rank embedding and truncate back to the frame

inner(a, b)

The coordinate <.,.> on tangents (Hilbert-Schmidt on an orthonormal, gauged frame),

point_norm_sq(x_cores)

‖X‖²_HS -- the regularizer's objective term; per-element over the stack ``C``

point_tangent(frame)

The attachment point as a gauged tangent v_X -- the regularizer's gradient direction.