Function Description
KML_SOLVER (sparse solver library) provides direct solvers and iterative solvers, and supports multiple threads on a single node and multiple MPI processes in a cluster.
KML_SOLVER functions solve systems of sparse linear equations on a single node. The majority of elements in a sparse matrix are zero. The following methods are involved:
- Conjugate gradient (CG) supports single-precision and double-precision real numbers, but does not support complex numbers.
- Generalized conjugate residual (GCR) supports single-precision and double-precision real numbers, but does not support complex numbers.
- LDLT decomposition and solution support the solution of symmetric indefinite matrices and four data types: single-precision real number, double-precision real number, single-precision complex number, and double-precision complex number.
- LU decomposition and solution support the solution of general matrices and four data types: single-precision real number, double-precision real number, single-precision complex number, and double-precision complex number.
KML_SOLVER functions provide a single-node preconditioner.
- The structured ILU0 preconditioner supports single-precision real numbers and does not support double-precision real numbers, single-precision complex numbers, and double-precision complex numbers.
KML_SOLVER functions also solve systems of linear equations in clusters. 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.
- Direct solution: Cholesky factorization supports four data types: single-precision real number, double-precision real number, single-precision complex number, and double-precision complex number. LLT factorization is used for a real symmetric positive definite matrix, and LLH factorization is used for a complex Hermitian positive definite matrix.
KML_SOLVER functions also provide cluster preconditioners. 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.
Parent topic: KML_SOLVER Library Functions