TuckerTensorTrain.randn ======================= .. py:method:: t3toolbox.tucker_tensor_train.TuckerTensorTrain.randn(shape, tucker_ranks, tt_ranks, stack_shape = (), use_jax = False) :staticmethod: .. code-block:: python def randn( shape: Tuple[int, ...], tucker_ranks: Tuple[int, ...], tt_ranks: Tuple[int, ...], stack_shape: Tuple[int, ...] = (), use_jax: bool = False, ) -> 'TuckerTensorTrain': Construct a Tucker tensor train with random cores. Core entries are i.i.d. draws from N(0,1). :param shape: Shape of the TuckerTensorTrain. ``len(shape)=d``. :type shape: Sequence[int] :param tucker_ranks: Tucker ranks. ``len(tucker_ranks)=d``. Default (``tucker_ranks=None``): all Tucker ranks equal 1 . :type tucker_ranks: Sequence[int], optional :param tt_ranks: TT ranks. ``len(tt_ranks)=d+1``. Default (``tt_ranks=None``): all TT ranks equal 1. :type tt_ranks: Sequence[int], optional :param stack_shape: Stack shape. Default (``stack_shape=()``): No stacking. :type stack_shape: Sequence[int], optional :param use_jax: Cores are jax arrays if True, and numpy arrays if False. (default: ``use_jax=False``) :type use_jax: bool, optional :returns: Random TuckerTensorTrain with the desired shape and ranks. :rtype: TuckerTensorTrain .. seealso:: :py:meth:`.TuckerTensorTrain.zeros`, :py:meth:`.TuckerTensorTrain.ones` .. rubric:: Examples >>> import numpy as np >>> import t3toolbox.tucker_tensor_train as t3 >>> np.random.seed(0) >>> shape = (14, 15, 16) >>> tucker_ranks = (4, 5, 6) >>> tt_ranks = (1, 3, 2, 1) >>> stack_shape = (2, 3) >>> x = t3.TuckerTensorTrain.randn(shape, tucker_ranks, tt_ranks, stack_shape=stack_shape) # random cores >>> print(x.structure == (shape, tucker_ranks, tt_ranks, stack_shape)) True >>> print(np.any(x.tucker_cores[0] != 0.0)) # cores are filled with N(0,1) draws, not zeros True