ufv_operations#
Stateless stack/unstack for the uniform frame-variations layer (UT3Frame / UT3Variations).
Mirror of ut3_operations.ut3_unstack / ut3_stack for the bv .data layout
(*supercores, shape, masks), generic over the supercore count (4 for a frame, 2 for variations;
both carry the SAME 4-tuple of rank masks). The stack lives at axes 1 .. len(stack_shape) (axis 0 is
the mode index d, NOT a stack axis); the supercores and all four masks unstack along it, while the
int-tuple shape is shared and woven onto every leaf. The masks’ differing leading axis (d vs
d+1) is irrelevant – only axes 1..k are sliced.
Functions#
|
Template marking one bv |
|
Unstack a bv |
|
Stack an array-like tree of bv |
|
Unstack a (stacked) bv |
|
Stack an array-like tree of bv |
|
Sum a UT3Variations over stack axes (a batch of tangents -> their sum; corewise == tangent sum by |
|
Reverse the mode order of a UT3Frame |
|
Reverse the mode order of a UT3Variations |
|
Save a bv |
|
Load a bv |
Max deviation of the four masked frame supercores from orthonormality, per stack element (shape |
|
|
Absorb the four-family metric weights into the VARIATION supercores -- the uniform twin of |
|
True iff the four weight families fit |
|
Build uniform frame weights (a tangent metric) from uniform base-point edge weights -- the twin of |
|
Elementwise |
|
Elementwise |
|
Per-edge concatenation of two frame-weight 4-tuples (the |
|
Per-edge Kronecker product of two frame-weight 4-tuples (the Hadamard combine; ranks multiply). |