Expand description
Tensor Decomposition Tools
This module provides various tensor decomposition algorithms as the foundation for Lie group optimization and tensor ring compression.
§Algorithms
- QR Decomposition (orthogonalization)
- SVD Decomposition (baseline comparison)
- Tensor Ring Decomposition (core algorithm)
- CP Decomposition (optional)
- Tucker Decomposition (optional)
§Example
use god_gragh::tensor::decomposition::{qr_decompose, svd_decompose, tensor_ring_decompose};
use god_gragh::tensor::DenseTensor;
// Create a test tensor
let tensor = DenseTensor::from_vec(
vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0],
vec![4, 2],
);
// QR decomposition
let (q, r) = qr_decompose(&tensor)?;
// SVD decomposition
let (u, s, v) = svd_decompose(&tensor, None)?;
// Tensor ring decomposition
let cores = tensor_ring_decompose(&tensor, &[2, 2])?;Re-exports§
pub use qr::qr_decompose;pub use svd::svd_decompose;pub use tensor_ring::tensor_ring_decompose;pub use lie_algebra::lie_exponential;pub use lie_algebra::lie_logarithm;pub use lie_algebra::skew_symmetric_projection;
Modules§
- lie_
algebra - Lie Algebra Utilities
- qr
- QR Decomposition for tensor orthogonalization
- svd
- SVD Decomposition for tensor analysis
- tensor_
ring - Tensor Ring Decomposition