UniformManifoldGeometryOps#

class t3toolbox.backend.geometry.UniformManifoldGeometryOps#

Bases: t3toolbox.backend.common.ValueHashedFields

The uniform manifold geometry at a fixed rank – the raw-supercore twin of t3toolbox.uniform_manifold.UNIFORM_MANIFOLD.

The uniform layer’s optimizer state is a bare (tucker_supercore, tt_supercore) pair, so the rank structure the operations need – the mode shape, the plain-UT3 masks, and the variation var_masks – lives here instead, loop-invariant and value-hashed (docs/uniform_backend_jit_recipe.md: hold the masks as state, trace only the supercores). Build it from the point you are about to optimize with from_point().

The uniform layer requires a minimal-rank start (uniform_minimal()): from a non-minimal frame the retraction truncates to the realizable rank, which no longer matches the fixed masks held here.

shape: t3toolbox.backend.common.typ.Tuple[int, ...]#
masks: t3toolbox.backend.common.typ.Tuple#
var_masks: t3toolbox.backend.common.typ.Tuple#
groups: t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[int, ...], ...] = ()#
property n_stack: int#

|C|, the frame stack rank (0 for a single tensor). The tucker edge mask is (d,) + C + (n,), so the stack is everything between.

Return type:

int

Methods#

from_point(x0_data[, sharing])

The geometry at x0's fixed rank. The variation masks come from x0's orthogonal

with_sharing(sharing)

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

frame(x_sc)

The orthonormal frame at x_sc, using this geometry's held shape and rank masks.

stack_shape(x_sc)

The point's frame stack C. The uniform Tucker supercore is (d,) + C + (nU, N).

base_point(frame_data)

The bare supercore pair (U, P) the frame is attached to.

precompute(frame_data)

The per-frame SF-T3 companion when tied, None otherwise (see

project(frame_data, var_sc[, aux])

The gauge projection Pi (plus the tied post-pass when shared); bare pair in and out.

retract(frame_data, var_sc[, aux])

The manifold retraction (the tied embedding + grouped SVD when shared); bare pair out.

inner(a_sc, b_sc)

The MASKED coordinate <.,.> over bare variation pairs, so padding is never summed.

point_norm_sq(x_sc)

‖X‖² = ‖v_X‖² in the masked coordinate metric.

point_tangent(frame_data)

The attachment point as a gauged tangent v_X (the direct construction).