edge_condition_numbers#

t3toolbox.backend.ranks.edge_condition_numbers(tucker_singular_values, tt_singular_values)#
def edge_condition_numbers(
        tucker_singular_values: typ.Sequence[NDArray],  # len=d,   elm_shape=(n_i,), descending
        tt_singular_values:     typ.Sequence[NDArray],  # len=d+1, elm_shape=(r_i,), descending
) -> typ.Tuple[
    typ.Tuple[float, ...],  # len=d,   Tucker edge condition numbers (kappa^Tucker)
    typ.Tuple[float, ...],  # len=d+1, TT edge condition numbers (kappa^TT); length-1 boundary bonds = 1.0
]:

Edge condition numbers kappa_i = sigma_{i,1} / sigma_{i,r_i} of the matrix unfoldings.

Section 5.4.1 of Alger et al. (2026), “Tucker Tensor Train Taylor Series” (arXiv:2603.21141): the ratio of the largest to the smallest retained singular value on each Tucker matricization and each TT unfolding, as returned by the implicit T3-SVD (TuckerTensorTrain.t3svd()). The two length-1 boundary TT bonds give 1.0. Degenerate-edge conventions keep the value defined on any iterate (including the zero tensor): an all-zero edge -> 1.0; a rank-deficient edge -> +inf.

Parameters:
  • tucker_singular_values (t3toolbox.backend.common.typ.Sequence[NDArray])

  • tt_singular_values (t3toolbox.backend.common.typ.Sequence[NDArray])

Return type:

t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[float, Ellipsis], t3toolbox.backend.common.typ.Tuple[float, Ellipsis]]