tensor4all_core/prelude.rs
1//! Commonly used traits, types, and functions for tensor construction,
2//! contraction, and factorization.
3//!
4//! ```rust
5//! use tensor4all_core::prelude::*;
6//!
7//! let i = DynIndex::new_dyn(3);
8//! let j = DynIndex::new_dyn(4);
9//! let data: Vec<f64> = (0..12).map(|x| x as f64).collect();
10//! let tensor = IdxTensor::from_dense(vec![i.clone(), j.clone()], data).unwrap();
11//! let result = factorize(&tensor, &[i], &FactorizeOptions::svd()).unwrap();
12//! let recovered = result.left.contract_pair(&result.right).unwrap();
13//! assert!(tensor.distance(&recovered).unwrap() < 1e-12);
14//! ```
15
16pub use crate::{
17 contract, contract_pair, direct_sum, factorize, outer_product, qr, svd, tensordot, Canonical,
18 CommonScalar, ContractionOptions, DecompositionAlg, DirectSumResult, DynId, DynIndex,
19 FactorizeAlg, FactorizeOptions, FactorizeResult, IdxTensor, Index, IndexLike,
20 LinearizationOrder, PairwiseContractionOptions, SingularValueMeasure, SvdOptions,
21 SvdTruncationPolicy, Tag, TagSet, TagSetLike, TensorConstructionLike, TensorContractionLike,
22 TensorElement, TensorFactorizationLike, TensorIndex, TensorLike, TensorVectorSpace,
23 ThresholdScale, TruncationRule,
24};