"Fossies" - the Fresh Open Source Software Archive

Member "laspack/itersolv.h" (27 Mar 1995, 3028 Bytes) of package /linux/privat/old/laspack.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /****************************************************************************/
    2 /*                                itersolv.h                                */
    3 /****************************************************************************/
    4 /*                                                                          */
    5 /* ITERative SOLVers for systems of linear equations                        */
    6 /*                                                                          */
    7 /* Copyright (C) 1992-1995 Tomas Skalicky. All rights reserved.             */
    8 /*                                                                          */
    9 /****************************************************************************/
   10 /*                                                                          */
   11 /*        ANY USE OF THIS CODE CONSTITUTES ACCEPTANCE OF THE TERMS          */
   12 /*              OF THE COPYRIGHT NOTICE (SEE FILE COPYRGHT.H)               */
   13 /*                                                                          */
   14 /****************************************************************************/
   15 
   16 #ifndef ITERSOLV_H
   17 #define ITERSOLV_H
   18 
   19 #include "laspack/vector.h"
   20 #include "laspack/qmatrix.h"
   21 #include "laspack/precond.h"
   22 #include "laspack/eigenval.h"
   23 #include "laspack/copyrght.h"
   24 
   25 typedef Vector *(*IterProcType)(QMatrix *, Vector *, Vector *, int,
   26                 PrecondProcType, double);
   27 
   28 /* classical iterative methods */
   29 
   30 Vector *JacobiIter(QMatrix *A, Vector *x, Vector *b, int NoIter,
   31         PrecondProcType Dummy, double Omega);
   32 Vector *SORForwIter(QMatrix *A, Vector *x, Vector *b, int NoIter,
   33             PrecondProcType Dummy, double Omega);
   34 Vector *SORBackwIter(QMatrix *A, Vector *x, Vector *b, int NoIter,
   35             PrecondProcType Dummy, double Omega);
   36 Vector *SSORIter(QMatrix *A, Vector *x, Vector *b, int NoIter,
   37             PrecondProcType Dummy, double Omega);
   38 
   39 /* semi-iterative methods */
   40 
   41 Vector *ChebyshevIter(QMatrix *A, Vector *x, Vector *b, int MaxIter,
   42             PrecondProcType PrecondProc, double OmegaPrecond);
   43 
   44 /* CG and CG-like methods */
   45 
   46 Vector *CGIter(QMatrix *A, Vector *x, Vector *b, int MaxIter, 
   47             PrecondProcType PrecondProc, double OmegaPrecond);
   48 Vector *CGNIter(QMatrix *A, Vector *x, Vector *b, int MaxIter, 
   49             PrecondProcType PrecondProc, double OmegaPrecond);
   50 Vector *GMRESIter(QMatrix *A, Vector *x, Vector *b, int MaxIter, 
   51             PrecondProcType PrecondProc, double OmegaPrecond);
   52 Vector *BiCGIter(QMatrix *A, Vector *x, Vector *b, int MaxIter,
   53             PrecondProcType PrecondProc, double OmegaPrecond);
   54 Vector *QMRIter(QMatrix *A, Vector *x, Vector *b, int MaxIter,
   55             PrecondProcType PrecondProc, double OmegaPrecond);
   56 Vector *CGSIter(QMatrix *A, Vector *x, Vector *b, int MaxIter,
   57             PrecondProcType PrecondProc, double OmegaPrecond);
   58 Vector *BiCGSTABIter(QMatrix *A, Vector *x, Vector *b, int MaxIter,
   59             PrecondProcType PrecondProc, double OmegaPrecond);
   60 void SetGMRESRestart(int MaxSteps);
   61 
   62 #endif /* ITERSOLV_H */