ut3_operations#
Structural operations on uniform supercore data, and the uniform weighted-layer core ops.
ut3_squash_tails/ut3_reverse, stack/unstack + leaf structure, and the packing seam
(pack_vectors/unpack_vectors/is_packed/pack_if_ragged) behind the
packedness-mirror convention (user-facing ops mirror the input’s packedness).
The weighted layer (uniform twins of the ragged t3_*_weights ops, same module split):
ut3_absorb_weights / ut3_weights_consistent / ut3_reciprocal_weights /
ut3_sqrt_weights / ut3_concatenate_weights / ut3_kronecker_weights. Note this module does
not import the masking layer: weighting and masking are kept apart, and the shared mechanics they
both need (prefix_mask, require_concrete_masks) live in common
(docs/contributor/weighted_internals.md).
Functions#
Template marking one uniform-T3 |
|
|
Sum the leading/trailing TT bonds down to rank 1 (preserves the tensor), updating those edge |
|
Reverse the mode order (supercores, shape, and masks). Operates on the full .data tuple. |
|
Zero-pad and stack a sequence of (ragged-length) vectors into one supercore-shaped tensor. |
|
Slice a packed supercore-shaped tensor back into a tuple of (ragged-length) vectors. |
|
Whether mode |
|
Pack |
|
Unstack a uniform Tucker tensor train into an array-like tree of unstacked ones. |
|
Stack an array-like tree of uniform Tucker tensor trains into one. |
|
Contract diagonal edge weights into a uniform Tucker tensor train's supercores (shape-preserving). |
|
True iff |
|
Elementwise |
|
Elementwise |
|
Per-edge concatenation of two uniform weights -- the |
|
Per-edge Kronecker product of two uniform weights -- the Hadamard ( |