|Re: [eigen] cppduals - dual number implementation with Eigen specializations|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] cppduals - dual number implementation with Eigen specializations
- From: Michael Tesch <tesch1@xxxxxxxxx>
- Date: Wed, 4 Dec 2019 12:46:45 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=wOEOQ+UUijk+5t8bAvNtRmZ9IIezYtNvbm8fBadLyRY=; b=GzxZTF6I5WYzCiIU8MRMncyZYmXRjAqI9AVutjXFeu/gfjd+ogXJvqQiIDN/xV8eSK FCR58vSOwH3V/6o15OCIPIYeOWAeQ9wbXeCX6bcpJjmZarxU6qzvh36KeVROj7kinDCV SJwY7Ub4AF4kuRn9dBfAxAVdFIB7WQZt4/f6SrvZRxwlDpJFZQo0KAcgT77e2fwRQeV2 k0+9pJtFRL1ggW9jlY1INYmIZnlQtoQxyqdYxTOILoBYuff8iZ1i5iqy27IS8v1rJ+ZQ Sz25Qi7Tyeo+8F+2DQTz2i2I2mN7emGUaAQya6kMg812XLHb/Z9OohL8ylins/YKdDI2 FZYw==
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:
Would I be able to use the Eigen matrix functions, e.g. the matrix exponential, with your library? Literally in the last week I found that the ceres::Jet<> class does not work with the matrix exponential,
due to issues with implicit conversions.