1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//! 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
//!
//! ```no_run
//! use god_gragh::tensor::decomposition::{qr_decompose, svd_decompose, tensor_ring_decompose};
//! use god_gragh::tensor::DenseTensor;
//!
//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
//! // 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])?;
//! # Ok(())
//! # }
//! ```
// Re-export decomposition functions
pub use qr_decompose;
pub use svd_decompose;
pub use tensor_ring_decompose;
pub use ;