UniformTuckerTensorTrain.t3svd#
- t3toolbox.uniform_tucker_tensor_train.UniformTuckerTensorTrain.t3svd(max_tt_ranks=None, max_tucker_ranks=None, assume_orthogonal=False)#
def t3svd(self, max_tt_ranks=None, max_tucker_ranks=None, assume_orthogonal=False):
Mask-truncated T3-SVD – the basic algorithm, matching ragged
TuckerTensorTrain.t3svd()on real parts. Always left-orthogonal; under truncation not necessarily minimal (userank_adjustment_sweep()to minimize).assume_orthogonal=Trueskips the orthogonalization, asserting the input is already right-orthogonal (verify withis_right_orthogonal()– not checked). Uniform truncates by max rank only – unlike raggedt3svdthere is nortol/atol(a tolerance would make the output shape data-dependent, which the uniform layer forbids; seedocs/uniform_ranks_and_varieties.md). Per-stack-elementmax_*_ranksarrays are allowed. Returns(new UT3, Tucker svals, TT svals).