UT3Tangent.apply ================ .. py:method:: t3toolbox.uniform_manifold.UT3Tangent.apply(ww) .. code-block:: python def apply( self, ww: typ.Sequence[NDArray], # apply vectors, len=d, ith elm_shape=W+(Ni,) ) -> NDArray: # scalar apply, shape=W+K+C Apply this tangent vector in all modes (the all-modes special case of :py:meth:`probe`; a scalar per stack element, stacked ``W+K+C``). The bare ``𝒥``. Uniform mirror of :py:meth:`~t3toolbox.manifold.T3Tangent.apply`. .. rubric:: Examples >>> import numpy as np >>> import t3toolbox.tucker_tensor_train as t3 >>> import t3toolbox.uniform_tucker_tensor_train as ut3 >>> import t3toolbox.uniform_manifold as ut3m >>> np.random.seed(0) >>> x = ut3.UniformTuckerTensorTrain.from_t3(t3.TuckerTensorTrain.randn((10, 11, 12), (5, 6, 4), (1, 2, 3, 1))) >>> v = ut3m.UNIFORM_COREWISE.randn(ut3m.UNIFORM_MANIFOLD.frame(x)) >>> ww = (np.random.randn(10), np.random.randn(11), np.random.randn(12)) >>> print(bool(abs(float(v.apply(ww)) - float(np.einsum('ijk,i,j,k->', v.to_dense(), *ww))) < 1e-9)) True