Solves a system of distributed linear equations.
– Distributed SuperLU routine (version 2.3) –
Lawrence Berkeley National Lab, Univ. of California Berkeley.
October 15, 2008
Modified:
Feburary 7, 2001 use MPI_Isend/MPI_Irecv
October 2, 2001 use MPI_Isend/MPI_Irecv with MPI_Test
October 15, 2008 use fewer MPI_Reduce
Purpose
=======
PZGSTRS1 solves a system of distributed linear equations
op( sub(A) ) * X = sub( B )
with a general N-by-N distributed matrix sub( A ) using the LU
factorization computed by PZGSTRF.
This routine is used only in the iterative refinement routine
pzgsrfs_ABXglobal, assuming that the right-hand side is already
distributed in the diagonal processes.
Arguments
=========
n (input) int (global)
The order of the system of linear equations.
LUstruct (input) LUstruct_t*
The distributed data structures to store L and U factors,
and the permutation vectors.
See superlu_ddefs.h for the definition of 'LUstruct_t' structure.
grid (input) gridinfo_t*
The 2D process mesh.
x (input/output) doublecomplex*
On entry, the right hand side matrix.
On exit, the solution matrix if info = 0;
NOTE: the right-hand side matrix is already distributed on
the diagonal processes.
nrhs (input) int (global)
Number of right-hand sides.
stat (output) SuperLUStat_t*
Record the statistics about the triangular solves;
See SuperLUStat_t structure defined in util.h.
info (output) int*
= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value