t3toolbox.OLD_uniform.ut3_sub#
- t3toolbox.OLD_uniform.ut3_sub(x_cores: UniformTuckerTensorTrain, x_masks: UniformEdgeWeights, y_cores: UniformTuckerTensorTrain, y_masks: UniformEdgeWeights, use_jax: bool = False) Tuple[UniformTuckerTensorTrain, UniformEdgeWeights]#
Subtract two UniformTuckerTensorTrains, x,y -> x-y.
- Parameters:
x_cores (UniformTuckerTensorTrainCores) – First term cores
x_masks (UniformTuckerTensorTrainMasks) – First term masks
y_cores (UniformTuckerTensorTrainCores) – Second term cores
y_masks (UniformTuckerTensorTrainMasks) – Second term masks
xnp – Linear algebra backend. Default: np (numpy)
- Returns:
UniformTuckerTensorTrainCores – Cores for difference, x-y
UniformTuckerTensorTrainMasks – Cores for difference 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))) >>> x_cores, x_masks = ut3.t3_to_ut3(x) >>> y = t3.t3_corewise_randn(((14,15,16), (6,7,8), (3,5,6,1))) >>> y_cores, y_masks = ut3.t3_to_ut3(y) >>> x_minus_y_cores, x_minus_y_masks = ut3.ut3_sub(x_cores, x_masks, y_cores, y_masks) # add x+y >>> dense_x = t3.t3_to_dense(x) >>> dense_y = t3.t3_to_dense(y) >>> dense_x_minus_y = ut3.ut3_to_dense(x_minus_y_cores, x_minus_y_masks) >>> print(np.linalg.norm(dense_x - dense_y - dense_x_minus_y)) 0.0