UniformTuckerTensorTrain.zeros#

static t3toolbox.uniform_tucker_tensor_train.UniformTuckerTensorTrain.zeros(shape, tucker_ranks=None, tt_ranks=None, stack_shape=(), use_jax=False)#
def zeros(
        shape:        Sequence[int],                          # (N0,...,N(d-1))
        tucker_ranks: typ.Union[int, Sequence[int], NDArray, None] = None,  # int|len-d|(d,)+stack; None->1
        tt_ranks:     typ.Union[int, Sequence[int], NDArray, None] = None,  # int|len-(d+1)|(d+1,)+stack; None->1
        stack_shape:  Sequence[int] = (),
        use_jax:      bool = False,
) -> 'UniformTuckerTensorTrain':

Uniform Tucker tensor train of zeros (padded regions masked to zero).

tucker_ranks/tt_ranks accept a scalar, a per-mode sequence, or a full (d,)+stack / (d+1,)+stack array (the variety: ranks varying per stack element). None -> all ranks 1.

Examples

>>> import numpy as np
>>> import t3toolbox.uniform_tucker_tensor_train as ut3
>>> z = ut3.UniformTuckerTensorTrain.zeros((5, 6, 7), (3, 4, 2), (1, 3, 2, 1), stack_shape=(2,))
>>> print(z.shape, z.stack_shape)
(5, 6, 7) (2,)
>>> print(float(np.linalg.norm(z.to_dense())))
0.0
Parameters:
  • shape (Sequence[int])

  • tucker_ranks (Union[int, Sequence[int], NDArray, None])

  • tt_ranks (Union[int, Sequence[int], NDArray, None])

  • stack_shape (Sequence[int])

  • use_jax (bool)

Return type:

UniformTuckerTensorTrain