Re: [eigen] overriding scalar_X_op for auto-dif? |

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] overriding scalar_X_op for auto-dif?*From*: Bob Carpenter <carp@xxxxxxxxxxx>*Date*: Mon, 23 May 2011 14:09:12 -0400

I'm glad to hear that a solution is possible. Is there any way I could help? It's important to us because it's holding up the efficient use of matrices in multivariate distributions like the normal, and we do a lot of hierarchical regression modeling. We can code around this by promoting everything to an auto-dif variable, but it's hugely wasteful in both time and space. Eventually, we plan to override the matrix arithmetic ops for auto-dif to save even more space and time, but we want to get everything working before worrying about further optimization. - Bob On 5/19/11 5:42 PM, Gael Guennebaud wrote:

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

**Follow-Ups**:**RE: [eigen] overriding scalar_X_op for auto-dif?***From:*Hongyu Miao

**References**:**[eigen] overriding scalar_X_op for auto-dif?***From:*Bob Carpenter

**Re: [eigen] overriding scalar_X_op for auto-dif?***From:*Gael Guennebaud

**Re: [eigen] overriding scalar_X_op for auto-dif?***From:*Bob Carpenter

**Re: [eigen] overriding scalar_X_op for auto-dif?***From:*Gael Guennebaud

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] 2.0.16 and 3.0.1 for the end of the week.** - Next by Date:
**RE: [eigen] overriding scalar_X_op for auto-dif?** - Previous by thread:
**Re: [eigen] overriding scalar_X_op for auto-dif?** - Next by thread:
**RE: [eigen] overriding scalar_X_op for auto-dif?**

Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |