9. 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.
- 9.1. Description of the SUNMATRIX Modules
- 9.2. Description of the SUNMATRIX operations
- 9.3. SUNMATRIX functions used by ARKODE
- 9.4. SUNMatrix functions used by CVODE
- 9.5. SUNMatrix functions used by CVODES
- 9.6. SUNMatrix functions used by IDA
- 9.7. SUNMatrix functions used by IDAS
- 9.8. SUNMatrix functions used by KINSOL
- 9.9. The SUNMATRIX_DENSE Module
- 9.10. The SUNMATRIX_MAGMADENSE Module
- 9.11. The SUNMATRIX_ONEMKLDENSE Module
- 9.12. The SUNMATRIX_BAND Module
- 9.13. The SUNMATRIX_CUSPARSE Module
- 9.14. The SUNMATRIX_SPARSE Module
- 9.15. The SUNMATRIX_SLUNRLOC Module
- 9.16. The SUNMATRIX_GINKGO Module
- 9.17. The SUNMATRIX_KOKKOSDENSE Module
- 9.18. SUNMATRIX Examples