7 #ifndef PADE_APPROXIMANT_H_
8 #define PADE_APPROXIMANT_H_
35 PadeApproximant(
unsigned int nominator_degree,
unsigned int denominator_degree);
40 void update_solution(arma::vec &init_vector, arma::vec &output_vec)
override;
57 void compute_exp_coefs(
unsigned int nominator_degree,
unsigned int denominator_degree,
66 const arma::mat &input_matrix,
75 #endif // PADE_APPROXIMANT_H_
This class implements the Pade approximation of exponential function.
void approximate_matrix(arma::mat &matrix)
int nominator_degree_
Degree of the polynomial in the nominator.
void compute_exp_coefs(unsigned int nominator_degree, unsigned int denominator_degree, std::vector< double > &nominator_coefs, std::vector< double > &denominator_coefs)
Evaluates nominator and denominator coeficients of PadeApproximant for exponencial function...
static Input::Type::Record input_type
Template class of the linear ODE solver.
void update_solution(arma::vec &init_vector, arma::vec &output_vec) override
Updates solution of the ODEs system.
int denominator_degree_
Degree of the polynomial in the denominator.
PadeApproximant()
Hide default constructor.
void evaluate_matrix_polynomial(arma::mat &polynomial_matrix, const arma::mat &input_matrix, const std::vector< double > &coefs)
Evaluates the matrix polynomial by Horner scheme.
~PadeApproximant(void)
Destructor.
arma::mat solution_matrix_
Solution matrix .