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*: "Hongyu Miao" <jackymiao@xxxxxxxxx>*Date*: Mon, 23 May 2011 16:56:01 -0400*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:references:in-reply-to:subject:date :message-id:mime-version:content-type:content-transfer-encoding :x-mailer:thread-index:content-language; bh=dPgY91Rc6m1/mscMECqm5ndxfA5fNc0A+mWZabhilu0=; b=QFicLvrgV0b9m7FSUJ7B6tPDnPLfP80ze5npSrfXyowvoPwMJ9HXPgS3JlrrXA5kR2 mONFREbaKUoCYhuoyLpIbfjICJVeDAy4XHg7ky+8scq195nzbHIEFuwJ/Enohglyn+9N su9pHMTUIPToy+baYqlPL0cYxiBHJWNqhKXSg=*Domainkey-signature*: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:references:in-reply-to:subject:date:message-id:mime-version :content-type:content-transfer-encoding:x-mailer:thread-index :content-language; b=fJLihBgIN3X3Gd/AA73Q7dByK1NERo747D/Pqb7EHtBeUZKRR1qeBtgHCfAV8duusn 5pq9DGhUhBHz96iqAg6FCh/1zTTeYPzip57r2ypcq4VHqUYbA60fJ2fxKW+3T+PeRMeE mebphuXXHbXoMjG88Wd1Ww/1bQ4IXv9gwkuG8=*Thread-index*: AQLZEpS5qNYAZBHM3tTveBm0mglPnQF217EiAa777qkCNr0N+AHSUJg9kkd6QsA=

I have a similar problem here. Although auto-dif is an excellent idea to calculate partial derivatives, it requires all arithmetic ops on the paired data object (if that's the case, usually). I can't image how slow my program will become if I do that, not even mentioning the work load to rewrite LAPACK routines or ODE solvers for the paired data class. Any smart suggestion to overcome this? Thanks. Jacky -----Original Message----- From: Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of Bob Carpenter Sent: Monday, May 23, 2011 2:09 PM To: eigen@xxxxxxxxxxxxxxxxxxx Subject: Re: [eigen] overriding scalar_X_op for auto-dif? 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:*Gael Guennebaud

**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

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

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] overriding scalar_X_op for auto-dif?** - Next by Date:
**Re: [eigen] 2.0.16 and 3.0.1 for the end of the week.** - 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/ |