Expand description
§semiflow
Status: beta (0.15.0-beta). The API is stabilising toward 1.0; minor versions may still make breaking changes. Bug reports and feedback are welcome.
SemiFlow solves evolution equations ∂ₜu = Lu (heat, diffusion,
Schrödinger, graph and manifold PDEs, …) by Chernoff approximation of operator
semigroups: no matrix exponentials, no linear solves, a flat memory footprint.
The core is a no_std + alloc Rust library with 3 runtime
dependencies (num-traits, libm, num-complex); the same engines are available from Python,
JavaScript/WebAssembly and C.
The method evaluates e^{tL}f by iterating an explicit step operator S(τ):
(S(t/n))ⁿ f → e^{tL} f as n → ∞. Each step is an explicit stencil over a
Vec-backed grid with reused scratch buffers, so steady-state evolution does
not allocate.
Mathematical foundation: Theorem 6 of I. D. Remizov (2025), Vladikavkaz Math. J. 27(4), 124–135 (doi:10.46698/a3908-1212-5385-q).
Honest performance note. The primary measured advantage is memory frugality: a flat ~3 MB working set across the 1D/2D/3D families versus 50–418 MB for heavy frameworks. Wall-clock speed is not a general strength — for matched-accuracy PDE solving SemiFlow is slower than adaptive ODE solvers and spectral methods, and parallelism pays off only on large 3D grids. Two measured niches: tail-latency-sensitive pricing (
Diffusion4thChernoff≈ 41 ns p99.9 per tick) and L1-resident low-rank carriers (TtChernoff,ReverseChernoff). Treat memory and latency as measured properties of the concrete grid types, not guarantees of the traits. The 2026-10 overhaul (docs/perf/overhaul-v0_15.md) made the grid engines 2.6–39× faster bit-for-bit, the stiff Chebyshev graph actionO(√(λt))instead ofO(λt)(559× on issue #16), ETDRK4 2.1× and the general Taylor action 2.1× faster; Richardson extrapolation (richardson=) raises any engine’s order bylevels − 1. Head-to-head comparisons quoted in the user guide predate it.
§Install
[dependencies]
semiflow = "0.15.0-beta"MSRV: Rust 1.81. The default build is #![no_std] + alloc with
AVX2/NEON kernels (feature simd, scalar lanes elsewhere); std is needed
only for parallel. See below.
§Quickstart
Solve ∂ₜu = ½·∂ₓₓu from u₀(x) = e^{-x²} to t = 1 and compare with the
closed-form solution u(1,x) = 3^{-1/2}·e^{-x²/3}:
use semiflow::{ChernoffSemigroup, DiffusionChernoff, Grid1D, GridFn1D, State};
let grid = Grid1D::new(-10.0, 10.0, 1000).expect("valid grid");
let u0 = GridFn1D::from_fn(grid, |x| (-x * x).exp());
// L = a(x)·∂²ₓ with a ≡ ½ (a' = a'' = 0), bound ‖a‖ = ½.
let diffusion = DiffusionChernoff::new(|_| 0.5_f64, |_| 0.0, |_| 0.0, 0.5, grid);
let semigroup = ChernoffSemigroup::new(diffusion, 100).expect("n >= 1");
let u1 = semigroup.evolve(1.0, &u0).expect("evolve");
let exact = GridFn1D::from_fn(grid, |x| (-x * x / 3.0).exp() / 3.0_f64.sqrt());
let mut err = u1.clone();
err.axpy(-1.0, &exact);
assert!(err.norm_sup() < 1e-5, "sup-norm error {}", err.norm_sup());More: Quickstart, User Guide and
the runnable examples
(cargo run -p semiflow --example heat_2d_demo).
§no_std
[dependencies]
semiflow = "0.15.0-beta" # no_std + alloc, SIMD kernelsThe crate is #![no_std] by default and needs only alloc; the std
feature is needed only for parallel. What that means in practice:
- Your binary provides a
#[global_allocator]and a#[panic_handler], as for anyno_std + allocprogram (astdprogram already has both). - The target needs pointer-sized atomics (the engines share coefficient
closures through
alloc::sync::Arc): Cortex-M3/M4/M7/M33, RISC-V with theaextension,x86_64-unknown-noneand similar work;thumbv6mdoes not. SemiflowErrorimplementsDebug,Displayandcore::error::Error(the same trait asstd::error::Error) in every build.f32/f64transcendentals come from the pure-Rustlibmin every build, and the SIMD kernels use the same lane arithmetic with or without intrinsics, sostd,no_std,simdand non-simdbuilds give bit-identical results on every CPU.simdworks withoutstd(the intrinsics come fromcore::arch);parallelrequiresstd.
This is verified on every pull request, not just type-checked:
| CI job | What it proves |
|---|---|
no-std | the default and the featureless build for the host, thumbv7em-none-eabihf, thumbv7m-none-eabi, riscv32imac-unknown-none-elf, and at MSRV 1.81 |
no-std-test | the full semiflow test suite passes in the default (no_std) configuration |
no-std-libm | semiflow-nostd-check — closed-form oracle checks plus per-scenario output digests: the default no_std build (the job fails if anything enables num-traits/std), the std build and its AVX2 lanes must all produce the committed bits |
no-std-libm-neon | the same digests from the std build on aarch64 (NEON lanes) |
no-std-qemu | the same checks and digests as a bare-metal #![no_main] binary on Cortex-M3 (soft float) and Cortex-M4F (hard float) under QEMU — see nostd-qemu |
§Feature flags
| Feature | Default | Effect |
|---|---|---|
simd | yes | AVX2 (x86_64) / NEON (aarch64) kernels via core::arch, scalar lanes elsewhere. Works in no_std. Results are bit-identical to a non-simd build. |
std | no | Links std. Needed only by parallel; math is libm either way, so results do not change. Without it the crate is no_std + alloc (the default). |
parallel | no | Multi-threaded apply for 1D kernels and 2D/3D compositions via std::thread::scope; bit-identical across thread counts. Implies std; not for wasm32. |
linear-interp | no | Enables InterpKind::Linear grid sampling (otherwise it returns SemiflowError::Unsupported). |
s3-poc | no | Experimental S³ evolvers with a proven-boundary API (ADR-0169). |
slow-tests | no | Internal: enables the long convergence gates. Not needed by users. |
diff-scipy | no | Internal: SciPy differential test (needs Python). Not needed by users. |
tracking-alloc | no | Internal: allocation counting in the latency_tail example. Not needed by users. |
§Engine catalogue
§1D Chernoff functions
| Type | Order | Description |
|---|---|---|
DiffusionChernoff | 2 | 5-point formula for a(x)∂²_x |
Diffusion4thChernoff | 4 | 4th-order spatial diffusion |
Diffusion6thChernoff | 6 | 6th-order spatial diffusion |
Diffusion4thZeta4Chernoff | 4 | ζ⁴ Richardson |
Diffusion6thZeta6Chernoff | 6 | ζ⁶ nested-Richardson |
Diffusion8thZeta8Chernoff | 8 | ζ⁸ Chebyshev M=64 |
DiffusionExpmvChernoff<F> | — | Al-Mohy–Higham expmv action |
TruncatedExpDiffusionChernoff | 2 | Truncated-exponential diffusion |
TruncatedExp4thDiffusionChernoff | 4 | Truncated-exponential 4th-order |
DriftReactionChernoff | exact | Characteristic-flow formula for b(x)∂_x + c(x) |
DriftReactionZeta4Chernoff | 4 | ζ⁴ WITH drift via Richardson |
ShiftChernoff1D | 2 | Formula (6) of Theorem 6, Remizov 2025 |
§Compositions
| Type | Description |
|---|---|
StrangSplit<D, R> | Strang 2nd-order splitting: D(τ/2) ∘ R(τ) ∘ D(τ/2) |
AxisLift<C> | Lift a 1D ChernoffFunction to a 2D grid row or column |
§2D tensor-product
| Type | Description |
|---|---|
Strang2D<X, Y> | Palindromic Strang: Sx(τ/2) ∘ Sy(τ) ∘ Sx(τ/2), global order 2 |
NonSeparable2DChernoff | Non-separable isotropic 2D operator |
NonSeparable2DAnisotropicChernoff | Non-separable anisotropic 2D operator |
§3D tensor-product
| Type | Description |
|---|---|
AxisLift3D<C> | Lift a 1D ChernoffFunction to a 3D grid along Axis::X/Y/Z |
Strang3D<X, Y, Z> | 3D palindromic Strang |
§Adaptive
| Type | Description |
|---|---|
AdaptivePI<C> | PI step-size controller wrapping any ChernoffFunction |
§Boundary conditions
| Type | Description |
|---|---|
BoundaryPolicy::Dirichlet { value } | Fixed-value stencil BC |
BoundaryPolicy::Neumann | Clamp-to-boundary stencil BC |
BoundaryPolicy::Robin { alpha, beta } | Robin stencil BC |
BoundaryPolicy::OddReflect | Odd-image stencil BC (used by DirichletHeat2ndChernoff) |
KillingChernoff<C, R, F> | Operator-level Dirichlet via Feynman-Kac killing |
Killing2ndChernoff<C, K, F> | Order-2 soft-killing e^{-τκ/2}·C(τ)·e^{-τκ/2} |
ReflectedHeatChernoff<C, R, F> | Neumann via Walsh 1986 image method |
DirichletHeat2ndChernoff<C, R, F> | Order-2 absorbing wall via odd-image method (math §21.9) |
ObstacleChernoff<C, O, F> | Projective-splitting obstacle / variational-inequality evolver |
§Resolvent and nonautonomous
| Type | Description |
|---|---|
LaplaceChernoffResolvent<C, F> | (λI − A)⁻¹ g via Gauss-Laguerre 32-pt quadrature — unique to Remizov |
HowlandLift<C, F> | Nonautonomous Howland lift on L²([0,T], X) |
HdrSnapshot<F> | NIST nearest-rank percentile library (no_std + alloc) |
§Riemannian manifold
| Type | Description |
|---|---|
ManifoldChernoff<M, F> | Curvature-corrected Gaussian on T_xM; order 1 (base) or 2 (with R/12) |
Torus<F, D> | Flat torus backend |
Sphere2<F> | Round 2-sphere backend |
Hyperbolic2<F> | Poincaré disk backend (also the SABR volatility manifold) |
FubiniStudyCp1 | Kähler CP¹ / Fubini-Study backend |
§High-dimensional and sparse-grid
| Type | Description |
|---|---|
AnisotropicShiftChernoffND<F, D> | d-D Gaussian shift via Gauss-Hermite tensor quadrature |
AnisotropicShiftZeta2ND | Order-2 ζ²-correction variant |
AnisotropicShiftAdaptiveQ | Adaptive per-point GH quadrature (41% fewer nodes/axis) |
SmolyakGridND<F, const D> | Smolyak sparse-grid backend for D ≥ 5 |
§Matrix-valued operators
| Type | Description |
|---|---|
MatrixDiffusionChernoff<F, M> | Coupled M-component 1D diffusion; Padé[13/13] expm |
MatrixDiffusionChernoff2D<F, M> | Palindromic Strang 2D for M-component diffusion |
MatrixDiffusionChernoff3D<F, M> | Same for 3D |
MatrixDiffusionChernoffComplex<F, M> | Complex-valued Padé[13/13] coupled diffusion |
§Quantum graphs
| Type | Description |
|---|---|
QuantumGraphHeatChernoff<F> | Heat on quantum graphs with Kirchhoff vertex condition |
QuantumSchrödingerChernoff<C> | Complex Schrödinger on quantum graphs |
§Reverse-mode AD
| Type | Description |
|---|---|
ReverseChernoff<F> | Reverse-mode AD over (F_θ(τ))ⁿ u₀ via binomial checkpointing |
CheckpointSchedule | O(√n) default schedule (Griewank-Walther) |
RegionMap | DoF-aligned region partition enabling K>1 per-region parameter sensitivity |
Scope: constant-a DiffusionChernoff<F> only. Multi-parameter (K>1)
sensitivity via ReverseChernoff::with_region_map. Variable-coefficient
kernels are deferred.
§Tensor-train carrier
| Type | Description |
|---|---|
TtChernoff<F> | TT-Chernoff evolver; storage O(d·n·r²) |
TtState<F> | Tensor-train state u(i₁,…,i_d) = G₁[i₁]·…·G_d[i_d] |
VarCoefTt<F> | Variable-coefficient TT carrier for separable diagonal a_j(x_j) |
Scope: linear diagonal-A Gaussian class (TtChernoff); separable diagonal
variable coefficients (VarCoefTt). Non-separable variable coefficients and
off-diagonal A are research-track. VarCoefTt::new returns
SemiflowError::VarCoefOutOfClass when inputs fall outside the separable
diagonal class.
§Gridless / particle-ensemble
| Type | Description |
|---|---|
GridlessChernoff<F, const D> | Particle-ensemble Chernoff; implements ChernoffFunction<F> |
MeasureState<F, D> | Particle-ensemble state; exposes first_moment, variance, variance_per_axis diagnostics (math §38.12) |
ParticleReduction | Particle cap policy: WeightedVoronoi { cap } or GaussianBackground |
§Schrödinger, graph and quantum-graph operators
| Type | Description |
|---|---|
SchrödingerChernoffComplex / SchrodingerChernoff | Schrödinger equation on a native complex (or real-pair) carrier |
GraphHeatChernoff | Heat semigroup of a graph Laplacian |
GraphKrylovChernoff, graph_expmv_frechet | Depth-independent e^{−tL}·v (Chebyshev / Lanczos) and its all-parameter Fréchet gradient (graded-mesh Duhamel quadrature: quadrature error independent of λ_max·t; f64 conditioning floor ≈ (r+n)·u·ρ̄t; ImplicitEuler path keeps its O(Δt) bias) |
QuantumGraphHeatChernoff / QuantumSchrödingerChernoff | Metric graphs with Kirchhoff vertex conditions |
§Conservative, stiff and semilinear problems
| Type | Description |
|---|---|
ConservativeDiffusionChernoff, assemble_conservative_csr_1d, assemble_conservative_csr_nd | Divergence-form ∂ₓ(k(x)∂ₓu) with harmonic-mean faces (sharp material interfaces, optional contact resistance) |
MultilayerStack, multilayer_evolve, MassWeightedConservativeChernoff | Stiff multilayer conduction in one depth-flat Krylov action |
SymmetricOperator, MassKOperator, EntrySensitivity, mass_lumped_evolve | Externally assembled symmetric PSD sparse operators (FEM), the (M, K) problem without forming M⁻¹K, entry-wise gradients |
general_operator::GeneralOperator | Possibly non-symmetric CSR operators via Taylor expmv or adaptive Arnoldi (expmv_krylov) |
SpdResolvent, SpdSolver | (λM + A)⁻¹b: exact O(N) tridiagonal LDLᵀ, PCG with IC(0) or Jacobi; factor once, solve many (steady states, implicit steps) |
RationalKrylov, RationalKrylovChernoff, rational_krylov_expmv | Shift-and-invert Krylov e^{−tM⁻¹A}v for very stiff SPD operators: solve count independent of λ_max t |
phi_action, phi_action_batched, phi_combination, Etdrk4, Nonlinearity | Semilinear ∂ₜu = Lu + N(u) by exponential time differencing (order 4) |
phi_combination_krylov, PhiSolver, KrylovPhiOptions | Adaptive Arnoldi φ-actions for non-symmetric generators (Etdrk4::with_phi_solver): 33× fewer generator applications than Taylor at τ‖G‖ = 4·10³ |
ReactionDiffusion, Species, ReactionSolver, RosenbrockOptions | Multi-species ∂ₜu = D Δu + f(t, x, u) by Strang splitting on any grid engine; stiff kinetics by adaptive L-stable Rosenbrock (ROS2) |
CrossDiffusion | Constant K×K cross-diffusion matrix D by exact modal splitting (D = PΛP⁻¹ verified; complex, negative or defective D rejected), with ReactionDiffusion::with_cross_diffusion |
SubordinatedChernoff | Bochner–Phillips subordination of any engine |
HypoellipticChernoff | Kolmogorov, Heisenberg and Engel (step-2/3 Carnot) operators |
§Executor
ChernoffSemigroup<C, S> — wraps a ChernoffFunction and a step count;
call .evolve(t, &f) to compute (S(t/n))ⁿ f.
§Examples
| Example | Description |
|---|---|
heat_2d_demo.rs | 2D tensor heat equation (Gaussian oracle, convergence table) |
strang_advdiff_demo.rs | Strang splitting for 1D advection-diffusion |
cev_european_call.rs | CEV European option pricing vs Schroder (1989) closed form |
boundary_demo.rs | Boundary policy showcase (Dirichlet, Neumann, periodic) |
latency_tail.rs | HFT-style p99.9 latency benchmark |
resolvent_perf.rs | LaplaceChernoffResolvent L-gate bench harness |
heston_pricer.rs | Heston ρ→0 pricer via palindromic Strang |
sabr_pricer.rs | SABR-on-H² via ManifoldChernoff<Hyperbolic2> |
graph_par_speedup.rs | Parallel graph-heat speedup (--features parallel) |
rough_heston_pricer.rs | Oracle-validated risk-neutral rough-Heston pricer (--rate/--price); honest scope: solver of a 4-factor Markov approximation, not validated vs true rough-Heston |
cargo run -p semiflow --example heat_2d_demo§Bindings
| Language | Package | Notes |
|---|---|---|
| Rust | semiflow (docs.rs) | The full engine catalogue; no_std + alloc |
| Python | semiflow-pde | 90 classes and the functions version(), heisenberg_heat_kernel(), sample_gridfn2d(), edge_weight_grad(), edge_weight_grad_batched(), graph_expmv_frechet(), symmetric_op_expmv_frechet(), assemble_conservative_csr_1d(), mass_lumped_evolve(), phi_action(), phi_action_batched(), phi_combination(), shift1d_coeff_grad(), richardson_weights(); NumPy in/out; complete .pyi stubs; see the PyPI page |
| JavaScript / WASM | @semiflow/wasm | Lite build on npm; the heavy-grid engines need a --features full build; see the npm page |
| C / C++ | semiflow-ffi | extern "C" ABI with catch_unwind on every entry point; header semiflow.h |
The bindings mirror the user-facing engines, not the internal composition types
(AxisLift, StrangSplit, … are Rust-side building blocks). Variable
coefficients cross the language boundary as pre-sampled arrays (evaluated in
Rust, no call back into the host language during evolve); some classes also
accept a host-language callback (e.g. Heat1D.with_a_function in Python,
Heat1D.withAFunction in JS, smf_state_new_with_closure in C).
The Bindings guide has side-by-side examples.
§Documentation
| If you want to… | Read |
|---|---|
| Get started | Quickstart · User Guide · Install |
| Use a binding | Bindings guide (C / Python / WASM) |
| Browse the Rust API | docs.rs/semiflow |
| See worked examples | crates/semiflow/examples |
| Understand accuracy and stability policy | Precision policy · API stability |
| Read design decisions | Architecture Decision Records |
| Follow changes | CHANGELOG · GitHub Releases |
§Accuracy and design
Every numerical claim is gated in CI against a closed-form or high-order
reference oracle (convergence-order and sup-norm tests). Design principles:
no_std + alloc core; 3 runtime dependencies; SIMD hot
paths isolated to src/simd/ (AVX2 on x86_64, NEON on aarch64, scalar
fallback elsewhere); bit-reproducible parallelism across thread counts; no
unsafe in the math kernels. Builds with and without simd agree to rounding
but not always bit for bit, so golden files are tied to one configuration.
§How to cite
If you use SemiFlow in academic work, cite both the software and the theorem.
@software{volkov2026semiflow,
author = {Volkov, Ilia},
title = {{SemiFlow}: {Chernoff} Approximation of Operator Semigroups},
year = {2026},
version = {0.15.0-beta},
doi = {10.5281/zenodo.20837851},
url = {https://doi.org/10.5281/zenodo.20837851}
}
@article{Remizov2025,
author = {I. D. Remizov},
title = {Chernoff Approximations of the Solution of Linear ODE with Variable Coefficients},
journal = {Vladikavkaz Math. J.},
volume = {27},
number = {4},
pages = {124--135},
year = {2025},
doi = {10.46698/a3908-1212-5385-q}
}The concept DOI 10.5281/zenodo.20837851
always resolves to the latest version; CITATION.cff has the
full entry (GitHub’s “Cite this repository” reads it).
§License
Dual-licensed under MIT or Apache-2.0, at your option.
§Author, contributing, security
SemiFlow is created and maintained by Ilia Volkov. See CONTRIBUTING.md and CODE_OF_CONDUCT.md. Report vulnerabilities privately as described in SECURITY.md — not in public issues.
Re-exports§
pub use crate::adaptive::AdaptiveOutcome;pub use crate::adaptive::AdaptivePI;pub use crate::adjoint::AdjointApply;pub use crate::adjoint::AdjointChernoff;pub use crate::adjoint_fp::AdjointFokkerPlanckChernoff;pub use crate::adjoint_fp::Adjointable;pub use crate::adjoint_fp::MeasureState;pub use crate::approximation::assert_in_subspace;pub use crate::approximation::ApproximationSubspace;pub use crate::approximation::LadderRung;pub use crate::axis::Axis;pub use crate::axis::AxisLift;pub use crate::carnot_complex::ComplexTripleJump;pub use crate::carnot_complex::CplxGridFn5;pub use crate::carnot_complex::GAMMA_STAR;pub use crate::carnot_stepk::Filiform5X1;pub use crate::carnot_stepk::Filiform5X2;pub use crate::chernoff::ApplyChernoffExt;pub use crate::chernoff::ChernoffFunction;pub use crate::chernoff::ChernoffSemigroup;pub use crate::chernoff::Evolver;pub use crate::chernoff::Growth;pub use crate::complex::SemiflowComplex;pub use crate::conservative::steady_state_dirichlet_1d;pub use crate::conservative::ConservativeDiffusionChernoff;pub use crate::conservative_assemble::assemble_conservative_csr_1d;pub use crate::conservative_assemble::assemble_conservative_csr_nd;pub use crate::controller::ClassicalPI;pub use crate::controller::H211bFilter;pub use crate::controller::StepController;pub use crate::cross_diffusion::CrossDiffusion;pub use crate::diffusion::DiffusionChernoff;pub use crate::diffusion4::Diffusion4thChernoff;pub use crate::diffusion4_zeta4::Diffusion4thZeta4Chernoff;pub use crate::diffusion6::Diffusion6thChernoff;pub use crate::diffusion6_zeta6::Diffusion6thZeta6Chernoff;pub use crate::diffusion8_zeta8::Diffusion8thZeta8Chernoff;pub use crate::drift_reaction::DriftReactionChernoff;pub use crate::drift_reaction_zeta4::DriftReactionZeta4Chernoff;pub use crate::dual::Dual;pub use crate::entry_sensitivity::EntrySensitivity;pub use crate::error::SemiflowError;pub use crate::etdrk4::Etdrk4;pub use crate::expmv::DiffusionExpmvChernoff;pub use crate::float::SemiflowFloat;pub use crate::generator_action::CsrGenerator;pub use crate::generator_action::DivFormGenerator;pub use crate::generator_action::GeneratorAction;pub use crate::generator_action::NegLaplacianGenerator;pub use crate::graph::Graph;pub use crate::graph::Laplacian;pub use crate::graph::LaplacianKind;pub use crate::graph_adjoint_presampled::fill_abscissa_times;pub use crate::graph_adjoint_presampled::PreSampledLaplacianSeq;pub use crate::graph_adjoint_presampled::PreSampledMagnusAdj;pub use crate::graph_adjoint_presampled::PreSampledVarCoefAdj;pub use crate::graph_frechet::graph_expmv_frechet;pub use crate::graph_frechet_mesh::graph_expmv_frechet_plan;pub use crate::graph_frechet_mesh::FrechetPlan;pub use crate::graph_heat::GraphHeatChernoff;pub use crate::graph_heat4::GraphHeat4thChernoff;pub use crate::graph_heat6::GraphHeat6thChernoff;pub use crate::graph_krylov::dense_graph_expmv_ref;pub use crate::graph_krylov::graph_expmv_krylov;pub use crate::graph_krylov::graph_expmv_matvec_count;pub use crate::graph_krylov::GraphKrylovChernoff;pub use crate::graph_krylov::KrylovPath;pub use crate::graph_krylov::MAX_DENSE_N;pub use crate::graph_sensitivity::adjoint_state_gradient;pub use crate::graph_sensitivity::apply_edge_weight_deriv;pub use crate::graph_sensitivity::magnus_step_jvp_into;pub use crate::graph_sensitivity::EdgeWeightSensitivity;pub use crate::graph_sensitivity::GeneratorSensitivity;pub use crate::graph_sensitivity::NodeTimescaleSensitivity;pub use crate::graph_signal::CsrRowIter;pub use crate::graph_signal::GraphSignal;pub use crate::graph_traj::GraphTraj;pub use crate::graph_traj::SegmentWeightFn;pub use crate::graph_traj::MAX_GRAPH_TRAJ_SEGMENTS;pub use crate::graph_var_coef::VarCoefGraphHeatChernoff;pub use crate::grid::BoundaryPolicy;pub use crate::grid::Grid1D;pub use crate::grid::InterpKind;pub use crate::grid::OobPolicy;pub use crate::grid2d::Grid2D;pub use crate::grid3d::Grid3D;pub use crate::grid_fn::GridFn1D;pub use crate::grid_fn2d::GridFn2D;pub use crate::grid_fn3d::GridFn3D;pub use crate::grid_nd::GridFnND;pub use crate::grid_nd::GridND;pub use crate::gridless::GridlessChernoff;pub use crate::gridless::ParticleReduction;pub use crate::hdr::HdrSnapshot;pub use crate::heisenberg_kernel::heisenberg_heat_kernel;pub use crate::hormander::HeisenbergGroup;pub use crate::hormander::HeisenbergX;pub use crate::hormander::HeisenbergY;pub use crate::hormander::HypoellipticChernoff;pub use crate::hormander::KolmogorovDiffusionX1;pub use crate::hormander::KolmogorovDriftX0;pub use crate::hormander::KolmogorovPhaseSpace;pub use crate::hormander::VectorField;pub use crate::hormander_engel::EngelX1;pub use crate::hormander_engel::EngelX2;pub use crate::howland::HowlandLift;pub use crate::howland::HowlandState;pub use crate::howland::TimedChernoffFunction;pub use crate::killed_dirichlet::KilledDirichletChernoff;pub use crate::killing::BallRegion;pub use crate::killing::BoxRegion;pub use crate::killing::KillingChernoff;pub use crate::killing::KillingRegion;pub use crate::killing_order2::DirichletHeat2ndChernoff;pub use crate::killing_soft::ClosureKillingRate;pub use crate::killing_soft::Killing2ndChernoff;pub use crate::killing_soft::KillingRate;pub use crate::magnus6_graph::MagnusGraphHeat6thChernoff;pub use crate::magnus_graph::LaplacianAtTime;pub use crate::magnus_graph::MagnusGraphHeatChernoff;pub use crate::manifold::BoundedGeometryManifold;pub use crate::manifold::Hyperbolic2;pub use crate::manifold::Sphere2;pub use crate::manifold::Torus;pub use crate::manifold_chernoff::ManifoldChernoff;pub use crate::manifold_kahler::FubiniStudyCp1;pub use crate::mass_operator::dense_massk_expmv_ref;pub use crate::mass_operator::mass_lumped_evolve;pub use crate::mass_operator::MassKOperator;pub use crate::mass_operator::TriangularFactor;pub use crate::matrix_2d3d::MatrixDiffusionChernoff2D;pub use crate::matrix_2d3d::MatrixDiffusionChernoff3D;pub use crate::matrix_2d3d::MatrixGridFn2D;pub use crate::matrix_2d3d::MatrixGridFn3D;pub use crate::matrix_system::MatrixDiffusionChernoff;pub use crate::matrix_system::MatrixGridFn1D;pub use crate::matrix_system_complex::MatrixDiffusionChernoffComplex;pub use crate::matrix_system_complex::MatrixGridFnComplex1D;pub use crate::multilayer::multilayer_evolve;pub use crate::multilayer::Layer;pub use crate::multilayer::MassWeightedConservativeChernoff;pub use crate::multilayer::MultilayerStack;pub use crate::nonlinearity::AllenCahn;pub use crate::nonlinearity::Nonlinearity;pub use crate::nonlinearity::NonlinearityDiff;pub use crate::nonseparable2d::NonSeparable2DChernoff;pub use crate::nonseparable2d_aniso::NonSeparable2DAnisotropicChernoff;pub use crate::nonseparable_mixed::NonSeparableMixedChernoff;pub use crate::obstacle::ClosureObstacle;pub use crate::obstacle::ConstantObstacle;pub use crate::obstacle::Obstacle;pub use crate::obstacle::ObstacleChernoff;pub use crate::obstacle_nd::ObstacleChernoffND;pub use crate::phi_action::dense_phi_aug_ref;pub use crate::phi_action::phi_action;pub use crate::phi_action::phi_action_batched;pub use crate::phi_action::phi_combination;pub use crate::phi_action::phi_cost_probe;pub use crate::phi_action::PHI_MAX;pub use crate::phi_krylov::expmv_krylov;pub use crate::phi_krylov::phi_combination_krylov;pub use crate::phi_krylov::KrylovPhiOptions;pub use crate::phi_krylov::KrylovPhiReport;pub use crate::phi_krylov::PhiSolver;pub use crate::phi_shift::phi_sweep_probe;pub use crate::point_eval::sample_gridfn2d;pub use crate::point_eval::PointEval;pub use crate::quantum_graph::KirchhoffVertex;pub use crate::quantum_graph::QuantumGraph;pub use crate::quantum_graph::QuantumGraphHeatChernoff;pub use crate::quantum_graph::QuantumGraphSignal;pub use crate::quantum_schrodinger::QuantumGraphComplexSignal;pub use crate::quantum_schrodinger::QuantumSchrödingerChernoff;pub use crate::rational_krylov::rational_krylov_expmv;pub use crate::rational_krylov::RationalKrylov;pub use crate::rational_krylov::RationalKrylovChernoff;pub use crate::rational_krylov::RationalOptions;pub use crate::rational_krylov::RationalReport;pub use crate::reaction::AllenCahnReaction;pub use crate::reaction::Brusselator;pub use crate::reaction::FisherKpp;pub use crate::reaction::FitzHughNagumo;pub use crate::reaction::FnReaction;pub use crate::reaction::GrayScott;pub use crate::reaction::Kinetics;pub use crate::reaction::LinearReaction;pub use crate::reaction::Nagumo;pub use crate::reaction_diffusion::NodalField;pub use crate::reaction_diffusion::ReactionDiffusion;pub use crate::reaction_diffusion::Species;pub use crate::reaction_diffusion::SpeciesEngine;pub use crate::reaction_stiff::ReactionSolver;pub use crate::reaction_stiff::RosenbrockOptions;pub use crate::reflection::HalfSpaceRegion;pub use crate::reflection::ReflectedHeatChernoff;pub use crate::reflection::ReflectingRegion;pub use crate::resolvent::LaplaceChernoffResolvent;pub use crate::resolvent::LaplaceChernoffResolventResidual;pub use crate::resolvent::LaplaceQuadrature;pub use crate::resolvent::Sampleable;pub use crate::resolvent_complex::EvalComplex;pub use crate::resolvent_jump::ResolventJumpChernoff;pub use crate::resolvent_jump_nd::ResolventJumpChernoff2D;pub use crate::resolvent_jump_nd::ResolventJumpChernoff3D;pub use crate::reverse_ad::forward_with_checkpoints;pub use crate::reverse_ad::recompute_segment;pub use crate::reverse_ad::step_jacobian_col;pub use crate::reverse_ad::CheckpointSchedule;pub use crate::reverse_ad::ReverseChernoff;pub use crate::reverse_ad::TransposeApply;pub use crate::reverse_region::RegionMap;pub use crate::richardson::extrapolate_into;pub use crate::richardson::richardson_weights;pub use crate::richardson::StepIntegrator;pub use crate::richardson::MAX_RICHARDSON_LEVELS;pub use crate::robin::HalfSpaceRobin;pub use crate::robin::RobinHeatChernoff;pub use crate::robin::RobinRegion;pub use crate::schrodinger::SchrodingerChernoff;pub use crate::schrodinger::SchrodingerState;pub use crate::schrodinger_complex::SchrödingerChernoffComplex;pub use crate::schrodinger_complex_state::GridFnComplex1D;pub use crate::scratch::ScratchPool;pub use crate::scratch::ScratchVec;pub use crate::shift1d::ShiftChernoff1D;pub use crate::shift_nd::AnisotropicShiftChernoffND;pub use crate::shift_nd::GaussHermiteTensor;pub use crate::shift_nd::SquareMatrix;pub use crate::shift_nd_adaptive::AnisotropicShiftAdaptiveQ;pub use crate::shift_nd_zeta2::AnisotropicShiftZeta2ND;pub use crate::smolyak::SmolyakGridND;pub use crate::spd_resolvent::Precond;pub use crate::spd_resolvent::ResolventMethod;pub use crate::spd_resolvent::SolveReport;pub use crate::spd_resolvent::SpdResolvent;pub use crate::spd_resolvent::SpdSolver;pub use crate::state::Discrete;pub use crate::state::HilbertState;pub use crate::state::State;pub use crate::strang::StrangSplit;pub use crate::strang2d::Strang2D;pub use crate::strang3d::Strang3D;pub use crate::strang3d_axislift::AxisLift3D;pub use crate::strang_graph::StrangSplitGraph;pub use crate::subordinated::GammaSubordinator;pub use crate::subordinated::InverseGaussianSubordinator;pub use crate::subordinated::LevySubordinator;pub use crate::subordinated::StableSubordinator;pub use crate::subordinated::SubordinatedChernoff;pub use crate::symmetric_operator::dense_csr_expmv_ref;pub use crate::symmetric_operator::SymmetricLinearOp;pub use crate::symmetric_operator::SymmetricOperator;pub use crate::truncated_exp::TruncatedExpDiffusionChernoff;pub use crate::truncated_exp4::TruncatedExp4WithCache;pub use crate::truncated_exp4::TruncatedExp4thDiffusionChernoff;pub use crate::tt_chernoff::TtChernoff;pub use crate::tt_chernoff::TtState;pub use crate::tt_coupled::CoupledTtChernoff;pub use crate::tt_coupled::CouplingTopology;pub use crate::tt_varcoef::VarCoefTt;pub use crate::varcoef_magnus_graph::compute_rho_bar;pub use crate::varcoef_magnus_graph::VarCoefMagnusGraphHeatChernoff;pub use crate::varcoef_magnus_graph::WeightAtTime;pub use crate::wentzell::DynamicWentzellChernoff;pub use crate::wentzell::HalfSpaceWentzell;pub use crate::wentzell::WentzellRegion;pub use crate::tt_dense_coupling_api::S3DenseCouplingEvolver;s3-pocpub use crate::tt_drift_spectral_api::S3DriftSpectralEvolver;s3-pocpub use crate::tt_nonlinear_spectral::Reaction;s3-pocpub use crate::tt_nonlinear_spectral_api::S3BurgersColeHopf;s3-pocpub use crate::tt_nonlinear_spectral_api::S3ReactionDiffusion;s3-pocpub use crate::tt_nonsep_varcoef::CoefRole;s3-pocpub use crate::tt_nonsep_varcoef::CpCoef;s3-pocpub use crate::tt_nonsep_varcoef::CpTerm;s3-pocpub use crate::tt_nonsep_varcoef_api::S3NonSepVarCoefEvolver;s3-pocpub use crate::tt_varcoef_spectral::AxisCoef;s3-pocpub use crate::tt_varcoef_spectral::S3VarCoefEvolver;s3-poc
Modules§
- adaptive
AdaptivePI— generic adaptive PI integrator (Wave 4, ADR-0044).- adjoint
- Adjoint (backward) semigroup wrapper for any
ChernoffFunction<F>whose state implementsHilbertState<F>. - adjoint_
fp - Adjoint Fokker-Planck Chernoff on M(ℝ^D), weak-* topology (ADR-0107 AMD1, §38).
- approximation
ApproximationSubspace<const K, F>— opt-in marker super-trait (v3.0 B1, ADR-0073).LadderRung<const K, F>— sealed super-trait for ζ-ladder rungs (v5.0 A.6, ADR-0100).- axis
Axisdiscriminator andAxisLiftper-axis adapter.- boundary
- Boundary policies, hit records, and index/value dispatch helpers.
- carnot_
complex - Complex-time order-4 Carnot Chernoff via the complex triple-jump (ADR-0136 Amendment 2 STRONG-GO, math.md §28.bis.8, v8.0.0 F4).
- carnot_
stepk - Step-4 filiform Carnot group Chernoff approximation (ADR-0136 Amendment 1, math.md §28.bis.7, v8.0.0 F4 order-2 real baseline).
- chernoff
- Core Chernoff abstraction:
ChernoffFunctiontrait andEvolverexecutor. - complex
- v4.0 B6 —
SemiflowComplextrait (ADR-0079, math.md §30.2). - conservative
ConservativeDiffusionChernoff— order-2 conservative (FV divergence-form) variable-coefficient diffusion (ADR-0187 D2, §56).- conservative_
assemble - Harmonic-mean face assembler →
SymmetricOperator<F>(ADR-0187 D1, §56.1–56.2). - controller
- Step-size controllers for
crate::AdaptivePI(Wave 4, ADR-0044). - cross_
diffusion - Cross-diffusion with a constant matrix:
∂ₜu = DΔu + f(t, x, u)(ADR-0213, math §70). - diffusion
DiffusionChernoff— ζ-A Chernoff forA_self = ∂_x(a(x)·∂_x)(v0.3.0, ADR-0008).- diffusion4
Diffusion4thChernoff— ζ⁴ Chernoff forA_self = ∂_x(a(x)·∂_x)(v0.6.0, ADR-0013).- diffusion6
Diffusion6thChernoff— ζ⁶ Chernoff forA_self = ∂_x(a(x)·∂_x)(v0.7.0, ADR-0015).- diffusion4_
zeta4 Diffusion4thZeta4Chernoff— order-4-temporal ζ⁴ kernel (ADR-0086 Path β resolution).- diffusion6_
zeta6 Diffusion6thZeta6Chernoff— order-6-temporal ζ⁶ kernel (ADR-0088 Wave I, ADR-0086 Path β-ladder rung K=3).- diffusion8_
zeta8 Diffusion8thZeta8Chernoff— order-8-temporal ζ⁸ kernel (ADR-0088 Wave II, ADR-0090).- drift_
reaction DriftReactionChernoff— RK2 characteristic-flow Chernoff forB = b(x)∂_x + c(x)(v0.2.2, ADR-0006 Amendment 5, math.md §9.3).- drift_
reaction_ zeta4 DriftReactionZeta4Chernoff— order-4-temporal ζ⁴ sibling forL = a(x)∂ₓₓ + b(x)∂ₓ + c(x)(ADR-0131, math.md §27.7-bis, v7.0.0).- dual
Dual<F>— forward-mode dual-number scalar field for automatic differentiation.- entry_
sensitivity - Fréchet sensitivity w.r.t. individual CSR entries of a symmetric operator (ADR-0186, §55.5).
- error
- Error taxonomy for
semiflow. - etdrk4
- ETDRK4 exponential time-differencing driver (ADR-0189 §D2).
- expmv
DiffusionExpmvChernoff— tolerance-drivene^{τA}·vvia Al-Mohy & Higham (2011)expmvaction kernel (ADR-0121, math.md §45).- float
- Sealed scalar-float trait used throughout
semiflow. - general_
operator GeneralOperator— externally-assembled possibly non-symmetric CSR operator, and its scaled-truncated-Taylor action (ADR-0195, Issue #24).- generator_
action GeneratorAction<F>— minimal adapter trait over linear PDE generators (ADR-0189 §58.1).- graph
- Frozen sparse weighted graph (
Graph<F>) and graph Laplacian (Laplacian<F>) in hand-rolled CSR layout (ADR-0048, §1/§3). - graph_
adjoint_ presampled - Pre-sampled time-grid path for graph state-adjoint (ADR-0180).
- graph_
batched - Batched multi-channel evolve for graph heat kernels (ADR-0184, Issue #10).
[C, N]channel-major layout; 0-ULP vs serial (D5); hoisted GL₄/GL₆/VC samples. - graph_
frechet graph_expmv_frechet— VJP gradient via the exact Duhamel integral (ADR-0185, ADR-0203).- graph_
heat - Graph heat Chernoff kernels: order-1 (leading) and order-2 (ζ-A Taylor).
- graph_
heat4 - Order-4 graph heat Chernoff via Padé[0,4] operator Taylor truncation.
- graph_
heat6 - Order-6 graph heat Chernoff via operator-Taylor truncation.
- graph_
krylov - Depth-independent graph-semigroup action
e^{-tL_G}·vvia Krylov methods. - graph_
sensitivity - Adjoint-state parameter-sensitivity for graph / Magnus kernels (Issue #1, ADR-0115).
- graph_
signal GraphSignal<F>— denseVec<F>-backed function on a graph’s node set.- graph_
traj - Piecewise-smooth graph trajectory data structure.
- graph_
var_ coef - Variable-coefficient graph heat Chernoff with ζ-A τ²-correction.
- grid
- Uniform 1-D grid and sub-grid interpolation.
- grid2d
Grid2D— rectangular tensor-product geometry for the 2D extension.- grid3d
Grid3D— cuboid tensor-product geometry for the 3D extension.- grid_
batched - Batched multi-channel evolve for 1-D grid kernels (ADR-0194, Issue #19).
- grid_fn
GridFn1D— a function sampled on aGrid1D, implementingState.- grid_
fn2d GridFn2D— a function sampled on aGrid2D, implementingState.- grid_
fn3d GridFn3D— a function sampled on aGrid3D, implementingState.- grid_nd
GridNDandGridFnND— d-dimensional tensor-product grid (v4.0 Wave C).- gridless
- Gridless particle-ensemble Chernoff evolver —
GridlessChernoff(v9.0.0, ADR-0155). - hdr
- HDR percentile snapshot for L-gate latency harness.
- heisenberg_
kernel - Heisenberg group H₁ heat kernel oracle via Gaveau-Hulanicki integral form.
- hormander
- v3.1 A3 — Hörmander hypoelliptic Chernoff approximation (math.md §28, ADR-0077).
- hormander_
engel - Engel step-3 filiform Carnot group Chernoff approximation (ADR-0095, math.md §28.bis).
- howland
- B2 — Howland Nonautonomous Lift (math.md §23, ADR-0070).
- killed_
dirichlet - Order-2 hard absorbing wall via the killed Dirichlet generator Cayley map.
- killing
- Operator-level Dirichlet via Feynman–Kac killing (Butko 2018).
- killing_
order2 - §21.9 — Order-2 hard-wall Dirichlet via the ODD (antisymmetric) image method (ADR-0176).
- killing_
soft Killing2ndChernoff<C, K, F>— order-2 soft killing via symmetric Strang split.- magnus6_
graph - Sixth-order Magnus expansion for time-dependent graph heat:
∂_t u = −L_G(t) uon a fixed-topology weighted graph. - magnus_
graph - Fourth-order Magnus expansion for time-dependent graph heat:
∂_t u = −L_G(t) uon a fixed-topology weighted graph. - magnus_
graph_ adjoint - Graph state-adjoint for the truncated Magnus K=4 map (Issue #2, ADR-0115).
- manifold
- A4 — Riemannian Manifold Chernoff (math.md §24, ADR-0071).
- manifold_
chernoff ManifoldChernoff<M, F>— Riemannian Chernoff wrapper (math.md §24, ADR-0071).- manifold_
hyperbolic Hyperbolic2<F>— Poincaré disk backend forBoundedGeometryManifold.- manifold_
kahler - B5 (ADR-0129) — CP¹ Fubini-Study Kähler manifold backend (math.md §24.7-bis).
- mass_
operator - Generalized
(M, K)entry point for lumped and consistent mass matrices (ADR-0186, §55.3–§55.4). - matrix_
2d3d MatrixDiffusionChernoff2D/3D— per-axis palindromic Strang for M-component coupled diffusion on 2D/3D tensor-product grids (ADR-0124).- matrix_
system - v4.x Wave 2 —
MatrixDiffusionChernoff<F, M>with palindromic Strang splitting. - matrix_
system_ complex - Complex matrix-valued Chernoff kernel (ADR-0128, §33.8 Para 3).
- multilayer
- Multilayer thermal stack for stiff multi-material conduction (§57, issue #14).
- nonlinearity
Nonlinearity<F>andNonlinearityDiff<F>traits + concrete impls (ADR-0189 §D3).- nonseparable2d
NonSeparable2DChernoff— thin compatibility shim (v2.2 Wave C, ADR-0058).- nonseparable2d_
aniso NonSeparable2DAnisotropicChernoff— thin compatibility shim (v2.2 Wave C, ADR-0058).- nonseparable_
mixed NonSeparableMixedChernoff<X, Y, F, S>— generic non-separable 2D Chernoff operator.- nonseparable_
mixed_ closure - Closure-backed coupling implementations for
NonSeparableMixedChernoff. - obstacle
- Projective-splitting obstacle evolver / variational inequalities (math §44).
- obstacle_
gamma - Inactive-set Γ = V″ primitive for
ObstacleChernoff(math §44.5.bis). - obstacle_
nd - D≥2 projective-splitting obstacle evolver (math §44.5.ter).
- phi_
action - φ-function actions via the augmented-matrix construction (ADR-0189 §58.2).
- phi_
krylov - Adaptive Krylov (Arnoldi) φ-combination for any generator (ADR-0211, math §68).
- point_
eval - v4.0 A6 —
PointEval<F>first-class API (ADR-0080, math.md §31). - quantum_
graph - v3.1 B7 — Quantum graphs, Kirchhoff vertex condition (math §29, ADR-0078).
- quantum_
schrodinger - v7.0.0 #16 — Schrödinger on quantum graphs via complex Kirchhoff (ADR-0130, math §30.5-bis).
- rational_
krylov - Rational (shift-and-invert) Krylov action
e^{−t·M⁻¹A}·vfor SPD sparse operators (ADR-0206, math §66). - reaction
- Pointwise reaction terms
∂ₜu = f(t, x, u)forReactionDiffusion(ADR-0208). - reaction_
diffusion - Semilinear reaction–diffusion systems on any Chernoff engine (ADR-0208).
- reaction_
stiff - Stiff kinetics: adaptive two-stage Rosenbrock (ROS2) reaction flow (ADR-0212, math §69).
- reflection
- B4 — Neumann via image method (math.md §25, ADR-0072).
- reflection_
regions - Additive
ReflectingRegion<F>impls forBoxRegion<F, D>andBallRegion<F, D>. - resolvent
- A1 — Laplace-Chernoff Resolvent (math.md §22, ADR-0069).
- resolvent_
complex - Complex-λ Laplace-Chernoff resolvent (math.md §22.9, ADR-0127).
- resolvent_
jump - F2 — Resolvent time-jump amortization (math.md §47, ADR-0134).
- resolvent_
jump_ nd - F2 — 2D/3D parabolic LHP backends (math.md §47.8, ADR-0148, v8.2.0).
- reverse_
ad ReverseChernoff— genuine reverse-mode AD over(F(τ))ⁿvia binomial checkpointing (math §51, ADR-0156 Amendment 2; v9.1.0 Shift B GENUINE).- reverse_
region - DoF-aligned region partition for K>1 reverse-AD (§51.10, ADR-0177).
RegionMap— DoF-aligned region partition for K>1 reverse-AD (math §51.10, ADR-0177; issue #1). - richardson
- Richardson extrapolation in the step count (ADR-0207).
- robin
- A.3 Robin BC partial-additive port (math.md §3.5.tris, ADR-0098).
- schrodinger
- Schrödinger Chernoff
i ψ_t = (−Δ + V(x)) ψvia palindromic Strang splitting. - schrodinger_
complex - v4.0 B6 — Schrödinger Option B native-complex implementation (ADR-0079, math.md §30.3).
- scratch
- Grow-only scratch-buffer pool for allocation-free Chernoff hot loops (Wave 1, ADR-0041).
- shift1d
ShiftChernoff1D— Chernoff function forL = a(x)∂² + b(x)∂ + c(x).- shift1d_
vjp - Gradients w.r.t.
ShiftChernoff1D’s coefficient fields (ADR-0197, Issue #25). - shift_
nd - v4.0 A2 —
AnisotropicShiftChernoffND<F, const D: usize>flagship (ADR-0081, math.md §32). - shift_
nd_ adaptive - ADR-0122 — adaptive per-point Gauss-Hermite quadrature
qforAnisotropicShiftChernoffND(math.md §32.8). - shift_
nd_ zeta2 - ADR-0112 AMENDMENT 2 — order-2 ζ² correction for
AnisotropicShiftChernoffND. - smolyak
- ADR-0123 —
SmolyakGridND<F, const D: usize>sparse-grid quadrature backend. - spd_
resolvent - SPD resolvent / steady solve
x = (λ·M + A)⁻¹ b(ADR-0202 D1, math §62.1–§62.2). - state
State,HilbertState, andDiscretetraits — 3-layer vector interface for Chernoff iteration (Wave 3, ADR-0043, v2.0 MAJOR).- strang
StrangSplit— Strang operator-splitting composer.- strang2d
Strang2D— palindromic Strang composition for 2D tensor-product generators.- strang2d_
pencil Strang2DPencil— palindromic Strang with per-pencil 1-D kernels (ADR-0196, Issue #21).- strang3d
Strang3Dpalindromic composition for 3D tensor-product generators.- strang3d_
axislift AxisLift3D— per-axis adapter lifting a 1DChernoffFunctionto 3D.- strang_
graph - Palindromic Strang split for commuting graph Chernoff kernels.
- subordinated
- A.5 —
SubordinatedChernoffvia Butko 2018 (math.md §37, ADR-0103). - symmetric_
operator - Generic symmetric positive-semidefinite operator entry point (ADR-0186, §55).
- truncated_
exp TruncatedExpDiffusionChernoff— truncated-exp K=4 Chernoff forA_self = ∂_x(a(x)·∂_x)(v0.4.0, ADR-0011).- truncated_
exp4 TruncatedExp4thDiffusionChernoff— truncated-exp K=4 + 4th-order stencil (v0.6.0, ADR-0013).- truncated_
exp4_ cached - Wave B2 cache types for
TruncatedExp4thDiffusionChernoff(v0.13.0, ADR-0034 Amendment 1). - tt_
chernoff - TT-Chernoff evolver — tensor-train Chernoff semigroup (math §50, §52.2 Amd 1).
- tt_core
- TT-core data structures and SVD rounding kernel (
no_std+alloc, no new deps). - tt_
coupled CoupledTtChernoff— genuine cross-axis TT evolver (v9.1.0 Shift C, §52.9).- tt_
dense_ coupling s3-poc - S³ POC — Dense / non-adjacent (all-pairs) coupling curse-escape.
- tt_
dense_ coupling_ api s3-poc - Public wrapper type for
tt_dense_coupling(ADR-0169, v9.2.0). - tt_
drift_ spectral s3-poc - S³ POC — Complex-spectral drift pair factor (
DriftSpectralPairFactor). - tt_
drift_ spectral_ api s3-poc - Public wrapper type for
tt_drift_spectral(ADR-0169, v9.2.0). - tt_
nonlinear_ spectral s3-poc - S³ nonlinear POC — Cole-Hopf Burgers (Seam A) + Strang-split RD (Seam B).
- tt_
nonlinear_ spectral_ api s3-poc - Public wrapper types for
tt_nonlinear_spectral(ADR-0169, v9.2.0). - tt_
nonsep_ varcoef s3-poc - S³ POC — Non-separable variable-coefficient evolver (
NonSepVarCoefSpectral). - tt_
nonsep_ varcoef_ api s3-poc - Public wrapper type for
tt_nonsep_varcoef(ADR-0169, v9.2.0). - tt_
varcoef VarCoefTt— additive-separable variable-coefficient evolver oncrate::tt_chernoff::TtState.- tt_
varcoef_ spectral s3-poc - S³ POC — Variable-coefficient additive-split evolver (
VarCoefSplitSpectral). - varcoef_
magnus_ graph - Variable-coefficient × time-dependent Magnus K=4 on graphs (ADR-0063).
- wentzell
- C-9 — Dynamic Wentzell/Robin BC via implicit Cayley boundary step (math.md §49, ADR-0151).
Macros§
- impl_
state_ for_ gridfn - Generate
State<F>andHilbertState<F>impls for a grid-fn type.
Structs§
- Frechet
Plan - Pure cost/accuracy plan of one
graph_expmv_frechetchannel. - Grid
FnComplex1D - Native complex grid function:
ψ(x_i) ∈ Cfor each nodei.
Functions§
- graph_
expmv_ frechet_ plan - Predict node count, chain length, max degree, rounding weight and
SpMVbound (§63.8). Pure. - phi_
sweep_ probe (s, m)the φ-actions actually use foropandtau— shift-aware, unlikecrate::phi_action::phi_cost_probe, which takes only a norm. Each φ sweep costss·mgenerator applications.(0, 0)for an invalidτor bound.