|
MFEM v2.0
|
#include <iostream>#include <iomanip>#include <math.h>#include "vector.hpp"#include "matrix.hpp"#include "densemat.hpp"
Go to the source code of this file.
Functions | |
| void | GeneratePlaneRotation (double &dx, double &dy, double &cs, double &sn) |
| void | ApplyPlaneRotation (double &dx, double &dy, double &cs, double &sn) |
| void | Update (Vector &x, int k, DenseMatrix &h, Vector &s, Array< Vector * > &v) |
| double | norm (Vector &u) |
| int | GMRES (const Operator &A, Vector &x, const Vector &b, const Operator &M, int &max_iter, int m, double &tol, double &atol, int printit) |
| A GMRES solver. | |
| int | aGMRES (const Operator &A, Vector &x, const Vector &b, const Operator &M, int &max_iter, int m_max, int m_min, int m_step, double cf, double &tol, double &atol, int printit) |
| int aGMRES | ( | const Operator & | A, |
| Vector & | x, | ||
| const Vector & | b, | ||
| const Operator & | M, | ||
| int & | max_iter, | ||
| int | m_max, | ||
| int | m_min, | ||
| int | m_step, | ||
| double | cf, | ||
| double & | tol, | ||
| double & | atol, | ||
| int | printit | ||
| ) |
Adaptive restarted GMRES. m_max and m_min(=1) are the maximal and minimal restart parameters. m_step(=1) is the step to use for going from m_max and m_min. cf(=0.4) is a desired convergance factor.
Definition at line 200 of file gmres.cpp.
References DenseMatrix::Add(), Add(), ApplyPlaneRotation(), GeneratePlaneRotation(), Operator::Mult(), norm(), Operator::Size(), subtract(), and Update().
| void ApplyPlaneRotation | ( | double & | dx, |
| double & | dy, | ||
| double & | cs, | ||
| double & | sn | ||
| ) | [inline] |
| void GeneratePlaneRotation | ( | double & | dx, |
| double & | dy, | ||
| double & | cs, | ||
| double & | sn | ||
| ) | [inline] |
| int GMRES | ( | const Operator & | A, |
| Vector & | x, | ||
| const Vector & | b, | ||
| const Operator & | M, | ||
| int & | max_iter, | ||
| int | m, | ||
| double & | tol, | ||
| double & | atol, | ||
| int | printit | ||
| ) |
A GMRES solver.
Definition at line 84 of file gmres.cpp.
References DenseMatrix::Add(), Add(), ApplyPlaneRotation(), GeneratePlaneRotation(), Operator::Mult(), norm(), Operator::Size(), subtract(), and Update().
| double norm | ( | Vector & | u | ) | [inline] |
Definition at line 78 of file gmres.cpp.
Referenced by aGMRES(), VectorDiffusionIntegrator::AssembleElementMatrix(), VectorMassIntegrator::AssembleElementMatrix(), ComputeLpNorm(), SparseMatrix::GetJacobiScaling(), GMRES(), and SparseMatrix::Jacobi2().
| void Update | ( | Vector & | x, |
| int | k, | ||
| DenseMatrix & | h, | ||
| Vector & | s, | ||
| Array< Vector * > & | v | ||
| ) | [inline] |
Definition at line 63 of file gmres.cpp.
References Vector::Add(), and Vector::Size().
1.7.4