EXAMPLE/ditersol.c File Reference

Example #1 showing how to use ILU to precondition GMRES. More...

#include "slu_ddefs.h"

Functions

void dpsolve (int n, double x[], double y[])
void dmatvec_mult (double alpha, double x[], double beta, double y[])
int main (int argc, char *argv[])

Variables

superlu_options_tGLOBAL_OPTIONS
double * GLOBAL_R
double * GLOBAL_C
int * GLOBAL_PERM_C
int * GLOBAL_PERM_R
SuperMatrixGLOBAL_A
SuperMatrixGLOBAL_L
SuperMatrixGLOBAL_U
SuperLUStat_tGLOBAL_STAT
mem_usage_tGLOBAL_MEM_USAGE


Detailed Description

 -- SuperLU routine (version 4.2) --
 Lawrence Berkeley National Laboratory
 November, 2010
 August, 2011

 This example shows that ILU is computed from the equilibrated matrix,
 and the preconditioned GMRES is applied to the equilibrated system.
 The driver routine DGSISX is called twice to perform factorization
 and apply preconditioner separately.

 Note that DGSISX performs the following factorization:
     Pr*Dr*A*Dc*Pc^T ~= LU
 with Pr being obtained from MC64 statically then partial pivoting
 dybamically. On return, A is overwritten as A1 = Dr*A*Dc.

 We can solve the transformed system, A1*y = Dr*B, using FGMRES.
 B is first overwritten as Dr*B.
 Then GMRES step requires requires 2 procedures:
   1) Apply preconditioner M^{-1} = Pc^T*U^{-1}*L^{-1}*Pr
   2) Matrix-vector multiplication: w = A1*v

 

Function Documentation

void dmatvec_mult ( double  alpha,
double  x[],
double  beta,
double  y[] 
)

void dpsolve ( int  n,
double  x[],
double  y[] 
)

int main ( int  argc,
char *  argv[] 
)


Variable Documentation

double * GLOBAL_C

double* GLOBAL_R


Generated on Thu Aug 25 13:43:49 2011 for SuperLU by  doxygen 1.5.5