vnl_discrete_diff.h
Go to the documentation of this file.
1 #ifndef vnl_discrete_diff_h_
2 #define vnl_discrete_diff_h_
3 //:
4 // \file
5 // \brief Functions to compute jacobians of vnl_least_squares_functions
6 //
7 // Functions to compute jacobians of vnl_least_squares_functions
8 // by discrete differences. They return false on failure and
9 // true on success.
10 //
11 // \verbatim
12 // name size description
13 //
14 // lsf --- the function.
15 // h 1 or n step size (scalar or a vector).
16 // x n point at which to evaluate the derivative of the function.
17 // y m value of the function at x.
18 // J mxn jacobian of the function at x.
19 // \endverbatim
20 //
21 // \author fsm
22 //
23 // \verbatim
24 // Modifications
25 // dac (Manchester) 28/03/2001: tidied up documentation
26 // Peter Vanroose 27/05/2001: Corrected documentation
27 // \endverbatim
28 
29 #include <vnl/vnl_vector.h>
30 #include <vnl/vnl_matrix.h>
31 #include <vnl/algo/vnl_algo_export.h>
32 
34 
35 //: forward differences
36 // \relatesalso vnl_least_squares_function
37 bool VNL_ALGO_EXPORT vnl_discrete_diff_fwd(vnl_least_squares_function *lsf,
38  double h,
39  vnl_vector<double> const &x,
41 
42 //: forward differences
43 // \relatesalso vnl_least_squares_function
44 bool VNL_ALGO_EXPORT vnl_discrete_diff_fwd(vnl_least_squares_function *lsf,
45  vnl_vector<double> const &h,
46  vnl_vector<double> const &x,
48 
49 //: forward differences
50 // \relatesalso vnl_least_squares_function
51 bool VNL_ALGO_EXPORT vnl_discrete_diff_fwd(vnl_least_squares_function *lsf,
52  vnl_vector<double> const &h,
53  vnl_vector<double> const &x,
54  vnl_vector<double> const &y,
56 
57 //: symmetric differences
58 // \relatesalso vnl_least_squares_function
59 bool VNL_ALGO_EXPORT vnl_discrete_diff_sym(vnl_least_squares_function *lsf,
60  double h,
61  vnl_vector<double> const &x,
63 
64 //: symmetric differences
65 // \relatesalso vnl_least_squares_function
66 bool VNL_ALGO_EXPORT vnl_discrete_diff_sym(vnl_least_squares_function *lsf,
67  vnl_vector<double> const &h,
68  vnl_vector<double> const &x,
70 
72 
73 #endif // vnl_discrete_diff_h_
An ordinary mathematical matrix.
bool VNL_ALGO_EXPORT vnl_discrete_diff_fwd(vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J)
forward differences.
void vnl_discrete_diff_test_lsf(vnl_least_squares_function *lsf, vnl_vector< double > const &x)
Abstract base for minimising functions.
bool VNL_ALGO_EXPORT vnl_discrete_diff_sym(vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J)
symmetric differences.