ut3_linalg#

Linear algebra on uniform supercores (dense-tensor semantics) with mask bookkeeping.

ut3_scale/ut3_add/ut3_sum_stack/ut3_inner_product/ut3_norm_orthogonalized, plus the weighted-layer ut3_weighted_norm/ut3_weighted_inner (uniform twins of t3_weighted_norm/ t3_weighted_inner). Output masks follow the rank recurrences (add = mask concatenation) on the host (np), while the supercores flow through xnp (docs/uniform_masks_vs_ranks.md).

Functions#

ut3_scale(x, s)

Scale a uniform Tucker tensor train by a scalar (scales the last Tucker supercore slice; shape and

ut3_add(x, y)

Add two uniform Tucker tensor trains (direct sum): concatenate Tucker supercores along the rank

ut3_sum_stack(x)

Sum the represented dense tensors over the whole stack (the genuine tensor sum, not a corewise

ut3_inner_product(x, y)

Hilbert-Schmidt inner product of two uniform Tucker tensor trains. Masks (zero padding) and

ut3_norm_orthogonalized(x)

Hilbert-Schmidt norm of an already-left-orthogonalized uniform T3 (the frontend left-orthogonalizes

ut3_weighted_norm(x, weights[, use_orthogonalization])

Weighted Hilbert-Schmidt norm of a uniform Tucker tensor train -- the norm of the fully-weighted

ut3_weighted_inner(x_A, weights_A, x_B, weights_B[, ...])

Weighted Hilbert-Schmidt inner product <absorb(A, weights_A), absorb(B, weights_B)> of two