numerics
Loading...
Searching...
No Matches
expv.hpp File Reference

Krylov subspace matrix exponential-vector product: compute exp(t*A)*v. More...

#include "core/types.hpp"
#include "core/vector.hpp"
#include "linalg/sparse/sparse.hpp"
#include "linalg/solvers/cg.hpp"
#include <functional>

Go to the source code of this file.

Namespaces

namespace  num
 

Functions

Vector num::expv (real t, const MatVecFn &matvec, idx n, const Vector &v, int m_max=30, real tol=1e-8)
 Compute exp(t*A)*v via Krylov-Padé approximation (matrix-free)
 
Vector num::expv (real t, const SparseMatrix &A, const Vector &v, int m_max=30, real tol=1e-8)
 Compute exp(t*A)*v via Krylov-Padé approximation (sparse matrix)
 

Detailed Description

Krylov subspace matrix exponential-vector product: compute exp(t*A)*v.

Uses the Arnoldi process to build a Krylov basis, then applies a dense Padé [6/6] matrix exponential on the projected (small) problem.

Definition in file expv.hpp.