SRC/pzgstrs1.c File Reference

Solves a system of distributed linear equations. More...

#include "superlu_zdefs.h"

Defines

#define ISEND_IRECV

Functions/Subroutines

void pzgstrs1 (int_t n, LUstruct_t *LUstruct, gridinfo_t *grid, doublecomplex *x, int nrhs, SuperLUStat_t *stat, int *info)


Detailed Description

 -- 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 Documentation

#define ISEND_IRECV


Function Documentation

void pzgstrs1 ( int_t  n,
LUstruct_t LUstruct,
gridinfo_t grid,
doublecomplex x,
int  nrhs,
SuperLUStat_t stat,
int *  info 
)

 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
 


Generated on Wed Nov 24 18:17:32 2010 for SuperLUDistributed by  doxygen 1.5.5