t3toolbox.OLD_uniform.ut3_scale#

t3toolbox.OLD_uniform.ut3_scale(x_cores: UniformTuckerTensorTrain, s, use_jax: bool = False) UniformTuckerTensorTrain#

Scale a uniform Tucker tensor train, s,x -> s*x.

Parameters:
  • x_cores (UniformTuckerTensorTrainCores) – Original uniform Tucker tensor train cores

  • s (scalar) – Scaling factor

  • xnp – Linear algebra backend. Default: np (numpy)

Returns:

Cores for scaled uniform Tucker tensor train, s*x

Return type:

UniformTuckerTensorTrainCores

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)))
>>> cores, masks = ut3.t3_to_ut3(x)
>>> s = 3.5
>>> sx_cores = ut3.ut3_scale(cores, s) # scale x
>>> dense_x = t3.t3_to_dense(x)
>>> dense_sx = ut3.ut3_to_dense(sx_cores, masks)
>>> print(np.linalg.norm(s*dense_x - dense_sx))
1.4502362601421634e-12