10. Matrix Data StructuresΒΆ
The SUNDIALS library comes packaged with a variety of SUNMatrix
implementations, designed for simulations requiring direct linear
solvers for problems in serial or shared-memory parallel
environments. SUNDIALS additionally provides a simple interface for
generic matrices (akin to a C++ abstract base class). All of the
major SUNDIALS packages (CVODE(s), IDA(s), KINSOL, ARKODE), are
constructed to only depend on these generic matrix operations, making
them immediately extensible to new user-defined matrix objects. For
each of the SUNDIALS-provided matrix types, SUNDIALS also provides
SUNLinearSolver
implementations that factor these
matrix objects and use them in the solution of linear systems.
- 10.1. Description of the SUNMATRIX Modules
- 10.2. Description of the SUNMATRIX operations
- 10.3. SUNMATRIX functions used by ARKODE
- 10.4. SUNMatrix functions used by CVODE
- 10.5. SUNMatrix functions used by CVODES
- 10.6. SUNMatrix functions used by IDA
- 10.7. SUNMatrix functions used by IDAS
- 10.8. SUNMatrix functions used by KINSOL
- 10.9. The SUNMATRIX_DENSE Module
- 10.10. The SUNMATRIX_MAGMADENSE Module
- 10.11. The SUNMATRIX_ONEMKLDENSE Module
- 10.12. The SUNMATRIX_BAND Module
- 10.13. The SUNMATRIX_CUSPARSE Module
- 10.14. The SUNMATRIX_SPARSE Module
- 10.15. The SUNMATRIX_SLUNRLOC Module
- 10.16. The SUNMATRIX_GINKGO Module
- 10.17. The SUNMATRIX_KOKKOSDENSE Module
- 10.18. SUNMATRIX Examples