ut3_corewise_frame ================== .. py:function:: t3toolbox.backend.ufv_conversions.ut3_corewise_frame(data) .. code-block:: python def ut3_corewise_frame( data: typ.Tuple[ NDArray, # tucker_supercore NDArray, # tt_supercore typ.Tuple[int, ...], # shape typ.Tuple[NDArray, NDArray], # (tucker_edge_mask, tt_edge_mask) ], ) -> typ.Tuple: # uniform frame .data = (U, G, G, G, shape, masks) The uniform **corewise** frame: the twin of :py:func:`t3_corewise_frame`, carrying the ``(U, G, G, G)`` supercores and the matching ``(tucker, tucker, tt, tt)`` frame mask set. The mask half is the part worth naming -- the corewise frame's four mask slots are the plain tensor's two, doubled, and getting that pairing wrong produces a frame that validates but gauges the wrong slots.