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

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

#include "core/matrix.hpp"
#include "core/types.hpp"
#include "core/vector.hpp"
#include "kernel/subspace.hpp"
#include "linalg/sparse/sparse.hpp"
#include "operator/operators.hpp"
#include <stdexcept>
#include <utility>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  num
 
namespace  num::detail
 

Functions

Matrix num::detail::dense_expm_pade6 (const Matrix &A)
 
template<class Op >
requires operators::LinearOperator<Op, Vector, Vector>
Vector num::expv (real t, const Op &A, const Vector &v, int m_max=30, real tol=1e-8)
 Compute \(\exp(tA)v\) for any \(y=A x\) adapter.
 
Vector num::expv (real t, const SparseMatrix &A, const Vector &v, int m_max=30, real tol=1e-8)
 

Detailed Description

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

Approximates \(\exp(tA)v \approx \|v\| Q_m \exp(tH_m)e_1\) where \(AQ_m \approx Q_{m+1}\bar{H}_m\) is the Arnoldi relation.

Definition in file expv.hpp.