Go to the documentation of this file. 1 #ifndef PhysicsTools_Utilities_Derivative_h
2 #define PhysicsTools_Utilities_Derivative_h
12 template <
typename X,
typename A>
44 (num<1>() /
sqr(
cos(
_._))) * derivative<X>(
_._));
56 derivative<X>(
_._1) *
_._2 +
_._1 * derivative<X>(
_._2));
62 (derivative<X>(
_._1) *
_._2 -
_._1 * derivative<X>(
_._2)) /
sqr(
_._2));
68 _._2*
pow(
_._1, num<n - 1>()) * derivative<X>(
_._1));
74 _._2*
pow(
_._1, fract<n - m, m>()) * derivative<X>(
_._1));
80 (fract<1, 2>() * (num<1>() /
sqrt(
_._))) * derivative<X>(
_._));
TEMPL(T2) struct Divides B
typedef DIFF(PROD(A, B1), PRIMIT(X, PROD(A1, B1))) type
Derivative< X, A >::type derivative(const A &_)
#define DERIV_RULE(TMPL, T, RES, COMB)
typedef POWER(A, NUM(n)) arg
Sin< T >::type sin(const T &t)
Cos< T >::type cos(const T &t)
const Numerical< n > & num()
Sqrt< T >::type sqrt(const T &t)
static type get(const A &_)
Square< F >::type sqr(const F &f)
TEMPL(T1) struct Divides0
Power< A, B >::type pow(const A &a, const B &b)
Sgn< T >::type sgn(const T &t)
typedef PROD(F, SUM(RATIO(A, F), RATIO(B, F))) type