Summary of Matrix Types Available In PETSc#
Format |
Matrix Types |
Constructor |
External Packages |
Details |
---|---|---|---|---|
CSR |
Compressed sparse row |
|||
Intel oneAPI MKL |
OpenMP support |
|||
SIMD acceleration |
||||
Vectorized version |
||||
NVIDIA cuSPARSE library |
NVIDIA GPU acceleration |
|||
Kokkos |
GPU acceleration |
|||
Constant row length |
Vectorized version |
|||
Multiple applications of single |
Commonly used for identical interpolations on each component of a multi-component vector |
|||
Kronecker product of sparse matrix ; |
||||
Sliced Ellpack |
SIMD and GPU acceleration |
|||
Block CSR |
Block compressed sparse row |
|||
Symmetric Block CSR |
Upper triangular compressed sparse row |
|||
Dense |
Row oriented storage |
|||
|
Elemental by Jack Poulson |
Block cyclic storage |
||
ScaLAPACK |
Block cyclic storage |
|||
NVIDIA GPU Acceleration |
||||
|
Provides only matrix-vector products |
|||
User-provided operations |
||||
Low-rank updates |
|
|
limited-memory BFGS style matrices |
|
FFT |
FFTW |
|||
|
NVIDIA’s CuFFT |
NVIDIA GPUs |
||
Hierarchical |
Htool |
|||
matrices |
||||
Transpose, , virtual |
||||
Hermitian Transpose, , virtual |
||||
Normal, , virtual |
||||
Hermitian Normal, , virtual |
||||
Schur complement |
||||
Sub-matrix, virtual |
Provides |
|||
|
For use in matrix assembly |
|||
Nested matrix |
||||
Scatter operator |
||||
Centering operator |
|
, |
||
Block matrix |