Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
CladDerivator.h File Reference
#include <plugins/include/clad/Differentiator/Differentiator.h>
#include "TMath.h"
#include "Math/PdfFuncMathCore.h"
#include "Math/ProbFuncMathCore.h"
#include "Math/SpecFuncMathCore.h"
#include <stdexcept>
Include dependency graph for CladDerivator.h:

Namespaces

namespace  clad
 
namespace  clad::custom_derivatives
 
namespace  clad::custom_derivatives::ROOT
 
namespace  clad::custom_derivatives::ROOT::Math
 
namespace  clad::custom_derivatives::TMath
 

Functions

template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Abs_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::ACos_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::ACosH_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::ASin_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::ASinH_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::ATan_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::ATanH_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Cos_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::CosH_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Erf_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Erfc_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Exp_pushforward (T x, T d_x)
 
template<unsigned N>
double clad::custom_derivatives::ROOT::Math::horner (const double(&c)[N], double x)
 Evaluate the polynomial c[0] + c[1]*x + c[2]*x^2 + ... in Horner form, matching the evaluation order of the CERNLIB Landau routines below.
 
template<unsigned N>
double clad::custom_derivatives::ROOT::Math::horner_deriv (const double(&c)[N], double x)
 Derivative of horner(c, x) with respect to x.
 
template<typename T , typename U >
void clad::custom_derivatives::TMath::Hypot_pullback (T x, T y, U p, T *d_x, T *d_y)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Hypot_pushforward (T x, T y, T d_x, T d_y)
 
void clad::custom_derivatives::ROOT::Math::inc_gamma_c_pullback (double a, double x, double _d_y, double *_d_a, double *_d_x)
 
clad::ValueAndPushforward< double, doubleclad::custom_derivatives::ROOT::Math::inc_gamma_c_pushforward (double a, double x, double d_a, double d_x)
 Pushforward of ROOT::Math::inc_gamma_c, which is 1 - inc_gamma.
 
double clad::custom_derivatives::ROOT::Math::inc_gamma_da (double a, double x)
 Derivative of the normalized lower incomplete gamma function P(a, x) with respect to a.
 
void clad::custom_derivatives::ROOT::Math::inc_gamma_da_pullback (double a, double x, double _d_y, double *_d_a, double *_d_x)
 Pullback of inc_gamma_da().
 
double clad::custom_derivatives::ROOT::Math::inc_gamma_dx (double a, double x)
 Derivative of the normalized lower incomplete gamma function P(a, x) with respect to x.
 
void clad::custom_derivatives::ROOT::Math::inc_gamma_dx_pullback (double a, double x, double _d_y, double *_d_a, double *_d_x)
 Pullback of inc_gamma_dx(), using the closed forms of the second derivatives of P(a, x):
 
void clad::custom_derivatives::ROOT::Math::inc_gamma_pullback (double a, double x, double _d_y, double *_d_a, double *_d_x)
 
clad::ValueAndPushforward< double, doubleclad::custom_derivatives::ROOT::Math::inc_gamma_pushforward (double a, double x, double d_a, double d_x)
 Pushforward of ROOT::Math::inc_gamma.
 
double clad::custom_derivatives::ROOT::Math::landau_cdf_dv (double v)
 Derivative with respect to v of the CERNLIB DISLAN rational approximation of the standardized Landau cumulative distribution, obtained by differentiating each branch of landau_cdf() in ProbFuncMathCore.cxx, whose branch structure and coefficient tables this function mirrors.
 
void clad::custom_derivatives::ROOT::Math::landau_cdf_pullback (double x, double xi, double x0, double d_out, double *d_x, double *d_xi, double *d_x0)
 
clad::ValueAndPushforward< double, doubleclad::custom_derivatives::ROOT::Math::landau_cdf_pushforward (double x, double xi, double x0, double d_x, double d_xi, double d_x0)
 Pushforward of ROOT::Math::landau_cdf, which is the cumulative distribution function of the standardized Landau density evaluated at (x - x0) / xi.
 
double clad::custom_derivatives::ROOT::Math::landau_pdf_dv (double v)
 First derivative of the standardized Landau density p(v) = ROOT::Math::landau_pdf(v) with respect to v, obtained by differentiating each branch of the CERNLIB DENLAN rational approximation.
 
void clad::custom_derivatives::ROOT::Math::landau_pdf_dv_pullback (double v, double _d_y, double *_d_v)
 Pullback of landau_pdf_dv().
 
void clad::custom_derivatives::ROOT::Math::landau_pdf_pullback (double x, double xi, double x0, double d_out, double *d_x, double *d_xi, double *d_x0)
 
clad::ValueAndPushforward< double, doubleclad::custom_derivatives::ROOT::Math::landau_pdf_pushforward (double x, double xi, double x0, double d_x, double d_xi, double d_x0)
 Pushforward of ROOT::Math::landau_pdf, which is p((x - x0) / xi) / xi in terms of the standardized Landau density p.
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::LnGamma_pushforward (T z, T d_z)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Log10_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Log2_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Log_pushforward (T x, T d_x)
 
template<typename T , typename U , typename V >
void clad::custom_derivatives::TMath::Power_pullback (T x, U y, V p, T *d_x, U *d_y)
 
template<typename T , typename U >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Power_pushforward (T x, U y, T d_x, U d_y)
 
template<unsigned N, unsigned M>
double clad::custom_derivatives::ROOT::Math::rational_deriv (const double(&p)[N], const double(&q)[M], double x)
 Derivative of the rational function horner(p, x) / horner(q, x) with respect to x.
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Sin_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::SinH_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Sq_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Sqrt_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::Tan_pushforward (T x, T d_x)
 
template<typename T >
ValueAndPushforward< T, T > clad::custom_derivatives::TMath::TanH_pushforward (T x, T d_x)
 

Detailed Description

The file is a bridge between ROOT and clad automatic differentiation plugin.

Author
Vassil Vassilev vvasi.nosp@m.lev@.nosp@m.cern..nosp@m.ch
Date
July, 2018

Definition in file CladDerivator.h.