Bayeux  3.4.1
Core Foundation library for SuperNEMO
numerical_differentiation.h
Go to the documentation of this file.
1 /* Author(s): Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2009-10-02
4  * Last modified: 2013-04-23
5  *
6  * License:
7  *
8  *
9  * Description:
10  * Interface for GSL numerical differentiation
11  *
12  * History:
13  *
14  */
15 
16 #ifndef MYGSL_NUMERICAL_DIFFERENTIATION_H
17 #define MYGSL_NUMERICAL_DIFFERENTIATION_H 1
18 
19 // This project:
20 #include <mygsl/i_unary_function.h>
21 #include <mygsl/interval.h>
22 
23 namespace mygsl {
24 
25  double derivative_central (const i_unary_function & eval_, double x_, double h_, double & abserr_ );
26 
27  double derivative_central (const i_unary_function & eval_, double x_, double h_);
28 
29  double derivative_forward (const i_unary_function & eval_, double x_, double h_, double & abserr_ );
30 
31  double derivative_forward (const i_unary_function & eval_, double x_, double h_);
32 
33  double derivative_backward (const i_unary_function & eval_, double x_, double h_, double & abserr_ );
34 
35  double derivative_backward (const i_unary_function & eval_, double x_, double h_);
36 
37  double derivative (const i_unary_function & eval_, double x_, const interval & domain_, double & abserr_);
38 
39  double derivative (const i_unary_function & eval_, double x_, const interval & domain_);
40 
41  /*****************************************************
42  * *
43  * Derivative formula for regular sampled function *
44  * *
45  *****************************************************/
46 
47  // T.J. Chung:
48 
49  // central:
50 
51  // first order derivative:
52  double derivative_central_regular_sampled_2 (double f_1_,
53  double f1_,
54  double h_);
55 
56  double derivative_central_regular_sampled_4 (double f_2_,
57  double f_1_,
58  double f1_,
59  double f2_,
60  double h_);
61 
62  // second order derivative:
64  double f0_,
65  double f1_,
66  double h_);
67 
68 
70  double f_1_,
71  double f0_,
72  double f1_,
73  double f2_,
74  double h_);
75 
76 
77  // forward:
78 
79  double derivative_forward_regular_sampled_1 (double f0_,
80  double f1_,
81  double h_);
82 
83  double derivative_forward_regular_sampled_2 (double f0_,
84  double f1_,
85  double f2_,
86  double h_);
87 
88  double derivative_forward_regular_sampled_3 (double f0_,
89  double f1_,
90  double f2_,
91  double f3_,
92  double h_);
93 
94  double derivative_forward_regular_sampled_4 (double f0_,
95  double f1_,
96  double f2_,
97  double f3_,
98  double f4_,
99  double h_);
100 
102  double f1_,
103  double f2_,
104  double h_);
105 
107  double f1_,
108  double f2_,
109  double f3_,
110  double h_);
111 
112  // backward:
113 
114  double derivative_backward_regular_sampled_1 (double f_1_,
115  double f0_,
116  double h_);
117 
118 
119  double derivative_backward_regular_sampled_2 (double f_2_,
120  double f_1_,
121  double f0_,
122  double h_);
123 
124  double derivative_backward_regular_sampled_3 (double f_3_,
125  double f_2_,
126  double f_1_,
127  double f0_,
128  double h_);
129 
130  double derivative_backward_regular_sampled_4 (double f_4_,
131  double f_3_,
132  double f_2_,
133  double f_1_,
134  double f0_,
135  double h_);
136 
138  double f_1_,
139  double f0_,
140  double h_);
141 
143  double f_2_,
144  double f_1_,
145  double f_0_,
146  double h_);
147 
148 
149 } // end of namespace mygsl
150 
151 #endif // MYGSL_NUMERICAL_DIFFERENTIATION_H
152 
153 /* Local Variables: */
154 /* mode: c++ */
155 /* coding: utf-8 */
156 /* End: */
double derivative_forward_regular_sampled_2(double f0_, double f1_, double f2_, double h_)
double derivative_backward_regular_sampled_4(double f_4_, double f_3_, double f_2_, double f_1_, double f0_, double h_)
double second_derivative_central_regular_sampled_2(double f_1_, double f0_, double f1_, double h_)
double derivative_forward(const i_unary_function &eval_, double x_, double h_, double &abserr_)
double derivative_forward_regular_sampled_3(double f0_, double f1_, double f2_, double f3_, double h_)
double derivative_forward_regular_sampled_4(double f0_, double f1_, double f2_, double f3_, double f4_, double h_)
double second_derivative_backward_regular_sampled_2(double f_3_, double f_2_, double f_1_, double f_0_, double h_)
double derivative_backward_regular_sampled_3(double f_3_, double f_2_, double f_1_, double f0_, double h_)
double second_derivative_central_regular_sampled_4(double f_2_, double f_1_, double f0_, double f1_, double f2_, double h_)
double second_derivative_forward_regular_sampled_1(double f0_, double f1_, double f2_, double h_)
double derivative_backward(const i_unary_function &eval_, double x_, double h_, double &abserr_)
double derivative_backward_regular_sampled_2(double f_2_, double f_1_, double f0_, double h_)
double derivative_central_regular_sampled_2(double f_1_, double f1_, double h_)
double second_derivative_forward_regular_sampled_2(double f0_, double f1_, double f2_, double f3_, double h_)
double derivative_central_regular_sampled_4(double f_2_, double f_1_, double f1_, double f2_, double h_)
double derivative_forward_regular_sampled_1(double f0_, double f1_, double h_)
Top-level namespace of the Bayeux/mygsl module library.
Definition: base_decay_driver.h:47
double derivative(const i_unary_function &eval_, double x_, const interval &domain_, double &abserr_)
double derivative_backward_regular_sampled_1(double f_1_, double f0_, double h_)
double second_derivative_backward_regular_sampled_1(double f_2_, double f_1_, double f0_, double h_)
double derivative_central(const i_unary_function &eval_, double x_, double h_, double &abserr_)