Skip to main content

Crate tenferro_linalg

Crate tenferro_linalg 

Source
Expand description

Linear algebra extension operations for tenferro.

This crate owns the graph-facing linalg op payloads and runtime registration. Tensor-facing operations are exposed through extension traits. CPU backend kernels live in this crate behind the linalg backend trait.

§Examples

use tenferro_linalg::TracedTensorLinalgExt;
use tenferro_cpu::CpuBackend;
use tenferro_runtime::{GraphCompiler, GraphExecutor, TracedTensor};

let a = TracedTensor::from_vec_col_major(
    vec![2, 2],
    vec![4.0_f64, 2.0, 2.0, 3.0],
)
.unwrap();
let l = a.cholesky().unwrap();

let mut compiler = GraphCompiler::new();
let program = compiler.compile(&l).unwrap();
let mut executor = GraphExecutor::new(CpuBackend::new());
executor.register_extension(tenferro_linalg::register_runtime).unwrap();
let out = executor.run(&program).unwrap();
assert_eq!(out.shape(), &[2, 2]);

Re-exports§

pub use backend::LinalgBackend;

Modules§

backend

Structs§

EighOptions
Options for Hermitian eigenvalue decomposition.
LinalgAdModeSupport
User-visible AD support for one mode.
LinalgAdOutputSupport
AD support status for one output of a linalg operation.
LinalgAdSupport
AD support manifest entry for one linalg operation.
QrOptions
Options for QR decomposition.
SvdOptions
Options for singular value decomposition.

Enums§

EighGauge
Eigenvector gauge convention used by EighOptions.
LinalgAdOpKind
Operation keys covered by the linalg AD support manifest.
LinalgAdRoute
Implementation route used for a user-visible AD mode.
LinalgAdRuleSupport
AD rule support status for a linalg operation or output.
QrGauge
QR factor gauge convention used by QrOptions.
SvdGauge
Singular-vector gauge convention used by SvdOptions.

Constants§

DEFAULT_DECOMPOSITION_DERIVATIVE_EPS
Default derivative regularization used by decomposition AD rules.
LINALG_EXTENSION_FAMILY_ID

Traits§

EagerTensorLinalgExt
Linear algebra extension methods for EagerTensor.
TracedTensorLinalgExt
Linear algebra extension methods for TracedTensor.

Functions§

ad_rules
Return the explicit linalg extension AD rule set.
all_linalg_ad_support
Return the complete linalg AD support manifest.
linalg_ad_support
Return the support manifest entry for one linalg operation kind.
register_runtime