numerics 0.1.0
Loading...
Searching...
No Matches
krylov.hpp File Reference

Restarted GMRES for general linear systems. More...

#include "core/matrix.hpp"
#include "core/policy.hpp"
#include "core/vector.hpp"
#include "kernel/subspace.hpp"
#include "linalg/solvers/solver_result.hpp"
#include "linalg/sparse/sparse.hpp"
#include "operator/operators.hpp"
#include <algorithm>
#include <cmath>
#include <stdexcept>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  num
 

Functions

template<class Op >
requires operators::LinearOperator<Op, Vector, Vector>
SolverResult num::gmres (const Op &A, const Vector &b, Vector &x, real tol=1e-6, idx max_iter=1000, idx restart=30)
 Operator GMRES for any \(y=A x\) adapter.
 
SolverResult num::gmres (const SparseMatrix &A, const Vector &b, Vector &x, real tol=1e-6, idx max_iter=1000, idx restart=30)
 
SolverResult num::gmres (const Matrix &A, const Vector &b, Vector &x, real tol=1e-6, idx max_iter=1000, idx restart=30, Backend backend=default_backend)
 

Detailed Description

Restarted GMRES for general linear systems.

Minimizes \(\|b-Ax_k\|_2\) over \(x_0+\mathcal{K}_m(A,r_0)\) and restarts after \(m=\texttt{restart}\) Arnoldi steps.

Definition in file krylov.hpp.