diff --git a/cpp/numericalDerivative.h b/cpp/numericalDerivative.h index 798fc2d65..3579665aa 100644 --- a/cpp/numericalDerivative.h +++ b/cpp/numericalDerivative.h @@ -52,15 +52,10 @@ namespace gtsam { Vector d(n,0.0); Matrix H = zeros(m,n); for (size_t j=0;j + Matrix numericalDerivative32 + (Y (*h)(const X1&, const X2&, const X3&), + const X1& x1, const X2& x2, const X3& x3, double delta=1e-5) + { + Y hx = h(x1,x2,x3); + double factor = 1.0/(2.0*delta); + const size_t m = dim(hx), n = dim(x1); + Vector d(n,0.0); + Matrix H = zeros(m,n); + for (size_t j=0;j + Matrix numericalDerivative33 + (Y (*h)(const X1&, const X2&, const X3&), + const X1& x1, const X2& x2, const X3& x3, double delta=1e-5) + { + Y hx = h(x1,x2,x3); + double factor = 1.0/(2.0*delta); + const size_t m = dim(hx), n = dim(x1); + Vector d(n,0.0); + Matrix H = zeros(m,n); + for (size_t j=0;j