tv_to_dense#

t3toolbox.backend.tv_operations.tv_to_dense(frame, variations, include_shift=False)#
def tv_to_dense(
        frame:      typ.Tuple[
            typ.Sequence[NDArray],  # up_tucker_cores
            typ.Sequence[NDArray],  # down_tt_cores
            typ.Sequence[NDArray],  # left_tt_cores
            typ.Sequence[NDArray],  # right_tt_cores
        ],
        variations: typ.Tuple[
            typ.Sequence[NDArray],  # tucker_variations
            typ.Sequence[NDArray],  # tt_variations
        ],
        include_shift:  bool = False,  # False: tangent vector v. True: base point + v.
) -> NDArray:  # dense tangent vector. shape=stack_shape+(N0,...,N(d-1))

Form the dense tensor represented by a frame-variations tangent vector.

The tangent vector is the sum of the 2d single-core-replacement terms (one per Tucker hole and one per TT hole). This is stack-aware: leading stack axes ride along through fv_to_t3 and to_dense.

Parameters:
  • frame (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

  • variations (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

  • include_shift (bool)

Return type:

NDArray