Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_discrete_diff.h

Go to the documentation of this file.
00001 #ifndef vnl_discrete_diff_h_
00002 #define vnl_discrete_diff_h_
00003 
00004 //:
00005 //  \file
00006 //  \brief Functions to compute jacobians of vnl_least_squares_functions
00007 //  \author fsm@robots.ox.ac.uk
00008 //
00009 //  Modifications
00010 //  dac (Manchester) 28/03/2001: tidied up documentation
00011 //
00012 
00013 
00014 #include <vnl/vnl_vector.h>
00015 #include <vnl/vnl_matrix.h>
00016 class vnl_least_squares_function;
00017 
00018 //: Functions to compute jacobians of vnl_least_squares_functions 
00019 //  by discrete differences.  They return false on failure and 
00020 //  true on success.
00021 //
00022 // name size    description
00023 //
00024 // lsf  --      the function.
00025 // h    1 or n  step size (scalar or a vector).
00026 // x    n       point at which to evaluate the derivative of the function.
00027 // y    m       value of the function at x.
00028 // J    mxn     jacobian of the function at x.
00029 
00030 
00031 //: forward differences
00032 
00033 bool vnl_discrete_diff_fwd(vnl_least_squares_function *lsf,
00034                            double h,
00035                            vnl_vector<double> const &x,
00036                            vnl_matrix<double>       &J);
00037 
00038 bool vnl_discrete_diff_fwd(vnl_least_squares_function *lsf,
00039                            vnl_vector<double> const &h,
00040                            vnl_vector<double> const &x,
00041                            vnl_matrix<double>       &J);
00042 
00043 bool vnl_discrete_diff_fwd(vnl_least_squares_function *lsf,
00044                            vnl_vector<double> const &h,
00045                            vnl_vector<double> const &x,
00046                            vnl_vector<double> const &y,
00047                            vnl_matrix<double>       &J);
00048 
00049 //: symmetric differences
00050 
00051 bool vnl_discrete_diff_sym(vnl_least_squares_function *lsf,
00052                            double h,
00053                            vnl_vector<double> const &x,
00054                            vnl_matrix<double>       &J);
00055 
00056 bool vnl_discrete_diff_sym(vnl_least_squares_function *lsf,
00057                            vnl_vector<double> const &h,
00058                            vnl_vector<double> const &x,
00059                            vnl_matrix<double>       &J);
00060 
00061 #endif // vnl_discrete_diff_h_

Generated at Wed Mar 12 01:13:15 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000