ut3_weighted_inner#
- t3toolbox.backend.ut3_linalg.ut3_weighted_inner(x_A, weights_A, x_B, weights_B, use_orthogonalization=True)#
def ut3_weighted_inner( x_A: UT3Data, # (tucker_supercore, tt_supercore, shape, masks) of A weights_A: ut3_operations.UT3WeightsData, # weights of A x_B: UT3Data, # (tucker_supercore, tt_supercore, shape, masks) of B weights_B: ut3_operations.UT3WeightsData, # weights of B use_orthogonalization: bool = True, # for numerical stability ) -> NDArray: # weighted HS inner, shape=stack_shape
Weighted Hilbert-Schmidt inner product
<absorb(A, weights_A), absorb(B, weights_B)>of two weighted uniform Tucker tensor trains. Uniform twin oft3_weighted_inner.A and B must share physical
shape(the same ambient space); their ranks, masks and weights may differ from each other. Each operand’s weights must match its own object’s masks (ut3_weights_consistent()); the frontend enforces it.- Parameters:
x_A (UT3Data)
weights_A (t3toolbox.backend.ut3_operations.UT3WeightsData)
x_B (UT3Data)
weights_B (t3toolbox.backend.ut3_operations.UT3WeightsData)
use_orthogonalization (bool)
- Return type: