Function Description
KML_SOLVER (sparse solver library) provides both direct and iterative solvers, supporting single-node multiple-threading and cluster-based MPI multi-processing.
- KML_SOLVER provides single-process solvers for sparse linear equations. A sparse matrix is defined as a matrix in which the majority of elements are zero. The following methods are involved:
- Iterative solution: Conjugate Gradient (CG) supports single-precision and double-precision real numbers, but does not support complex numbers.
- Iterative solution: Generalized conjugate residual (GCR) supports single-precision and double-precision real numbers, but does not support complex numbers.
- Direct solution: LDLT factorization and solution for symmetric indefinite matrices, supporting four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- Direct solution: lower–upper (LU) factorization and solution for general matrices, supporting four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- Direct solution: LLT/LLH factorization and solution for symmetric positive-definite matrices, supporting four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- Direct solution: Direct Sparse Solver (DSS), which automatically selects the optimal solution method based on the matrix type. This interface is recommended for the direct solutions.
- Supports symmetric positive-definite, symmetric indefinite, Hermitian positive-definite, Hermitian indefinite, structurally symmetric, and unsymmetric (general) matrices.
- Supports four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- KML_SOLVER provides single-process preconditioners. The following preconditioners are involved:
- Structured ILU0: supports single-precision real numbers but does not support double-precision real numbers, single-precision complex numbers, or double-precision complex numbers.
- ILU0: supports single-precision and double-precision real numbers, but does not support complex numbers.
- KML_SOLVER also provides solvers for linear systems for multi-process environments. The following methods are involved:
- Iterative solution: CG supports single-precision and double-precision real numbers, but does not support complex numbers.
- Iterative solution: BICGSTAB supports single-precision and double-precision real numbers, but does not support complex numbers.
- Iterative solution: GMRES supports single-precision and double-precision real numbers, but does not support complex numbers.
- Iterative solution: CSI supports single-precision and double-precision real numbers, but does not support complex numbers.
- Direct solution: SCADSS-LDLT factorization and solution for symmetric indefinite matrices, supporting four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- Direct solution: SCADSS-LU factorization and solution for general matrices, supporting four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- Direct solution: SCADSS-LLT/LLH factorization and solution for symmetric positive-definite matrices, supporting four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- Iterative solution: Hybrid Multigrid (HMG) supports structured matrices.
- Iterative solution: TYAMG supports data in CSR format, but does not support data in CSC or COO format. PMIS coarsening and HMIS coarsening are supported.
- Direct solution: scalable DSS (SCADSS), which automatically selects the optimal solution method based on the matrix type. This interface is recommended for the direct solution using SCADSS.
- Supports symmetric positive-definite, symmetric indefinite, Hermitian positive-definite, Hermitian indefinite, structurally symmetric, and general matrices.
- Supports four data types: single-precision real numbers, double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
- KML_SOLVER also provides preconditioners for multi-process environments. The following preconditioners are involved:
- ICC: supports single-precision and double-precision real numbers, but does not support complex numbers.
- ILU0: supports single-precision and double-precision real numbers, but does not support complex numbers.
- SOR: supports single-precision and double-precision real numbers, but does not support complex numbers.
- ILUT: supports single-precision and double-precision real numbers, but does not support complex numbers.
- AMG: supports single-precision and double-precision real numbers, but does not support complex numbers.
Parent topic: KML_SOLVER Library Functions