#include "superlu_ddefs.h"
Defines | |
#define | ISEND_IRECV |
Functions/Subroutines | |
void | pdgstrs1 (int_t n, LUstruct_t *LUstruct, gridinfo_t *grid, double *x, int nrhs, SuperLUStat_t *stat, int *info) |
-- 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
#define ISEND_IRECV |
void pdgstrs1 | ( | int_t | n, | |
LUstruct_t * | LUstruct, | |||
gridinfo_t * | grid, | |||
double * | x, | |||
int | nrhs, | |||
SuperLUStat_t * | stat, | |||
int * | info | |||
) |
Purpose =======
PDGSTRS1 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 PDGSTRF.
This routine is used only in the iterative refinement routine pdgsrfs_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) double* 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