"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 */