Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
solvax
solvax

Start here

  • Getting started
  • Choosing a method
  • Mathematical and implementation conventions

Structured direct solvers

  • Block-tridiagonal solvers
  • Banded and periodic-banded LU
  • Batched tridiagonal solve
  • Spectral Fourier–Helmholtz elliptic solve

Iterative and nonlinear solvers

  • FGMRES and GCROT recycling
  • Preconditioned conjugate gradients
  • Fixed-point acceleration

Solver infrastructure

  • Linear operator models
  • Preconditioners
  • Matrix-free nonlinear solves and implicit differentiation
  • Mixed-precision iterative refinement
  • Memory-bounded Jacobians
  • Sharding and communication
  • Native SuperLU bridge

Tutorials

  • Tutorials
    • Tutorial: a reusable block-tridiagonal transport solve
    • Tutorial: matrix-free anisotropic PDE with a line preconditioner
    • Tutorial: matrix-free Newton-Krylov for a nonlinear PDE
    • Tutorial: differentiate a converged matrix-free solve

Benchmarks & testing

  • Benchmarks
    • Bounded-memory truncated adjoint
    • Mixed-precision amortized adjoint
    • Communication accounting
    • Problem-suite robustness sweeps
    • Baseline comparisons
    • Kinetic transport inversion
  • Test taxonomy

Reference

  • API reference
    • Operator API
    • Structured direct solver API
    • Elliptic API
    • Krylov API
    • PCG API
    • Fixed-point API
    • Preconditioner API
    • Implicit solves and differentiation API
    • Autodiff and refinement API
    • Native bridge API
  • Release 0.8.7
  • Release 0.8.6
  • Release 0.8.5
  • Release 0.8.4
  • Release 0.8.3
  • Release 0.8.2
  • Release 0.8.1
  • Release 0.8.0
  • Release 0.7.3
  • Release 0.7.2
  • Release 0.7.1
Back to top
Copyright © 2026, UW Plasma group
Made with Sphinx and @pradyunsg's Furo