t3toolbox.uniform_tucker_tensor_train.ut3_add#
- t3toolbox.uniform_tucker_tensor_train.ut3_add(x: UniformTuckerTensorTrain, y: UniformTuckerTensorTrain, squash: bool = True, use_jax: bool = False) UniformTuckerTensorTrain#
Add two UniformTuckerTensorTrains, x,y -> x+y.
- Parameters:
x_cores (UniformTuckerTensorTrainCores) – First summand cores
x_masks (UniformTuckerTensorTrainMasks) – First summand masks
y_cores (UniformTuckerTensorTrainCores) – Second summand cores
y_masks (UniformTuckerTensorTrainMasks) – Second summand masks
xnp – Linear algebra backend. Default: np (numpy)
- Returns:
UniformTuckerTensorTrainCores – Cores for sum, x+y
UniformTuckerTensorTrainMasks – Cores for sum x+y
Examples
>>> import numpy as np >>> import t3toolbox.tucker_tensor_train as t3 >>> import t3toolbox.uniform_tucker_tensor_train as ut3 >>> x = t3.t3_corewise_randn((14,15,16), (4,6,5), (2,3,2,2), stack_shape=(2,3)) >>> ux = ut3.t3_to_ut3(x) >>> y = t3.t3_corewise_randn((14,15,16), (6,7,8), (3,5,6,1), stack_shape=(2,3)) >>> uy = ut3.t3_to_ut3(y) >>> ux_plus_uy = ut3.ut3_add(ux, uy) # add x+y >>> print(np.linalg.norm(x.to_dense() + y.to_dense() - ux_plus_uy.to_dense())) 3.250578545971108e-12