Acessing jacobians

338 views
Skip to first unread message

Albert Palomer

unread,
Sep 26, 2016, 7:04:50 AM9/26/16
to ceres-...@googlegroups.com
Hello,

I am trying to move from Numeric differentiation (I can not template some of the functions in 3rd parties libraries that I use) to analytic differentiation. For me, to check that the Jacobians that I compute are well computed I would like to compare them with the once computed Numerically by ceres (the jacobians are really complex and I have, for sure some bugs in the analytical ones). Is there a way to access this Numerical Jacobians that Ceres already computed for each residual block?

Thank you.

Albert Palomer Vila

Albert Palomer

unread,
Sep 26, 2016, 7:40:49 AM9/26/16
to ceres-...@googlegroups.com
is it possible that I can do something like this to access the Numeric computation of the jacobian?

ceres::CostFunction* cost_function = new ceres::NumericDiffCostFunction<func, ceres::CENTRAL, 3, 2,6>(new func());

double** parameters;

parameters = new double*[2];
parameters[0] = new double [2];
parameters[1] = new double [6];
double residuals[3];
double** jacobians;
jacobians = new double*[2];
jacobians[0] = new double [6];
jacobians[1] = new double [18];
cost_function->Evaluate(parameters,residuals,jacobians);

Thank you!


Albert Palomer Vila

Sameer Agarwal

unread,
Sep 26, 2016, 7:53:59 AM9/26/16
to ceres-...@googlegroups.com
Albert,
My replies are inline.

On Mon, Sep 26, 2016 at 4:04 AM Albert Palomer <alber...@gmail.com> wrote:
Hello,

I am trying to move from Numeric differentiation (I can not template some of the functions in 3rd parties libraries that I use) to analytic differentiation.

You can use NumericDiffFunctor to wrap these functions so that they can be called from a templated function which ca be automatically differentiated.


 
For me, to check that the Jacobians that I compute are well computed I would like to compare them with the once computed Numerically by ceres (the jacobians are really complex and I have, for sure some bugs in the analytical ones). Is there a way to access this Numerical Jacobians that Ceres already computed for each residual block?


Thank you.

Albert Palomer Vila

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAD3_OrWUUm%3DFBfK6ChitvkdSXqF1v7m73Ws4tphN%2BpjTPhOY8A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Albert Palomer

unread,
Sep 26, 2016, 8:43:08 AM9/26/16
to ceres-...@googlegroups.com
Thank you very much Sameer for you fast answer. Is there any place that I can find an example of gradient_checker usage? I am not able to compile anything using it.

Thank you.


Albert Palomer Vila

2016-09-26 13:53 GMT+02:00 'Sameer Agarwal' via Ceres Solver <ceres-...@googlegroups.com>:
Albert,
My replies are inline.
On Mon, Sep 26, 2016 at 4:04 AM Albert Palomer <alber...@gmail.com> wrote:
Hello,

I am trying to move from Numeric differentiation (I can not template some of the functions in 3rd parties libraries that I use) to analytic differentiation.

You can use NumericDiffFunctor to wrap these functions so that they can be called from a templated function which ca be automatically differentiated.


 
For me, to check that the Jacobians that I compute are well computed I would like to compare them with the once computed Numerically by ceres (the jacobians are really complex and I have, for sure some bugs in the analytical ones). Is there a way to access this Numerical Jacobians that Ceres already computed for each residual block?


is your friend.

Sameer
 

Thank you.

Albert Palomer Vila

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CABqdRUDKM425SwOh5QkyE%2BhzjdXfGyqaDdhEuf2X1CY6rynUsg%40mail.gmail.com.

Sameer Agarwal

unread,
Sep 27, 2016, 10:58:25 AM9/27/16
to ceres-...@googlegroups.com

On Mon, Sep 26, 2016 at 5:43 AM Albert Palomer <alber...@gmail.com> wrote:
Thank you very much Sameer for you fast answer. Is there any place that I can find an example of gradient_checker usage? I am not able to compile anything using it.

Thank you.


Albert Palomer Vila
2016-09-26 13:53 GMT+02:00 'Sameer Agarwal' via Ceres Solver <ceres-...@googlegroups.com>:
Albert,
My replies are inline.
On Mon, Sep 26, 2016 at 4:04 AM Albert Palomer <alber...@gmail.com> wrote:
Hello,

I am trying to move from Numeric differentiation (I can not template some of the functions in 3rd parties libraries that I use) to analytic differentiation.

You can use NumericDiffFunctor to wrap these functions so that they can be called from a templated function which ca be automatically differentiated.


 
For me, to check that the Jacobians that I compute are well computed I would like to compare them with the once computed Numerically by ceres (the jacobians are really complex and I have, for sure some bugs in the analytical ones). Is there a way to access this Numerical Jacobians that Ceres already computed for each residual block?


is your friend.

Sameer
 

Thank you.

Albert Palomer Vila

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/CAD3_OrV8KA9T%2BS2bR4gtL%2BQzgLFPxPoL1rmaTAK%3D6E1vUcpocA%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages