7 #ifndef THEORETICA_MULTIDUAL_FUNCTIONS_H
8 #define THEORETICA_MULTIDUAL_FUNCTIONS_H
11 #include "../core/real_analysis.h"
18 template<
unsigned int N>
25 template<
unsigned int N>
32 template<
unsigned int N>
39 template<
unsigned int N>
47 template<
unsigned int N>
62 template<
unsigned int N>
69 template<
unsigned int N>
76 template<
unsigned int N>
91 template<
unsigned int N>
106 template<
unsigned int N>
114 template<
unsigned int N>
127 template<
unsigned int N>
140 template<
unsigned int N>
153 template<
unsigned int N>
160 template<
unsigned int N>
173 template<
unsigned int N>
185 template<
unsigned int N>
192 template<
unsigned int N>
196 return multidual<N>((exp_x - 1.0 / exp_x) / 2.0, x.
Dual() * (exp_x + 1.0 / exp_x) / 2.0);
201 template<
unsigned int N>
205 return multidual<N>((exp_x + 1.0 / exp_x) / 2.0, x.
Dual() * (exp_x - 1.0 / exp_x) / 2.0);
210 template<
unsigned int N>
215 (exp_x - 1.0 / exp_x) / (exp_x + 1.0 / exp_x),
Multidual number algebra for functions of the form .
Definition: multidual.h:26
vec< real, N > Dual() const
Get the multidual part.
Definition: multidual.h:79
real Re() const
Get the real part.
Definition: multidual.h:67
multidual conjugate() const
Get the multidual conjugate.
Definition: multidual.h:91
A statically allocated N-dimensional vector with elements of the given type.
Definition: vec.h:88
#define TH_MATH_ERROR(F_NAME, VALUE, EXCEPTION)
TH_MATH_ERROR is a macro which throws exceptions or modifies errno (depending on which compiling opti...
Definition: error.h:219
Main namespace of the library which contains all functions and objects.
Definition: algebra.h:27
double real
A real number, defined as a floating point type.
Definition: constants.h:188
dual2 sqrt(dual2 x)
Compute the square root of a second order dual number.
Definition: dual2_functions.h:54
dual cosh(dual x)
Compute the hyperbolic cosine of a dual number.
Definition: dual_functions.h:194
dual2 ln(dual2 x)
Compute the natural logarithm of a second order dual number.
Definition: dual2_functions.h:139
dual sinh(dual x)
Compute the hyperbolic sine of a dual number.
Definition: dual_functions.h:186
dual2 abs(dual2 x)
Compute the absolute value of a second order dual number.
Definition: dual2_functions.h:183
dual2 log2(dual2 x)
Compute the natural logarithm of a second order dual number.
Definition: dual2_functions.h:153
dual2 asin(dual2 x)
Compute the arcsine of a second order dual number.
Definition: dual2_functions.h:189
dual2 exp(dual2 x)
Compute the exponential of a second order dual number.
Definition: dual2_functions.h:130
dual2 log10(dual2 x)
Compute the natural logarithm of a second order dual number.
Definition: dual2_functions.h:168
dual2 conjugate(dual2 x)
Return the conjugate of a second order dual number.
Definition: dual2_functions.h:35
constexpr real LOG10E
The base-10 logarithm of e.
Definition: constants.h:236
constexpr real LOG2E
The binary logarithm of e.
Definition: constants.h:230
dual2 cos(dual2 x)
Compute the cosine of a second order dual number.
Definition: dual2_functions.h:82
dual2 cot(dual2 x)
Compute the cotangent of a second order dual number.
Definition: dual2_functions.h:112
dual2 tan(dual2 x)
Compute the tangent of a second order dual number.
Definition: dual2_functions.h:94
dual2 acos(dual2 x)
Compute the arcosine of a second order dual number.
Definition: dual2_functions.h:206
int sgn(real x)
Return the sign of x (1 if positive, -1 if negative, 0 if null)
Definition: real_analysis.h:259
dual2 sin(dual2 x)
Compute the sine of a second order dual number.
Definition: dual2_functions.h:70
dual2 square(dual2 x)
Return the square of a second order dual number.
Definition: dual2_functions.h:23
real nan()
Return a quiet NaN number in floating point representation.
Definition: error.h:54
dual2 atan(dual2 x)
Compute the arctangent of a second order dual number.
Definition: dual2_functions.h:223
dual tanh(dual x)
Compute the hyperbolic tangent of a dual number.
Definition: dual_functions.h:202
dual2 pow(dual2 x, int n)
Compute the n-th power of a second order dual number.
Definition: dual2_functions.h:41
dual2 cube(dual2 x)
Return the cube of a second order dual number.
Definition: dual2_functions.h:29