Visible to Intel only — GUID: GUID-25061027-AC23-4BD5-80F6-48168458416F
Visible to Intel only — GUID: GUID-25061027-AC23-4BD5-80F6-48168458416F
mkl_pardiso_pivot
Replaces routine which handles Intel® oneAPI Math Kernel Library (oneMKL) PARDISO pivots with user-defined routine.
Syntax
void mkl_pardiso_pivot (const void *ai, void *bi, const void *eps);
Include Files
- mkl.h
Description
The mkl_pardiso_pivotroutine allows you to handle diagonal elements which arise during numerical factorization that are zero or near zero. By default, Intel® oneAPI Math Kernel Library (oneMKL) PARDISO determines that a diagonal elementbi is a pivot if bi < eps, and if so, replaces it with eps. But you can provide your own routine to modify the resulting factorized matrix in case there are small elements on the diagonal during the factorization step.
To use this routine, you must set iparm[55] to 1 before the main pardiso loop.
The matrix types mtype=2 (symmetric positive-definite matrix) and mtype=4 (complex and Hermitian positive definite) are not supported, because the Cholesky factorization without pivoting is used for these matrix types.
Input Parameters
- ai
-
Diagonal element of initial matrix corresponding to pivot element.
- bi
-
Diagonal element of factorized matrix that could be chosen as a pivot element.
- eps
-
Scalar to compare with diagonal of factorized matrix. On input equal to parameter described by iparm[9].
Output Parameters
- bi
-
In case element is chosen as a pivot, value with which to replace the pivot.