SuperLU_DIST  4.0
superlu_dist on CPU and GPU clusters
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Functions
pzgstrs1.c File Reference

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

#include "superlu_zdefs.h"

Macros

#define ISEND_IRECV
 

Functions

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

Detailed Description

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

Macro Definition 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