Automatic Differentiation
 
Loading...
Searching...
No Matches
stan::math::matrix_exp_action_handler Class Reference

Detailed Description

The implementation of the work by Awad H.

Al-Mohy and Nicholas J. Higham "Computing the Action of the Matrix Exponential, with an Application to Exponential Integrators" Read More: https://epubs.siam.org/doi/abs/10.1137/100788860 See also: https://www.mathworks.com/matlabcentral/fileexchange/29576-matrix-exponential-times-a-vector

Calculates exp(mat*t)*b, where mat & b are matrices, and t is double.

Definition at line 25 of file matrix_exp_action_handler.hpp.

#include <matrix_exp_action_handler.hpp>

Public Member Functions

template<typename EigMat1 , typename EigMat2 , require_all_eigen_t< EigMat1, EigMat2 > * = nullptr, require_all_st_same< double, EigMat1, EigMat2 > * = nullptr>
Eigen::MatrixXd action (const EigMat1 &mat, const EigMat2 &b, const double &t=1.0)
 Perform the matrix exponential action exp(A*t)*B.
 
double matrix_operator_inf_norm (Eigen::MatrixXd const &x)
 Eigen expression for matrix operator infinity norm.
 
template<typename EigMat1 , require_all_eigen_t< EigMat1 > * = nullptr, require_all_st_same< double, EigMat1 > * = nullptr>
double mat_power_1_norm (const EigMat1 &mat, int m)
 Estimate the 1-norm of mat^m.
 
template<typename EigMat1 , typename EigMat2 , require_all_eigen_t< EigMat1, EigMat2 > * = nullptr, require_all_st_same< double, EigMat1, EigMat2 > * = nullptr>
void set_approx_order (const EigMat1 &mat, const EigMat2 &b, const double &t, int &m, int &s)
 Approximation is based on parameter "m" and "s", proposed in CODE FRAGMENT 3.1 of the reference.
 

Private Attributes

const int _p_max = 8
 
const int _m_max = 55
 
const double _tol = 1.1e-16
 
const std::vector< double > _theta_m
 

The documentation for this class was generated from the following file: