NeoPZ
Functions
bicgstab.h File Reference

Contains the implementation of the BiCGSTAB function which solves the unsymmetric linear system using BiConjugate Gradient Stabilized method. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class Matrix , class Vector , class Preconditioner , class Real >
int BiCGSTAB (const Matrix &A, Vector &x, const Vector &b, Preconditioner &M, int64_t &max_iter, Real &tol, Vector *residual, const int FromCurrent)
 BiCGSTAB solves the unsymmetric linear system $ Ax = b $ using the Preconditioned BiConjugate Gradient Stabilized method. More...
 

Detailed Description

Contains the implementation of the BiCGSTAB function which solves the unsymmetric linear system using BiConjugate Gradient Stabilized method.

Definition in file bicgstab.h.

Function Documentation

◆ BiCGSTAB()

template<class Matrix , class Vector , class Preconditioner , class Real >
int BiCGSTAB ( const Matrix &  A,
Vector x,
const Vector b,
Preconditioner &  M,
int64_t &  max_iter,
Real &  tol,
Vector residual,
const int  FromCurrent 
)

BiCGSTAB solves the unsymmetric linear system $ Ax = b $ using the Preconditioned BiConjugate Gradient Stabilized method.

Returns
The return value indicates convergence within max_iter (input) iterations (0), or no convergence within max_iter iterations (1).
Upon successful return, output arguments have the following values:
Parameters
A– matrix of the system
b– vector of the system
M– preconditioner matrix
x– approximate solution to $ Ax = b $
max_iter– the number of iterations performed before the tolerance was reached
tol– the residual after the final iteration
residual– residual vector (return)
FromCurrent– for type of operation (MultAdd) Iterative template routine – BiCGSTAB BiCGSTAB follows the algorithm described on p. 27 of the SIAM Templates book.

Definition at line 27 of file bicgstab.h.

References Dot(), Norm(), test::res, and TPZExtractVal::val().

Referenced by TPZMatrix< STATE >::SolveBICGStab().