GSOC 2017: SymPy Live and SymPy Gamma (on Google App Engine)

112 views
Skip to first unread message

mvnnn

unread,
Mar 3, 2017, 11:47:22 AM3/3/17
to sympy
Hi Aaron Meurer,

I am last year student. This year i want to do this project again. Give me some suggestion regarding ti this project that's really helps me.

contribution: 



Thanks,
Bhautik Mavani

mvnnn

unread,
Mar 17, 2017, 7:58:52 PM3/17/17
to sympy
Hi,

How should i search for a mentor of SymPy Live and SymPy Gamma (on Google App Engine) project?

Regards,
Bhautik

David Li

unread,
Mar 28, 2017, 9:34:07 PM3/28/17
to sympy
Hi Bhautik,

I would look at the issues list for SymPy Live[1] and SymPy Gamma[2].

For SymPy Live, I would say the biggest problem is how it is implemented - it tries to preserve a user session by pickling all globals, but this does not always work, and so it falls back to re-evaluating statements. This is slow, and causes confusing behavior when one of the statements is not completely deterministic. The other problem is that we would like to have different versions of SymPy available for the live shell in the docs, so that we can make sure the docs and the shell line up.

For SymPy Gamma, I feel the implementation is not quite flexible enough. There are quite a few improvements that could be made and this is more up to you to decide what can be done.

Please feel free to ping me with questions, since I'm probably the developer who most recently worked with either codebase (and admittedly I haven't been as active as I would have liked these past few years).


Best,
David

mvnnn

unread,
Mar 31, 2017, 3:40:41 PM3/31/17
to sympy
Hi David,


Any suggestion regarding to this project that's really helps me.

Thanks,
Bhautik

David Li

unread,
Mar 31, 2017, 4:08:58 PM3/31/17
to sympy
Hi Bhautik,

Quick thoughts:

NLP: How will your tagger, stemmer, and lemmatizer deal with mathematical input? Is there any guarantee they won't trip over or mangle math expressions? Will the lemmatizer deal with things like oo, inf, infinity, unicode symbols, etc? I'm also not sure how regexes will convert the sentence to a mathematical form. I don't imagine that user queries will necessarily be a regular language. What happens when user input doesn't match the SymPy function name? IHMO, an NLP proposal is going to need a lot more detail - also remember that most of us are not familiar with NLP and won't necessarily know how these things work.

Parsing: Can you clarify what you mean by a regular expression syntax tree? I'm also not sure how precedence levels would help with the example of parsing "sinx" to "sin x".

Symbol keyboard - looks good

Graphing: how do you plan to integrate IPython Notebook? Is it even hostable on App Engine? 

Support button: I'm not sure of the value of this, especially as we don't have the manpower to run this. Isn't our Gitter a better place for such discussion?

Design: do you have a mockup or specific improvements in mind? I'm wary of just adding a CSS framework for the sake of it, especially as I see Bootstrap and Materialize.css listed - these look and function quite differently.

Pandas: I'm not sure how Pandas helps us with pickling. IIRC, Pandas has efficient serialization to certain binary formats where the on-disk and in-memory representation are similar to each other/the same. SymPy's issue is that many objects simply do not pickle. I also doubt that SymPy Live sessions count as big data.

Further functionality:

I'm not sure why a Gamma user would want different SymPy versions. I think this would be much more useful for Live, and in that case would be one of the highest-impact tasks you can do out of all of these - having SymPy Live versions in sync with the documentation would be great. 

IIRC, Django is basically only used for routing. It would be nice to make Gamma more portable, but again, I think it would be more useful to have SymPy Live be easier to deploy and more embeddable.

Let me know if you have any additional questions.

Best,
David
Reply all
Reply to author
Forward
0 new messages