HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 11 Introduction to Distributed SuperLU 773
Solve systems of linear equations pdgssvx/ pzgssvx, pdgssvx_ABglobal/pzgssvx_ABglobal
• options->RowPerm, to specify how to permute the rows of A (typically to
control numerical stability).
• options->ColPerm, to specify how to permute the columns of A (typically
to control fill-in and enhance parallelsim during factorization).
•
options->ReplaceTinyPivot, to specify how to deal with tiny pivots
encountered during factorization (to control numerical stability).
The outputs returned include:
•
ScalePermstruct, modified to describe how the input matrix A was
equilibrated and permuted:
• ScalePermstruct->R, array of row scale factors.
• ScalePermstruct->C, array of column scale factors.
• ScalePermstruct->perm_r, row permutation vector.
• ScalePermstruct->perm_c, column permutation vector.
• A, the input matrix A overwritten by the scaled and permuted matrix
Pc*Pr*diag(R)*A*diag(C) where
Pr and Pc are row and columns permutation matrices determined by
ScalePermstruct->perm_r and ScalePermstruct-->perm_c respectively,
and
diag(R) and diag(C) are diagonal scaling matrices determined by
ScalePermstruct->DiagScale, ScalePermstruct->R and
ScalePermstruct->C.
• LUstruct, which contains the L and U factorization of A1 where:
A1 = Pc*Pr*diag(R)*A*diag(C)*Pc^t = L*U
NOTE A1 = Aout*Pc^T, where Aout is the matrix stored in A on output.
3. The second value of options->Fact assumes that a matrix with the same
sparsity pattern as A has already been factored.
• options->Fact = SamePattern: A is factored, assuming that it has the
same nonzero pattern as a previously factored matrix. In this case the
algorithm saves time by reusing the previously computed column
permutation vector stored in ScalePermstruct->perm_c and the
elimination tree of A stored in LUstruct->etree.
In this case the user must still specify the following options as before:
• options->Equil
• options->RowPerm
• options->ReplaceTinyPivot