If you are interested in codegen for different languages you might look at Asymptote Code as a target -

https://asymptote.sourceforge.io/

The coding language is close to C/C++.  Look at the galleries to see what you can plot (output can be eps, pdf, webgl, html, etc.).  Here is my favorite -

https://asymptote.sourceforge.io/gallery/3Dwebgl/Klein.html

You can rotate, zoom, and pan the image with your mouse.  Here is the wiki page -

https://en.wikipedia.org/wiki/Asymptote_(vector_graphics_language)

On 3/28/23 12:59 PM, Tirthankar Mazumder wrote:
Hello everyone, my name is Tirthankar Mazumder and I am a third year undergraduate mathematics student in the Indian Institute of Technology, Bombay. This year, I would like to do a GSoC project in either the parsing or codegen submodules of SymPy.

I've looked at the project ideas for both submodules, and also the previous work done in those areas. I saw that there was an early GSoC project in 2010 by Øyvind Jensen which essentially gave birth to the autowrap stuff in the sympy.codegen submodule.

Along with this, there were two more recent projects in 2015 and 2019 respectively, by Ankit Pandey and Nikhil Maan. Ankit added functionality for generating Fortran code from the equivalent SymPy code using LFortran, and also did some work in optimizing certain matrix codegen operations. Nikhil setup the framework for and wrote most of the current C and Fortran parsers.

With this prior work in mind, I want to ask about three things to the community: 1) Is there a mentor for this project, or someone willing to mentor for this project? I know that last year, Anurag <https://groups.google.com/g/sympy/c/xYoL_YlVyu8> had a very strong proposal which was unfortunately not accepted as a GSoC project due to a lack of mentors. 2) Even though I have used SymPy over the past two years for some assignments and other projects, I have not used much of SymPy's codegen or parsing capabilities beyond lambdify. What kind of use cases are these submodules usually used for, and what kind of improvements (bug fixes, feature requests, more documentation, etc.) would the community like to see in these areas? 3) What are some of the possible GSoC projects could I do for these two projects? (Note that while I am asking about information for both submodules, I am fine with just contributing to one of these submodules.)

The GSoC ideas page <https://github.com/sympy/sympy/wiki/GSoC-Ideas> mentions that a lot of work has been done in the intervening time between now and the previous GSoC, and hence to ask about the current state of affairs in these submodules.

*parsing*:
In the C parser, there are currently a few bugs (one of which I have been working on <https://github.com/sympy/sympy/pull/24954>), and the transform_string_literal node code is left as a TODO. One of the things I could do as a part of a parsing related GSoC is to fix these issues.

Along with that, I could also perhaps add another language to the parsing submodule (like, say, Rust/Julia/C++), but is there a demand for that? Would it be worth the developer and maintainer effort to do something like that? Are there other parsing related projects I could do?

*codegen*:
While I admit that I didn't poke around in the codegen submodule too much (and hence am not too familiar with the current state of affairs), the GSoC ideas page <https://github.com/sympy/sympy/wiki/GSoC-Ideas#code-generation> mentions that adding support for more fnodesfor Fortran, adding support for OpenMP directives, and looking into optimized matrix codegen calls could be a solid GSoC project. What are your thoughts on that?
--
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 view this discussion on the web visit https://groups.google.com/d/msgid/sympy/e6fe81be-fb43-4ffd-b189-c6682e31b217n%40googlegroups.com <https://groups.google.com/d/msgid/sympy/e6fe81be-fb43-4ffd-b189-c6682e31b217n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/1cf3186b-09ba-f7db-037e-c3e6a81c2fd2%40gmail.com.

Reply via email to