UniformCorewiseGeometryOps#

class t3toolbox.backend.geometry.UniformCorewiseGeometryOps#

Bases: t3toolbox.backend.common.ValueHashedFields

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

As CorewiseGeometryOps: the cores are the frame, no gauge, additive retraction; and as UniformManifoldGeometryOps, the rank structure is held here because the optimizer state is a bare supercore pair. The variation masks are a pure derivation of the plain masks here (the (U, G, G, G) frame’s gauge shift), so from_point needs no orthogonalization.

shape: t3toolbox.backend.common.typ.Tuple[int, ...]#
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 (see UniformManifoldGeometryOps.n_stack).

Return type:

int

property var_masks: t3toolbox.backend.common.typ.Tuple#

The variation masks of the (U, G, G, G) frame – the corewise frame’s mask set put through the gauge shift. A pure derivation of masks, so it is a property rather than a stored field.

Return type:

t3toolbox.backend.common.typ.Tuple

Methods#

from_point(x0_data[, sharing])

The geometry at x0's fixed rank.

with_sharing(sharing)

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

frame(x_sc)

The corewise frame: the cores themselves, with the doubled mask set.

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, G) the frame is attached to.

precompute(frame_data)

No per-frame companion on this geometry.

project(frame_data, var_sc[, aux])

The identity (Euclidean core space), or the per-group mean when tied.

retract(frame_data, var_sc[, aux])

The additive retraction (mean-tied first when shared, which keeps tied-in giving tied-out).

inner(a_sc, b_sc)

The MASKED coordinate <.,.> (the Euclidean metric here).

point_norm_sq(x_sc)

Σ‖core_i‖² in the masked coordinate metric -- weight decay.

point_tangent(frame_data)

The cores (U, G) as a tangent (the projection is the identity here).