ut3_norm#

t3toolbox.backend.ut3_linalg.ut3_norm(x, use_orthogonalization=True)#
def ut3_norm(
        x:  UT3Data,                                  # (tucker_supercore, tt_supercore, shape, masks)
        use_orthogonalization: bool = True,           # True (default): orthogonalize first -- the stable path
) -> NDArray:                                         # HS norm ‖T(x)‖, shape=stack_shape

Hilbert-Schmidt norm of a uniform Tucker tensor train – the twin of the ragged t3_norm. use_orthogonalization=True (default) left-orthogonalizes first and reads the last core’s norm (numerically stable; the zipper alternative accumulates roundoff along the chain); its jax derivative is the exact multilinear rule above, so jax.grad through it is finite on any padded train. False is the raw zipper sqrt(<x, x>) (cheaper, less stable; differentiable by plain autodiff).

Parameters:
  • x (UT3Data)

  • use_orthogonalization (bool)

Return type:

NDArray