Jérôme, I don't anything about the tensor stuff, others will have to comment.
As far as creating production numerical code is concerned, there are a lot of tools available. We have a CSE algorithm that works really well and we have code printers for a variety of languages in addition to code generators and autowrappers for Python use. All of this is currently in SymPy. For example, the PyDy project uses these facilities to build production speed code for complex multibody dynamic systems in classical mechanics using all of these tools. Jason moorepants.info +01 530-601-9791 On Fri, Mar 13, 2015 at 10:29 AM, <j.gonthie...@gmail.com> wrote: > Hi everyone, > > First, thanks to all developers here for having made SymPy such a great > tool. I am using it to help me derive some complicated expressions for > electronic structure methods in quantum chemistry (I am a post-doc in > GeorgiaTech, USA). > > Basically, I have a sum of tensor contractions (rank 2 and rank 4) with a > significant number of terms. I started implementing new functions that > operate on indexed objects to do some simple index manipulation and tensors > substitution. I would simply like to know if anyone is working on this > module right now to avoid any double effort ? > > My next endeavour is to implement a factorization and common subexpression > elimination routine for these indexed objects, so as to reduce the total > operation count to implement the resulting expression in a production-level > quantum chemistry software (specifically, PSI4). Are any of you aware of > similar work being done or already implemented in SymPy ? > This needs to be more than the factor() function, because it needs to be > able to identify factorization that yields the lowest operation count. I > also noted that factor() did not partial factorization when some indexed > quantity was present in some terms of a sum, but not all. > My factorization implementation may use the collect() function though, if > no one foresees any problem with that. > > Thanks! > > Jérôme > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/0fb89705-66ca-452a-acaf-28a7fcb0d7aa%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/0fb89705-66ca-452a-acaf-28a7fcb0d7aa%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAP7f1AjiM_Hubbsu7gNBzRW3-23PD0jiGDNOvLd_VR_KT20S_A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.