|
gtsam
3.2.1
gtsam
|
Some functions to compute numerical derivatives. More...
Go to the source code of this file.
Classes | |
| class | gtsam::G_x1< X1, X2 > |
| Helper class that computes the derivative of f w.r.t. More... | |
Namespaces | |
| gtsam | |
| Global functions in a separate testing namespace. | |
Functions | |
| LieVector | gtsam::makeLieVector (const Vector &v) |
| global functions for converting to a LieVector for use with numericalDerivative | |
| LieVector | gtsam::makeLieVectorD (double d) |
| template<class X > | |
| Vector | gtsam::numericalGradient (boost::function< double(const X &)> h, const X &x, double delta=1e-5) |
| Numerically compute gradient of scalar function Class X is the input argument The class X needs to have dim, expmap, logmap. | |
| template<class X > | |
| Vector | gtsam::numericalGradient (double(*h)(const X &), const X &x, double delta=1e-5) |
| template<class Y , class X > | |
| Matrix | gtsam::numericalDerivative11 (boost::function< Y(const X &)> h, const X &x, double delta=1e-5) |
| Compute numerical derivative in argument 1 of unary function. More... | |
| template<class Y , class X > | |
| Matrix | gtsam::numericalDerivative11 (Y(*h)(const X &), const X &x, double delta=1e-5) |
| use a raw C++ function pointer | |
| template<class X > | |
| Matrix | gtsam::numericalDerivative11 (double(*h)(const X &), const X &x, double delta=1e-5) |
| remapping for double valued functions | |
| template<class X > | |
| Matrix | gtsam::numericalDerivative11 (boost::function< Vector(const X &)> h, const X &x, double delta=1e-5) |
| remapping for vector valued functions | |
| template<class X > | |
| Matrix | gtsam::numericalDerivative11 (Vector(*h)(const X &), const X &x, double delta=1e-5) |
| template<class Y , class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative21 (boost::function< Y(const X1 &, const X2 &)> h, const X1 &x1, const X2 &x2, double delta=1e-5) |
| Compute numerical derivative in argument 1 of binary function. More... | |
| template<class Y , class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative21 (Y(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| use a raw C++ function pointer | |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative21 (boost::function< double(const X1 &, const X2 &)> h, const X1 &x1, const X2 &x2, double delta=1e-5) |
| pseudo-partial template specialization for double return values | |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative21 (double(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative21 (boost::function< Vector(const X1 &, const X2 &)> h, const X1 &x1, const X2 &x2, double delta=1e-5) |
| pseudo-partial template specialization for vector return values | |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative21 (Vector(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class Y , class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative22 (boost::function< Y(const X1 &, const X2 &)> h, const X1 &x1, const X2 &x2, double delta=1e-5) |
| Compute numerical derivative in argument 2 of binary function. More... | |
| template<class Y , class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative22 (Y(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| use a raw C++ function pointer | |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative22 (boost::function< double(const X1 &, const X2 &)> h, const X1 &x1, const X2 &x2, double delta=1e-5) |
| pseudo-partial template specialization for double return values | |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative22 (double(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative22 (boost::function< Vector(const X1 &, const X2 &)> h, const X1 &x1, const X2 &x2, double delta=1e-5) |
| pseudo-partial template specialization for vector return values | |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalDerivative22 (Vector(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class Y , class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative31 (boost::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| Compute numerical derivative in argument 1 of ternary function. More... | |
| template<class Y , class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative31 (Y(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative31 (boost::function< double(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| pseudo-partial template specialization for double return values | |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative31 (double(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative31 (boost::function< Vector(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| pseudo-partial template specialization for vector return values | |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative31 (Vector(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class Y , class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative32 (boost::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| Compute numerical derivative in argument 2 of ternary function. More... | |
| template<class Y , class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative32 (Y(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative32 (boost::function< double(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| pseudo-partial template specialization for double return values | |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative32 (double(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative32 (boost::function< Vector(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| pseudo-partial template specialization for vector return values | |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative32 (Vector(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class Y , class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative33 (boost::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| Compute numerical derivative in argument 3 of ternary function. More... | |
| template<class Y , class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative33 (Y(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative33 (boost::function< double(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| pseudo-partial template specialization for double return values | |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative33 (double(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative33 (boost::function< Vector(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| pseudo-partial template specialization for vector return values | |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalDerivative33 (Vector(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X > | |
| Matrix | gtsam::numericalHessian (boost::function< double(const X &)> f, const X &x, double delta=1e-5) |
| Compute numerical Hessian matrix. More... | |
| template<class X > | |
| Matrix | gtsam::numericalHessian (double(*f)(const X &), const X &x, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalHessian212 (boost::function< double(const X1 &, const X2 &)> f, const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalHessian212 (double(*f)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalHessian211 (boost::function< double(const X1 &, const X2 &)> f, const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalHessian211 (double(*f)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalHessian222 (boost::function< double(const X1 &, const X2 &)> f, const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 > | |
| Matrix | gtsam::numericalHessian222 (double(*f)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian311 (boost::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| Numerical Hessian for tenary functions. | |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian311 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian322 (boost::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian322 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian333 (boost::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian333 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian312 (boost::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian313 (boost::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian323 (boost::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian312 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian313 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
| template<class X1 , class X2 , class X3 > | |
| Matrix | gtsam::numericalHessian323 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
Some functions to compute numerical derivatives.