|
limes 3.1.0
Composable Calculus Expressions for C++20
|
Integral with change of variables (substitution). More...
#include <integral.hpp>
Public Types | |
| using | value_type = typename OriginalIntegral::value_type |
Public Member Functions | |
| constexpr | TransformedIntegral (OriginalIntegral orig, Phi p, Jacobian j, value_type new_lo, value_type new_hi, value_type tol=value_type(1e-10)) noexcept |
| algorithms::integration_result< value_type > | eval (std::span< value_type const > args) const |
| Evaluate the transformed integral numerically. | |
| algorithms::integration_result< value_type > | eval () const |
| algorithms::integration_result< value_type > | evaluate (std::span< value_type const > args) const |
| algorithms::integration_result< value_type > | evaluate () const |
| std::string | to_string () const |
Public Attributes | |
| OriginalIntegral | original |
| Phi | phi |
| Jacobian | jacobian |
| value_type | new_lower |
| value_type | new_upper |
| value_type | tolerance |
Static Public Attributes | |
| static constexpr std::size_t | arity_v = OriginalIntegral::arity_v |
Integral with change of variables (substitution).
Applies the transformation rule:
This is useful for removing singularities or improving convergence.
| OriginalIntegral | The original integral type |
| Phi | The substitution function type (t → x) |
| Jacobian | The Jacobian |dφ/dt| function type |
Definition at line 544 of file integral.hpp.
| using limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::value_type = typename OriginalIntegral::value_type |
Definition at line 545 of file integral.hpp.
|
inlineconstexprnoexcept |
Definition at line 556 of file integral.hpp.
|
inline |
Definition at line 588 of file integral.hpp.
References limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval().
Referenced by limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval(), limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::evaluate(), and limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::evaluate().
|
inline |
Evaluate the transformed integral numerically.
Definition at line 574 of file integral.hpp.
References limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::jacobian, limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::new_lower, limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::new_upper, limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::original, limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::phi, limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::tolerance, and limes::expr::x.
|
inline |
Definition at line 600 of file integral.hpp.
References limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval().
|
inline |
Definition at line 594 of file integral.hpp.
References limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval().
|
inline |
|
staticconstexpr |
Definition at line 547 of file integral.hpp.
| Jacobian limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::jacobian |
Definition at line 551 of file integral.hpp.
Referenced by limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval().
| value_type limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::new_lower |
Definition at line 552 of file integral.hpp.
Referenced by limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval(), and limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::to_string().
| value_type limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::new_upper |
Definition at line 553 of file integral.hpp.
Referenced by limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval(), and limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::to_string().
| OriginalIntegral limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::original |
Definition at line 549 of file integral.hpp.
Referenced by limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval(), and limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::to_string().
| Phi limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::phi |
Definition at line 550 of file integral.hpp.
Referenced by limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval().
| value_type limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::tolerance |
Definition at line 554 of file integral.hpp.
Referenced by limes::expr::TransformedIntegral< OriginalIntegral, Phi, Jacobian >::eval().