ok, actually it seems this is something we have to solve in Eigen
itself. Nothing difficult though.
gael
On Thu, May 19, 2011 at 10:48 PM, Bob Carpenter<carp@xxxxxxxxxxx> wrote:
Thanks so much for getting back to me so quickly
on this. I tried overloading scalar_product_traits
and NumTraits, but still no luck getting multiplication
of an auto-dif matrix times a double matrix to compile.
I'd MUCH rather just overload the basic ops for now.
Later, I can optimize with expressions and hand-coded
gradients for some cases without disturbing the API.
I'm afraid your auto-dif scalar code's a bit beyond
my current understanding of Eigen and C++ templates.
I've attached a small tar.gz ball. Check out the
README.txt, which shows how to run our reverse-mode
auto-dif, has an example using Eigen auto-dif var
multiplication which works fine, and then a demo that
doesn't compile using double * auto-dif variables.
I include the specialization of scalar_product_traits
you suggested (with both orders), as well as NumTraits,
but still no luck.
- Bob Carpenter
Columbia Uni, Dept of Statistics