|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.
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:
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/|