Expand description
Tensor decomposition algorithms: CP, Tucker, and Tensor-Train (TT).
This module provides CPU-side implementations of the three most widely used tensor decomposition methods, which can be used to generate PTX kernels for GPU execution.
§Decompositions
- CP (CANDECOMP/PARAFAC) — decomposes a tensor into a sum of rank-one tensors via Alternating Least Squares (ALS).
- Tucker — decomposes a tensor into a core tensor multiplied by factor matrices along each mode, via HOSVD or HOOI.
- Tensor-Train (TT) — decomposes a tensor into a chain of 3D cores via sequential SVDs.
§References
- Kolda & Bader, “Tensor Decompositions and Applications”, SIAM Review 2009
- Oseledets, “Tensor-Train Decomposition”, SIAM J. Sci. Comput. 2011
Structs§
- CpAls
Config - Configuration for CP-ALS algorithm.
- CpDecomposition
- CP (CANDECOMP/PARAFAC) decomposition result.
- Matrix
- A dense row-major matrix.
- Tensor
- A dense multi-dimensional tensor.
- TtConfig
- Configuration for TT-SVD algorithm.
- TtDecomposition
- Tensor-Train (TT) decomposition result.
- Tucker
Config - Configuration for Tucker decomposition.
- Tucker
Decomposition - Tucker decomposition result.
Functions§
- cp_als
- CP decomposition via Alternating Least Squares (ALS).
- hadamard_
product - Element-wise (Hadamard) product of two matrices.
- khatri_
rao_ product - Khatri-Rao product (column-wise Kronecker product).
- mode_
n_ product - Mode-n product: multiplies a tensor by a matrix along mode n.
- tt_svd
- TT-SVD decomposition.
- tucker_
hooi - Higher-Order Orthogonal Iteration (HOOI) for Tucker decomposition.
- tucker_
hosvd - Higher-Order SVD (HOSVD) for Tucker decomposition.