AMGCL
latest
Algebraic Multigrid
Design Principles
Components
Backends
Value Types
Matrix Adapters
Iterative Solvers
Preconditioners
Relaxation
Coarsening Strategies
Coupling Solvers with Preconditioners
Tutorial
Examples
Benchmarks
Compilation issues
Bibliography
AMGCL
Docs
»
Components
Edit on GitHub
Components
¶
AMGCL defines the following algorithmic components:
Backends
OpenMP (builtin) backend
OpenMP (builtin) hybrid backend
NVIDIA CUDA backend
VexCL backend
VexCL hybrid backend
ViennaCL backend
Eigen backend
Blaze backend
Value Types
Scalar values
Complex values
Statically sized matrices
Eigen static matrices
Matrix Adapters
Tuple of CRS arrays
Zero copy
Block matrix
Scaled system
Reordered system
Eigen matrix
Epetra matrix
uBlas matrix
Iterative Solvers
CG
BiCGStab
BiCGStab(L)
GMRES
“Loose” GMRES (LGMRES)
Flexible GMRES (FGMRES)
IDR(s)
Richardson iteration
PreOnly
Preconditioners
General preconditioners
AMG
Single-level relaxation
Dummy
Composite preconditioners
CPR
CPR (DRS)
Schur Pressure Correction
Relaxation
Damped Jacobi
Gauss-Seidel
Chebyshev
Incomplete LU relaxation
ILU0
ILUK
ILUP
ILUT
Sparse Approximate Inverse relaxation
SPAI0
SPAI1
Scalar to Block convertor
Coarsening Strategies
Ruge-Stuben
Aggregation-based coarsening
Aggregation
Smoothed Aggregation
Smoothed Aggregation with Energy Minimization
Block to Scalar convertor
Coupling Solvers with Preconditioners
make_solver
make_block_solver
deflated_solver