Extension: Matrix functions
#include "dg/matrix/matrix.h"
|
#include <cmath>
#include <boost/math/special_functions.hpp>
#include <cusp/transpose.h>
#include <cusp/array1d.h>
#include <cusp/array2d.h>
#include <cusp/lapack/lapack.h>
#include "dg/algorithm.h"
#include "functors.h"
#include "sqrt_cauchy.h"
#include "sqrt_ode.h"
Go to the source code of this file.
Namespaces | |
namespace | dg |
Classes for Krylov space approximations of a Matrix-Vector product. | |
namespace | dg::mat |
Functions | |
template<class UnaryOp > | |
auto | dg::mat::make_FuncEigen_Te1 (UnaryOp f) |
Create a functor that uses Eigenvalue decomposition to compute \( f(T)\vec e_1 = E f(\Lambda) E^T \vec e_1 \) for symmetric tridiagonal T . More... | |
template<class value_type > | |
auto | dg::mat::make_SqrtCauchy_Te1 (int exp, std::array< value_type, 2 > EVs, unsigned stepsCauchy) |
Create a functor that computes \( \sqrt{T^{\pm 1}} \vec e_1\) using SqrtCauchyInt. More... | |
template<class value_type > | |
auto | dg::mat::make_SqrtCauchyEigen_Te1 (int exp, std::array< value_type, 2 > EVs, unsigned stepsCauchy) |
Create a functor that computes \( \sqrt{T^{\pm 1}} \vec e_1\) using either Eigen or SqrtCauchy solve based on whichever is fastest for given size. More... | |
template<class value_type > | |
auto | dg::mat::make_SqrtODE_Te1 (int exp, std::string tableau, value_type rtol, value_type atol, unsigned &number) |
Create a functor that computes \( \sqrt{T^{\pm 1}} \vec e_1\) using ODE solve. More... | |
static auto | dg::mat::make_Linear_Te1 (int exp) |
Create a functor that computes \( T^{\pm 1} \vec e_1\) directly. More... | |