Hi Ankit, Besides what Aaron wrote, here are project ideas regarding code generation and Fortran that I would be very interested in:
https://groups.google.com/d/msg/sympy/Oe5IlRXgXi0/CBAwGgBfAgAJ If you are interested, let me know. Ondrej On Thu, Mar 21, 2019, at 7:27 PM, Aaron Meurer wrote: > You should take a look at the work that was done by Björn Dahlgren in > 2017. Here is the report > https://github.com/sympy/sympy/wiki/GSoC-2017-Report-Björn-Dahlgren:-Improved-code-generation-facilities. > I think it would be great to continue that work to have better support > for matrices. Note that the his project mostly focused on > sympy.codegen, which, so far, is somewhat separate from the codegen > stuff in sympy.utilities. We eventually would like to merge them, but > it would be better to prefer improvements to sympy.codegen, the newer > module. > > Having better matrix support would be awesome. I worked on a project a > couple of years ago that needed to use the NumPy/Python codegen on > matrices, and had to extend the printers manually (see > https://github.com/ergs/transmutagen/blob/master/transmutagen/codegen.py). > It would be great if that sort of thing were built in to the NumPy > printer, as well as all the other code printers (at least for > languages with good matrix support). > > As for documentation, there is > https://docs.sympy.org/latest/modules/codegen.html, which tries to go > over the different "layers" of code generation in SymPy. There is also > a talk I gave at SciPy (https://www.youtube.com/watch?v=nmI-cDAUjdE) > (my talk is somewhat high level; chances are if you already know what > code generation is you won't get much from it), as well as a tutorial > that we gave https://www.sympy.org/scipy-2017-codegen-tutorial/ (this > was during Björn's project, so most of the work he did is not included > there because it wasn't merged yet). > > Aaron Meurer > > On Thu, Mar 21, 2019 at 6:44 PM Ankit Pandey <arpandeyt...@gmail.com> wrote: > > > > Hi everyone, > > > > I am a third year student at Grinnell College in Grinnell, Iowa, and I'd > > like to > > work on expanding Sympy's code generation capabilities. More specifically, > > I'd > > like to improve how Sympy generates code for handling matrices. > > > > Øyvind Jensen worked on expanding codegen's ability to handle expressions > > involving IndexedBases and Matrix in the summer of 2010, so C and Fortran > > expressions are able to loop over the arguments of an input array. However, > > these languages have libraries that allow abstracting matrix operations in > > addition to optimizing them (the ideas page suggests LAPACK, and Øyvind > > Jensen > > also added support for Python's very own Theano, but this seems very rough). > > > > Since each target language has its own method of handling matricies, right > > now > > my idea is to extend codegen and its AST and implement the relevant matrix > > operations for each language (which seems easier for some more than others, > > since e.g. octave already implements many of the operations Sympy > > represents). > > My question is, how viable is this as a project for a summer? Also, I've > > submitted some small pull requests > > (https://github.com/sympy/sympy/pull/16369 > > and https://github.com/sympy/sympy/pull/16331) to help me familiarize myself > > with codegen. Are there any other issues/documentation I should look into? > > > > > > Thanks! > > > > -- > > 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 https://groups.google.com/group/sympy. > > To view this discussion on the web visit > > https://groups.google.com/d/msgid/sympy/f34dff96-3a77-498b-acad-98ec77c09029%40googlegroups.com. > > 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 https://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/CAKgW%3D6L6v32ruYRFFtP54SW68xh-YtycH0XmP7Xb%2B_rDdyPU2A%40mail.gmail.com. > 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 https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/5a5143f0-e78e-4534-9b2e-a172bf82b12b%40www.fastmail.com. For more options, visit https://groups.google.com/d/optout.