Re: [sage-gsoc] Regarding Contribution to sage GSOC 2013

94 views
Skip to first unread message

Daniel Krenn

unread,
Apr 23, 2013, 3:54:05 AM4/23/13
to sage...@googlegroups.com
Hello,

Am 2013-04-15 22:08, schrieb sharad gupta:
> Sir, I am interested in contributing to sage as i am deeply
> interested in building python programs and one of your ideas suits my
> interest that is Advanced Symbolic Expression Manipulation and also
> it will we great pleasure for me to work for your organization.

Good to hear :)

So tell us a little bit more about you, your experience with Sage, your
relation to symbolic expressions and why you are interested in that
particular project.

Daniel

Sharad Gupta

unread,
Apr 27, 2013, 12:52:17 PM4/27/13
to sage...@googlegroups.com
Sir,
I have not much experience with sage but i have done various problems dealing with symbolic expression, string manipulation in python and the reason behind such project is that i am interested in  improving the searching capability of python with regular expressions and also  as i have done many contributions to python functionalities so it will be more interesting for me to contribute to sage.



Daniel

--
You received this message because you are subscribed to the Google Groups "sage-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-gsoc+...@googlegroups.com.
To post to this group, send email to sage...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-gsoc?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



Daniel Krenn

unread,
May 1, 2013, 2:40:24 PM5/1/13
to sage...@googlegroups.com
Am 2013-04-28 18:21, schrieb sharad gupta:> Sir,
> It will be beneficial for me if you provide me with some detailed
> guidelines about the project so that it will help me in my project
> template.

The project description on the ideas page contains five parts. You can
start with any you like. The main idea is to extend the exiting
substitute command. It can be helpful to study (not detailled) the code
of that command, as well as the way how wildcards are implemented at the
moment (since those should also be used extensively)

Daniel
> <mailto:sage-gsoc%2Bunsu...@googlegroups.com>.
> To post to this group, send email to sage...@googlegroups.com
> <mailto:sage...@googlegroups.com>.

sharad gupta

unread,
May 1, 2013, 3:24:10 PM5/1/13
to sage...@googlegroups.com
Sir,
Can you tell me from where i should access the code so as to understand the implementation and make any further changes.

sharad gupta

unread,
May 1, 2013, 3:27:27 PM5/1/13
to sage...@googlegroups.com
Sir,
Also what we can do to enhance the substitution process we can analyze some past data and can infer some of the best possible substitution function.
Am i going in right direction?????
Regards,
Sharad Gupta

Burcin Erocal

unread,
May 2, 2013, 6:12:52 AM5/2/13
to sage...@googlegroups.com
On Wed, 01 May 2013 20:40:24 +0200
Daniel Krenn <kr...@aon.at> wrote:

> Am 2013-04-28 18:21, schrieb sharad gupta:> Sir,
> > It will be beneficial for me if you provide me with some detailed
> > guidelines about the project so that it will help me in my project
> > template.
>
> The project description on the ideas page contains five parts. You can
> start with any you like. The main idea is to extend the exiting
> substitute command.

IMHO, the project proposal contains only a list of goals and does not
address the methodology. I know quite a bit about symbolics in Sage.
I'd be surprised if a student can find out how to implement this
functionality when I'm having difficulty coming up with a solution
myself.


> It can be helpful to study (not detailled) the
> code of that command, as well as the way how wildcards are
> implemented at the moment (since those should also be used
> extensively)

The substitute() function for symbolic expressions in Sage is
implemented in Pynac [1] and it is in C++. I don't know if advanced
rewriting rules can be implemented purely in Python, without
understanding how Pynac and Sage interact.

[1] http://pynac.org/

A couple of students have tried to work with Pynac for the "symbolic
expressions" project this year. But the barrier to entry is rather
high and nobody managed to get there yet. One needs to know Sage,
Cython, C++, Python C-API and how all these things interact.


Here are some random suggestions about symbolics and rewriting rules.

Please do not attempt to build anything on string processing based on
symbolic expression, similar to mtype.py included here:

http://trac.sagemath.org/sage_trac/attachment/ticket/8616/trac_8616_symbolic_sage_correct.patch


Pynac/GiNaC provides a framework for traversing expression trees [2]
and rewriting parts of it [3]. This is

[2] http://www.ginac.de/tutorial/Visitors-and-tree-traversal.html
[3]
http://www.ginac.de/tutorial/Applying-a-function-on-subexpressions.html

However, these are not exposed to the Python interface yet. If they
were, they could be used to implement the rewrite() interface suggested
by Francois Maltey [4, 5].

[4] http://trac.sagemath.org/sage_trac/ticket/10137
[5] http://wiki.sagemath.org/symbolics/rewrite


We could also think about improving the pattern matching facilities if
there were more concrete examples of missing functionality. This would
require delving into the guts of Pynac/GiNaC. Here is some relevant
documentation:

[6]
http://www.ginac.de/tutorial/Pattern-matching-and-advanced-substitutions.html


Cheers,
Burcin
Reply all
Reply to author
Forward
0 new messages