Re: [eigen] cppduals - dual number implementation with Eigen specializations |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Thanks Michael – this sounds hopeful, which is a pleasant surprise as after discussing the issue on the Ceres mailing list yesterday I was ready to give up. Fortuitous timing! I’ll take a look at your eigen-expokit and see if I can get that working. Toby From: Michael Tesch <tesch1@xxxxxxxxx> Hi Toby, Yes, that's literally my use case too - although I dont use Eigen's Pade' approximation, instead I have (partially, and admittedly somewhat sloppily) ported the great EXPOKIT to Eigen:
https://gitlab.com/tesch1/eigen-expokit -- that padm() might work directly with ceres::Jet (but of course would be slower). See
https://gitlab.com/tesch1/cppduals/blob/master/tests/test_expm.cpp#L132 for an example. To get Eigen's M.exp() to use the Pade approximant for a non-standard type, you might have to create some template trickery. If you dont convince it that you actually want Pade, it silently falls back to the Sylvester's formula implementation,
which I just checked doesn't work with cppduals (it compiles & runs but gives incorrect results - dunno why, didn't investigate). As a side note, if you want really fast matrix exponential derivatives and have plenty of memory to throw at it: Cheers, Michael On Wed, Dec 4, 2019 at 11:35 AM Wood, Tobias <tobias.wood@xxxxxxxxx> wrote:
|
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |