cluster_sparse_solver iparm Parameter
The following table describes all individual components of the Parallel Direct Sparse Solver for Clusters Interface
iparm
parameter. Components which are not used must be initialized with 0. Default values are denoted with an asterisk (*).
Component
| Description
| |
---|---|---|
iparm [0]input
| Use default values.
| |
0
| iparm [1]iparm (64) | |
!=0
| You must supply all values in components
iparm [1]iparm (64) | |
iparm [1]input
| Fill-in reducing ordering for the input matrix.
| |
2*
| The nested dissection algorithm from the METIS package
[Karypis98].
| |
3
| The parallel version of the nested dissection algorithm. It can decrease the time of computations on multi-core computers, especially when Phase 1 takes significant time.
| |
10
| The MPI version of the nested dissection and symbolic factorization algorithms. The input matrix for the reordering must be distributed among different MPI processes without any intersection. Use
iparm [40]iparm [41]If you set
iparm [1]comm = -1iparm [40]iparm [41]n 0 and
n - 1 | |
iparm [2] | Reserved. Set to zero.
| |
iparm[4] input
| User permutation.
This parameter controls whether user supplied fill-in reducing permutation is used instead of the integrated multiple-minimum degree or nested dissection algorithms. Another use of this parameter is to control obtaining the fill-in reducing permutation vector calculated during the reordering stage of
Intel® oneAPI Math Kernel Library This option is useful for testing reordering algorithms, adapting the code to special applications problems (for instance, to move zero diagonal elements to the end of
P *A *P T perm parameter.
| |
0
| User permutation in the
perm array is ignored.
| |
1
| Intel® oneAPI Math Kernel Library perm array.
iparm [1] | |
2
| Intel® oneAPI Math Kernel Library perm array.
| |
iparm [5]input
| Write solution on
x .
The array
x is always used.
| |
0*
| The array
x contains the solution; right-hand side vector
b is kept unchanged.
| |
1
| The solver stores the solution on the right-hand side
b .
| |
iparm [6]output
| Number of iterative refinement steps performed.
Reports the number of iterative refinement steps that were actually performed during the solve step.
| |
iparm [7]input
| Iterative refinement step.
On entry to the solve and iterative refinement step,
iparm [7] | |
0*
| The solver automatically performs two steps of iterative refinement when perturbed pivots are obtained during the numerical factorization.
| |
>0
| Maximum number of iterative refinement steps that the solver performs. The solver performs not more than the absolute value of
iparm [7]
The number of executed iterations is reported in
iparm [6] | |
<0
| Same as above, but the accumulation of the residuum uses extended precision real and complex data types.
Perturbed pivots result in iterative refinement (independent of
iparm [7]=0 ) and the number of executed iterations is reported in
iparm [6] | |
iparm [8] | Reserved. Set to zero.
| |
iparm [9]input
| Pivoting perturbation.
This parameter instructs Parallel Direct Sparse Solver for Clusters Interface how to handle small pivots or zero pivots for nonsymmetric matrices ( mtype =11mtype =13mtype =-2mtype =-4mtype =6Small pivots are perturbed with
eps = 10 .
- iparm [9]The magnitude of the potential pivot is tested against a constant threshold of
alpha = eps*|| A2 ||inf ,where
eps = 10 ,
(- iparm [9]A2 =
P *P MPS *D r *A *D c *P || is the infinity norm of the scaled and permuted matrix
A2 ||inf A . Any tiny pivots encountered during elimination are set to the sign
( , which trades off some numerical stability for the ability to keep pivots from getting too small. Small pivots are therefore perturbed with
l I I A2 ||inf eps = 10 .
(- iparm [9] | |
13*
| The default value for nonsymmetric matrices( mtype =11,
mtype =13),
eps = 10 .
-13 | |
8*
| The default value for symmetric indefinite matrices ( mtype =-2,
mtype =-4,
mtype =6),
eps = 10 .
-8 | |
iparm [10]input
| Scaling vectors.
Parallel Direct Sparse Solver for Clusters Interface uses a maximum weight matching algorithm to permute large elements on the diagonal and to scale.
Use
iparm [10]iparm [12]phase =11 ) you must provide the numerical values of the matrix
A in array
a in case of scaling and symmetric weighted matching.
| |
0*
| Disable scaling. Default for symmetric indefinite matrices.
| |
1*
| Enable scaling. Default for nonsymmetric matrices.
Scale the matrix so that the diagonal elements are equal to 1 and the absolute values of the off-diagonal entries are less or equal to 1. This scaling method is applied to nonsymmetric matrices ( mtype = 11,
mtype = 13). The scaling can also be used for symmetric indefinite matrices (mtype = -2,
mtype = -4,
mtype = 6) when the symmetric weighted matchings are applied (iparm [12]Note that in the analysis phase ( phase =11) you must provide the numerical values of the matrix
A in case of scaling.
| |
iparm [11] | Solve with transposed or conjugate transposed matrix
A .
For real matrices, the terms
transposed and
conjugate transposed are equivalent.
| |
0*
| Solve a linear system
AX =
B .
| |
1
| Solve a conjugate transposed system
A H X =
B based on the factorization of the matrix
A .
| |
2
| Solve a transposed system
A T X =
B based on the factorization of the matrix
A .
| |
iparm [12]input
| Improved accuracy using (non-) symmetric weighted matching.
Parallel Direct Sparse Solver for Clusters Interface can use a maximum weighted matching algorithm to permute large elements close the diagonal. This strategy adds an additional level of reliability to the factorization methods and complements the alternative of using more complete pivoting techniques during the numerical factorization.
| |
0*
| Disable matching. Default for symmetric indefinite matrices.
| |
1*
| Enable matching. Default for nonsymmetric matrices.
Maximum weighted matching algorithm to permute large elements close to the diagonal.
It is recommended to use
iparm [10]iparm [12]Note that in the analysis phase ( phase =11) you must provide the numerical values of the matrix
A in case of symmetric weighted matching.
| |
iparm [13]output
| Number of perturbed pivots.
After factorization, contains the number of perturbed pivots for the matrix types: 1, 3, 11, 13, -2, -4 and 6.
| |
iparm [14]output
| Peak memory on symbolic factorization.
The total peak memory in kilobytes that the solver needs during the analysis and symbolic factorization phase.
This value is only computed in phase 1.
| |
iparm [15]output
| Permanent memory on symbolic factorization.
Permanent memory from the analysis and symbolic factorization phase in kilobytes that the solver needs in the factorization and solve phases.
This value is only computed in phase 1.
| |
iparm [16]output
| Size of factors/Peak memory on numerical factorization and solution.
This parameter provides the size in kilobytes of the total memory consumed by in-core
Intel® oneAPI Math Kernel Library iparm [62] | |
iparm [17]input/output
| Report the number of non-zero elements in the factors.
| |
<0
| Enable reporting if
iparm [17] | |
>=0
| Disable reporting.
| |
iparm [18]iparm [19] | Reserved. Set to zero.
| |
iparm [20]input
| Pivoting for symmetric indefinite matrices.
| |
0
| Apply 1x1 diagonal pivoting during the factorization process.
| |
1*
| Apply 1x1 and 2x2 Bunch-Kaufman pivoting during the factorization process. Bunch-Kaufman pivoting is available for matrices of
mtype =-2mtype =-4mtype =6 | |
iparm [21]output
| Inertia: number of positive eigenvalues.
Intel® oneAPI Math Kernel Library | |
iparm [22]output
| Inertia: number of negative eigenvalues.
Intel® oneAPI Math Kernel Library | |
iparm [23]iparm [25] | Reserved. Set to zero.
| |
iparm [26]input
| Matrix checker.
| |
0*
| Do not check the sparse matrix representation for errors.
| |
1
| Check integer arrays
ia and
ja . In particular, check whether the column indices are sorted in increasing order within each row.
| |
iparm [27]input
| Single or double precision Parallel Direct Sparse Solver for Clusters Interface.
See
iparm [7] | |
0*
| Input arrays ( a ,
x and
b ) and all internal arrays must be presented in double precision.
| |
1
| Input arrays ( a ,
x and
b ) must be presented in single precision.
In this case all internal computations are performed in single precision.
| |
iparm [28] | Reserved. Set to zero.
| |