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.