fv_frame_orthogonality_residual#

t3toolbox.backend.fv_operations.fv_frame_orthogonality_residual(frame)#
def fv_frame_orthogonality_residual(
        frame: typ.Tuple[
            typ.Sequence[NDArray],  # up_tucker_cores
            typ.Sequence[NDArray],  # down_tt_cores
            typ.Sequence[NDArray],  # left_tt_cores
            typ.Sequence[NDArray],  # right_tt_cores
        ],
) -> NDArray:  # shape = stack_shape (per stack element; scalar/0-d when unstacked)

Max deviation from orthogonality of the four frame core families, per stack element.

Checks each stacked block’s gram against the identity:

  • up_tucker U_i (all i), outer/down D_i (all i),

  • left L_i (i=0..d-2), right R_i (i=1..d-1).

The last left core and first right core are boundary remainders and are not checked. Returns the max absolute deviation reduced over the non-stack axes (shape stack_shape); a caller thresholds it (<= atol) for a per-element boolean orthogonality test.

Parameters:

frame (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

Return type:

NDArray