gmres.h
来自「pic 模拟程序!面向对象」· C头文件 代码 · 共 61 行
H
61 行
#ifndef _GMRES_H#define _GMRES_H// Y. Saad and M. Schultz, "GMRES: A generalized minimum residual algorithm for// solving nonsymmetric linear systems", SIAM J. Scientific and Statistical // Computing, vol. 7, p. 859-869 (1986) // matrix A may be nonsymmetric; if A is positive definite, then garunteed to // converge for "reasonable" subspace dimension #include "inverter.h"class GMRES : public Inverter {public: GMRES(Domain*,Operators*,int=7); ~GMRES(); void set_restart(int restart) { m = restart; } int get_restart() { return m; } void invert(Vector<Scalar>&, const Vector<Scalar>&, Scalar=1e-10, int=200);private: // dimension of Krylov subspace; default is 7 int m; // N-dimensional basis elements for m-dimensional Krylov subspace Vector<Scalar> *basis_element; // (m+1)x(m)-dimensional Hessenberg matrix Scalar **h; // cosine elements in Givens rotation Scalar *c; // sine elements in Givens rotation Scalar *s; // Krylov subspace expansion coefficients for solution Scalar *alpha; // can use beta in place of alpha to save storage Scalar *beta;};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?