EXAMPLE/sitersol.c File Reference

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

#include "slu_sdefs.h"

Functions

void spsolve (int n, float x[], float y[])
void smatvec_mult (float alpha, float x[], float beta, float y[])
int main (int argc, char *argv[])

Variables

superlu_options_tGLOBAL_OPTIONS
float * GLOBAL_R
float * 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 SGSISX is called twice to perform factorization
 and apply preconditioner separately.

 Note that SGSISX 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

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

void smatvec_mult ( float  alpha,
float  x[],
float  beta,
float  y[] 
)

void spsolve ( int  n,
float  x[],
float  y[] 
)


Variable Documentation

float * GLOBAL_C

float* GLOBAL_R


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