HP MLIB User's Guide Vol. 2 7th Ed.

Chapter 11 Introduction to Distributed SuperLU 775
Solve systems of linear equations pdgssvx/ pzgssvx, pdgssvx_ABglobal/pzgssvx_ABglobal
ScalePermstruct->perm_c, the column permutation of the previous
matrix.
all of LUstruct, the previously computed information about L and U
(the actual numerical values of L and U stored in
LUstruct->Llu are
ignored).
The outputs returned include:
A, the input matrix A overwritten by the scaled an permuted matrix
as described above.
ScalePermstruct, modified to describe how the input matrix A was
equilibrated (thus ScalePermstruct->DiagScale, R and C may be
modified).
LUstruct, modified to contain the new L and U factors.
5. The fourth and last value of options->Fact assumes that A is identical to a
matrix that has already been factored on a previous call, and reuses its
entire LU factorization.
options->Fact = Factored: A is identical to a previously factorized matrix, so
the entire previous factorization can be reused.
In this case all the other options mentioned above are ignored
(options->Equil, options->RowPerm, options->ColPerm,
options->ReplaceTinyPivot.)
The user must also supply:
A, the unfactored matrix, only in the case that iterative refinement is to be
done (specifically A must be the output A from the previous call, so that it
has been scaled and permuted).
All of ScalePermstruct.
All of LUstruct, including the actual numerical values of L and U.
All of which are unmodified on output.
Usage SUPERLU_DIST
void pdgssvx (superlu_options_t *options, SuperMatrix *A,
ScalePermstruct_t *ScalePermstruct, double B[], int ldb, int nrhs,
gridinfo_t *grid, LUstruct_t *LUstruct, SOLVEstruct_t
*SOLVEstruct, double *berr, SuperLUStat_t *stat, int *info)
void pdgssvx_ABglobal (superlu_options_t, *options, SuperMatrix *A,
ScalePermstruct_t *ScalePermstruct, double B[ ], int ldb, int nrhs,
gridinfo_t *grid, LUstruct_t *LUstruct, double *berr, SuperLUStat_t
*stat, int *info)