Skip to main content

tensor4all_treetn/linsolve/
mod.rs

1//! Linear equation solvers for Tree Tensor Networks.
2//!
3//! This module provides solvers for linear systems of the form
4//! `(a₀ + a₁ * A) * x = b` where A is a TTN operator and x, b are TTN states.
5//!
6//! # Modules
7//!
8//! - [`common`]: Shared infrastructure (environment cache, options, projected operator)
9//! - [`square`]: Solver for V_in = V_out case (input and output spaces are the same)
10//!
11//! # Usage
12//!
13//! For most use cases, use the `square` solver:
14//!
15//! ```
16//! use tensor4all_treetn::{square_linsolve, LinsolveOptions};
17//!
18//! let options = LinsolveOptions::default().with_nfullsweeps(2);
19//! let _solver = square_linsolve::<tensor4all_core::TensorDynLen, usize>;
20//!
21//! assert_eq!(options.nfullsweeps, 2);
22//! ```
23
24pub mod common;
25pub mod square;
26
27// Re-export commonly used types
28pub use common::{EnvironmentCache, LinsolveOptions, NetworkTopology, ProjectedOperator};
29pub use square::{
30    square_linsolve, LinsolveVerifyReport, NodeVerifyDetail, ProjectedState, SquareLinsolveResult,
31    SquareLinsolveUpdater,
32};