TuckerTensorTrain.zeros#

static t3toolbox.tucker_tensor_train.TuckerTensorTrain.zeros(shape, tucker_ranks=None, tt_ranks=None, stack_shape=(), use_jax=False)#
def zeros(
        shape:          Sequence[int],
        tucker_ranks:   Sequence[int] = None,
        tt_ranks:       Sequence[int] = None,
        stack_shape:    Sequence[int] = (),
        use_jax: bool = False,
) -> 'TuckerTensorTrain':

Construct a Tucker tensor train of zeros.

Parameters:
  • shape (Sequence[int]) – Shape of the TuckerTensorTrain. len(shape)=d.

  • tucker_ranks (Sequence[int], optional) – Tucker ranks. len(tucker_ranks)=d. Default (tucker_ranks=None): all Tucker ranks equal 1 .

  • tt_ranks (Sequence[int], optional) – TT ranks. len(tt_ranks)=d+1. Default (tt_ranks=None): all TT ranks equal 1.

  • stack_shape (Sequence[int], optional) – Stack shape. Default (stack_shape=()): No stacking.

  • use_jax (bool, optional) – Cores are jax arrays if True, and numpy arrays if False. (default: use_jax=False)

Returns:

Zero TuckerTensorTrain with the desired shape and ranks.

Return type:

TuckerTensorTrain

Examples

>>> import numpy as np
>>> import t3toolbox.tucker_tensor_train as t3
>>> shape = (14, 15, 16)
>>> tucker_ranks = (4, 5, 6)
>>> tt_ranks = (1, 3, 2, 1)
>>> stack_shape = (2,3)
>>> z = t3.TuckerTensorTrain.zeros(shape, tucker_ranks, tt_ranks, stack_shape)
>>> print(np.linalg.norm(z.to_dense()))
0.0