ad_tensors_rs/
lib.rs

1//! `ad-tensors-rs`: AD-aware tensor interface layer on top of `tenferro-rs`.
2
3pub mod ad_value;
4pub mod api;
5pub mod context;
6pub mod dyn_types;
7pub mod error;
8pub mod policy;
9pub mod runtime;
10pub mod traits;
11
12pub use ad_value::{AdMode, AdScalar, AdTensor, AdValue, NodeId, TapeId};
13pub use api::{
14    cholesky, cholesky_ad, det, det_ad, eig, eig_ad, eigen, eigen_ad, einsum, einsum_ad, inv,
15    inv_ad, lstsq, lstsq_ad, lu, lu_ad, matrix_exp, matrix_exp_ad, norm, norm_ad, pinv, pinv_ad,
16    qr, qr_ad, slogdet, slogdet_ad, solve, solve_ad, solve_triangular, solve_triangular_ad, svd,
17    svd_ad, AdEigResult, AdEigenResult, AdLstsqResult, AdLuResult, AdQrResult, AdSlogdetResult,
18    AdSvdResult,
19};
20pub use context::{
21    set_global_context, try_with_global_context, with_global_context, GlobalContextGuard,
22};
23pub use dyn_types::{DynAdTensor, DynAdValue, DynScalar, DynTensor, ScalarType};
24pub use error::{Error, Result};
25pub use policy::DiffPolicy;
26pub use runtime::{set_default_runtime, with_default_runtime, RuntimeContext};
27pub use traits::{
28    AdResult, AllowedPairs, Differentiable, FactorizeOptions, FactorizeResult, IndexLike, OpRule,
29    TensorKernel,
30};