Skip to main content

Module prelude

Module prelude 

Source
Expand description

Commonly used traits, types, and functions for tensor construction, contraction, and factorization.

use tensor4all_core::prelude::*;

let i = DynIndex::new_dyn(3);
let j = DynIndex::new_dyn(4);
let data: Vec<f64> = (0..12).map(|x| x as f64).collect();
let tensor = IdxTensor::from_dense(vec![i.clone(), j.clone()], data).unwrap();
let result = factorize(&tensor, &[i], &FactorizeOptions::svd()).unwrap();
let recovered = result.left.contract_pair(&result.right).unwrap();
assert!(tensor.distance(&recovered).unwrap() < 1e-12);

Re-exports§

pub use crate::contract;
pub use crate::contract_pair;
pub use crate::direct_sum;
pub use crate::direct_sum;
pub use crate::factorize;
pub use crate::factorize;
pub use crate::outer_product;
pub use crate::qr;
pub use crate::qr;
pub use crate::svd;
pub use crate::svd;
pub use crate::tensordot;
pub use crate::Canonical;
pub use crate::CommonScalar;
pub use crate::ContractionOptions;
pub use crate::DecompositionAlg;
pub use crate::DirectSumResult;
pub use crate::DynId;
pub use crate::DynIndex;
pub use crate::FactorizeAlg;
pub use crate::FactorizeOptions;
pub use crate::FactorizeResult;
pub use crate::IdxTensor;
pub use crate::Index;
pub use crate::IndexLike;
pub use crate::LinearizationOrder;
pub use crate::PairwiseContractionOptions;
pub use crate::SingularValueMeasure;
pub use crate::SvdOptions;
pub use crate::SvdTruncationPolicy;
pub use crate::Tag;
pub use crate::TagSet;
pub use crate::TagSetLike;
pub use crate::TensorConstructionLike;
pub use crate::TensorContractionLike;
pub use crate::TensorFactorizationLike;
pub use crate::TensorIndex;
pub use crate::TensorLike;
pub use crate::TensorVectorSpace;
pub use crate::ThresholdScale;
pub use crate::TruncationRule;

Traits§

TensorElement
Public scalar element types supported by tensor4all dense/diag constructors.