28 "Transforming log-derivatives of order higher than 2 is" 35 double uncorrected_derivative,
40 return std::exp(uncorrected_derivative);
56 "Requesting derivative of roder > 2 not supported!" 70 double corrected_deriv_value = (
77 corrected_deriv_value,
double transform_log_y_deriv(double uncorrected_derivative, unsigned order) const
Correct for differentiating of log(quantity) instead of quantity.
Function arguments do not satisfy some requirement.
virtual double calc_deriv(unsigned deriv_order) const =0
Should be overwritten to calculate the derivatives with respect to either arg or log(arg) as specifie...
double __x
The value of the argument at which derivatives are calculated.
bool __log_x
Is the underlying derivative w.r.t. log(argument)?
std::vector< double > __underlying_deriv_values
Cache for previously computed underlying derivative values.
double order(unsigned deriv_order=1) const
Returns the deriv_order-th derivative of the quantity.
Declares a class for differentiating functions of log(arg) w.r.t. arg.
bool __log_y
Is the underlying derivative of log(quantity)
std::vector< double > __deriv_values
Cache for previously computed corrected derivative values.
double transform_log_x_deriv(unsigned order) const
Correct for differentiating w.r.t. log(arg) instead of arg.