Re: [eigen] Thank you for creating Eigen! |

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

*To*: <eigen@xxxxxxxxxxxxxxxxxxx>*Subject*: Re: [eigen] Thank you for creating Eigen!*From*: Alexander Voigt <alexander.voigt@xxxxxxxxxxxxxxxxxxxxx>*Date*: Fri, 21 Oct 2016 21:50:51 +0200

Hi Benoit Jacob, > Are your doing spacetime tensors with a size of 4 along each index > (as in Matrix4f)? Or some other fixed size? Or a runtime size (as in > MatrixXf)? > > Do you use a tensor or a spinor formalism / if the latter, have you > implemented some kind of spinor object on top of Eigen? We are using none of the formulations you've mentioned, sorry. The scalar-, vector-, matrix- and tensor-like objects we deal with are the parameters of the Lagrangian density of the particle physics model under consideration. The components of these objects are ordinary commuting numbers. Thus, at the C++ level we can represent these objects as (real or complex) fixed-size Eigen matrices, Eigen::Matrix<double, M, N> (usually M and N are not greater than 6). An example for such objects are the so-called Yukawa couplings, which are complex 3x3 matrices (the Gu and Gd objects at the bottom of the paragraph [1]). In the end we need to solve extremely complicated boundary value problem for these Lagrangian density parameters. The corresponding differential equations have the form d Gu / d t = complicated expression (depends on Gu and Gd) d Gd / d t = another complicated expression (same here) ... and many more equations where the r.h.s. is a very complicated expression which involves many hundreds of matrix multiplications, additions and traces. And this is where Eigen comes into play! Not only allows us Eigen to formulate the r.h.s. in a very elegant form, but it is able to evaluate it very fast! So, thanks again everyone who contributed to this incredible algebra package! Btw., there was one small drawback that we came across at some point: If the matrix expressions become too complex, then the compilation might need more memory than you have and you machine might start swapping. In such a case, the only solution we found was to split the expression into pieces and finally add them together again. But that problem might go away in the future when compilers become smarter and computers have more memory (more than 100 GB at least). :) Best regards, Alex [1] https://en.wikipedia.org/wiki/Standard_Model_(mathematical_formulation)#The_Higgs_mechanism On 10/21/2016 07:13 PM, Benoit Jacob wrote: > > > 2016-10-19 6:57 GMT-04:00 Alexander Voigt > <alexander.voigt@xxxxxxxxxxxxxxxxxxxxx > <mailto:alexander.voigt@xxxxxxxxxxxxxxxxxxxxx>>: > > Dear Eigen developers, > > herewith I'd like to thank you very much creating the incredibly fast > and versatile Eigen package! > > I am a physicist working in theoretical particle physics and I'm using > Eigen for one of my projects: FlexibleSUSY [1]. FlexibleSUSY is a > spectrum generator, a program that calculates the masses of elementary > particles in a very wide class of particle physics models. > > For calculating the particle masses with high precision, one challenge > is to being able to calculate extremely complex matrix expressions > very efficiently (the so-called beta-functions [2]). These matrix > expressions are so complicated that they usually span multiple pages > and they need to be evaluated tens of thousands of times. Using > Eigen, we are able to evaluate these complicated expressions in an > incredibly short time, which gives us a big speed improvement over > other spectrum generators (SARAH/SPheno [3], SOFTSUSY [4]) and a high > speed is a premiss to study particle physics models at the LHC > experiment. Interestingly, the evaluation of the matrix expressions > in C++ using the Eigen library is much faster than the classic matrix > multiplication in Fortran (using Fortran's MatMul() function). > > Best regards, > Alexander Voigt > > P.S.: One Eigen feature which we're looking forward to is rank-3 and > -4 tensors, which appear in some extended particle physics models. > Thus, we cannot easily handle such models for now due to the missing > support of rank-3 and -4 tensors in Eigen 3.2. > > > Mostly out of curiosity :-) : > > Are your doing spacetime tensors with a size of 4 along each index (as > in Matrix4f)? Or some other fixed size? Or a runtime size (as in MatrixXf)? > > Do you use a tensor or a spinor formalism / if the latter, have you > implemented some kind of spinor object on top of Eigen? > > > > P.P.S.: If you think FlexibleSUSY is relevant enough, I'd be happy if > it could be added to the list of "Projects using Eigen" in the section > "Science". > > [1] https://flexiblesusy.hepforge.org > <https://flexiblesusy.hepforge.org> > https://github.com/FlexibleSUSY <https://github.com/FlexibleSUSY> > arXiv:1406.2319, arXiv:1609.00371 > [2] arxiv:hep-ph/9311340, arxiv:1107.2670, arxiv:1310.7629 > [3] http://sarah.hepforge.org/ > [4] http://softsusy.hepforge.org/ > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Dr. Alexander Voigt > Institute for Theoretical Particle Physics and Cosmology > RWTH Aachen > Sommerfeldstr. 14 > 52074 Aachen > Room: 28A408 > Phone: +49 (0)241 80 27049 <tel:%2B49%20%280%29241%2080%2027049> > Fax : +49 (0)241 80 22187 <tel:%2B49%20%280%29241%2080%2022187> > E-Mail: alexander.voigt@xxxxxxxxxxxxxxxxxxxxx > <mailto:alexander.voigt@xxxxxxxxxxxxxxxxxxxxx> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dr. Alexander Voigt Institute for Theoretical Particle Physics and Cosmology RWTH Aachen Sommerfeldstr. 14 52074 Aachen Room: 28A408 Phone: +49 (0)241 80 27049 Fax : +49 (0)241 80 22187 E-Mail: alexander.voigt@xxxxxxxxxxxxxxxxxxxxx ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Follow-Ups**:**Re: [eigen] Thank you for creating Eigen!***From:*Gael Guennebaud

**References**:**[eigen] Thank you for creating Eigen!***From:*Alexander Voigt

**Re: [eigen] Thank you for creating Eigen!***From:*Benoit Jacob

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Thank you for creating Eigen!** - Next by Date:
**Re: [eigen] Thank you for creating Eigen!** - Previous by thread:
**Re: [eigen] Thank you for creating Eigen!** - Next by thread:
**Re: [eigen] Thank you for creating Eigen!**

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