ut3_weighted_inner ================== .. py:function:: t3toolbox.backend.ut3_linalg.ut3_weighted_inner(x_A, weights_A, x_B, weights_B, use_orthogonalization = True) .. code-block:: python 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 ```` of two weighted uniform Tucker tensor trains. Uniform twin of ``t3_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 (:py:func:`~t3toolbox.backend.ut3_operations.ut3_weights_consistent`); the frontend enforces it.