sympy gamma

188 views
Skip to first unread message

SAHIL SHEKHAWAT

unread,
Dec 29, 2013, 4:16:33 AM12/29/13
to sy...@googlegroups.com
Hi guys!
I am new to the sympy community but i really like the idea of sympy gamma.
I think its really cool to develop something similar to wolfram alpha but because i am new i want
to know what are the future plans of the community for this project.
Its true that i dont have much experience but i am really excited and i think i can develop it further.
please also give your advice about an android app for sympy gamma which will be really awesome against the paid app
of wolframalpha.

Aaron Meurer

unread,
Dec 29, 2013, 12:27:40 PM12/29/13
to sy...@googlegroups.com
SymPy Gamma already has a mobile-ready webpage. So the advantage of an
app would be that it could run locally. I'm not sure how easy it is to
run Python on Android. Likely someone has already done it.

Aaron Meurer
> --
> 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+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> For more options, visit https://groups.google.com/groups/opt_out.

SAHIL SHEKHAWAT

unread,
Dec 30, 2013, 1:13:26 AM12/30/13
to sy...@googlegroups.com
@Aaron Meurer : Can you please give me an idea about what the community wants  in sympy_gamma or what are the future plans.

David Li

unread,
Dec 31, 2013, 1:42:43 PM12/31/13
to sy...@googlegroups.com
You could look at the issues lists on Github: https://github.com/sympy/sympy_gamma/issues and on Google Code: https://code.google.com/p/sympy/issues/list?can=2&q=label%3AGamma, as well as the GSoC ideas list: https://github.com/sympy/sympy/wiki/GSoC-2014-Ideas. Google App Engine, which Gamma runs on, has experimental matplotlib support, which you could try to integrate into Gamma. Additionally, you could work on implementing 3D plotting, either by using a library like Three.js or trying to integrate what Mathics has, for instance. Parsing, which is part of SymPy, could also use work (issues: https://code.google.com/p/sympy/issues/list?can=2&q=label%3AParsing).

As for an Android app, I it's been discussed here before. Mathstep (https://play.google.com/store/apps/details?id=nl.vertinode.mathstep) would be an example of one that uses SymPy (but not Gamma) and runs Python on Android; it's nicest feature, in my opinion, is the equation editor, which could also be useful for Gamma on the web. Libraries that implement this already exist (e.g. MathQuill, though we would have to be careful about it's licence).

David

Nitin Agarwal

unread,
Jan 14, 2014, 1:49:11 AM1/14/14
to sy...@googlegroups.com
Hi David,

As you had pointed out that "Google App Engine, which Gamma runs on, has experimental matplotlib support, which you could try to integrate into Gamma." I would like to know about the google app engine experimental matplotlib support. I would like to integrate into gamma. Could you specify in somewhat detail.

Since Sympy has a lot of improvement which needs to be done, I wish to discuss about the new ideas which I could start off with and integrate with the Sympy gamma. We would have to besides the current features, we would have to develop some new features in comparison to what wolframalpha currently offers to the users.







--
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+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.



--
Nitin Agarwal
Website : www.nitinagarwal.in
Github : https://github.com/NitinAgarwal
IRC : nitinagarwal3006

David Li

unread,
Jan 14, 2014, 5:30:24 PM1/14/14
to sy...@googlegroups.com
Google's documentation talks about the extent of support for matplotlib on App Engine: https://developers.google.com/appengine/docs/python/tools/libraries27. You will need some way to get matplotlib working on the development server included with the SDK; I believe if you search around you will find a way to do this. As for the purpose of this, currently Gamma doesn't support plots such as 3D plots. You could also create result types to plot statistical graphs, etc. or anything that matplotlib+SymPy is capable of plotting. There aren't any plans for the support, other than that it would be useful; I would recommend reading the SymPy documentation and seeing what kinds of objects can be plotted.

David

Nitin Agarwal

unread,
Jan 17, 2014, 9:35:55 PM1/17/14
to sy...@googlegroups.com
Since you mentioned to make use of mathplotlib from https://developers.google.com/appengine/docs/python/tools/libraries27 but here its been mentioned that its a library used for 2D plotting. After going though the plotting documentation of sympy, its been mentioned that mathplotlib is alreadly been used and for plotting both 2D and 3D plots. Link http://docs.sympy.org/latest/modules/plotting.html
Pyglet module is being used for 2D and 3D plots that can be controlled by console commands as well as keyboard and mouse.
What else needs to be done in this plotting module for sympy and sympy gamma. after working with some of the equations on sympy gamma, I can see the plots being drawn for the equations.

--

Nitin Agarwal

David Li

unread,
Jan 17, 2014, 9:39:26 PM1/17/14
to sy...@googlegroups.com
Gamma uses its own plotting code based on d3.js, which is all rendered client-side and does not support all types of plots (particularly 3D plots). Matplotlib would allow us to support that in Gamma. We wouldn't necessarily be writing code using matplotlib, but instead trying to get matplotlib working with SymPy on App Engine and then rendering and sending a graph to the browser. For that matter, console access isn't exactly available on App Engine, so the user wouldn't be able to interact with the plot without additional code...

David

Nitin Agarwal

unread,
Jan 17, 2014, 9:44:30 PM1/17/14
to sy...@googlegroups.com
Right, console access is not available for the user to interact with the plot. In the sympy documentation it's been mentioned that the plotting module supports both 2D and 3D plots. http://docs.sympy.org/latest/modules/plotting.html

Also what type of console would you like to have and how to start working on this to get this done.

David Li

unread,
Jan 17, 2014, 9:51:06 PM1/17/14
to sy...@googlegroups.com

A console wouldn't be appropriate for Gamma, I just wanted to point out that the interactivity currently present with SymPy plots wouldn't work by default on App Engine.

You would need to get matplotlib working on the development server, then create a new card for matplotlib plots that renders the plot, serializes it to PNG or some image format, and then sends that as the result. You will likely want to look through logic.py and resultsets.py to get a sense of how Gamma works. If you have any specific questions, feel free to ask me.

David

You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/pvCw5e1wTf4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.

Nitin Agarwal

unread,
Jan 17, 2014, 10:02:00 PM1/17/14
to sy...@googlegroups.com
So if I consider the plot of log(x) on Sympy gamma ie. http://www.sympygamma.com/input/?i=log%28x%29 then how is this working. Its also using mathplotlib. Am I right?  If mathplotlib is not working on the development server, how the plotting is being done currently.

I had seen the logic.py and resultsets.py, got some idea and the working of Sympy Gamma.

I would like to know some example of 2D and 3D which is not working.

David Li

unread,
Jan 17, 2014, 10:03:10 PM1/17/14
to sy...@googlegroups.com

This is not matplotlib, this is d3.js as I mentioned. For an example of what doesn't work, try x^2 - y^2.

Nitin Agarwal

unread,
Jan 17, 2014, 10:10:22 PM1/17/14
to sy...@googlegroups.com
Does d3.js plots both 2D and 3D plots as mentioned in the tutorial.  http://docs.sympy.org/latest/modules/plotting.html#module-sympy.plotting.pygletplot

Also its been mentioned in the documentation that "Presently the plots are rendered using matplotlib as a backend."

So let me try to make mathplotlib working on the server app engine.

One query about mathplotlib. Since previously you had mentioned that d3.js, which is all rendered client-side and does not support all types of plots (particularly 3D plots) and trying to get matplotlib working with SymPy on App Engine will help us in getting the 3D plots.

David Li

unread,
Jan 17, 2014, 10:34:33 PM1/17/14
to sy...@googlegroups.com


On Jan 17, 2014 8:10 PM, "Nitin Agarwal" <nitinaga...@gmail.com> wrote:
>
> Does d3.js plots both 2D and 3D plots as mentioned in the tutorial.  http://docs.sympy.org/latest/modules/plotting.html#module-sympy.plotting.pygletplot

No. D3 is completely separate from SymPy, the  documentation for SymPy does not apply to Gamma's plotting at all.

>
> Also its been mentioned in the documentation that "Presently the plots are rendered using matplotlib as a backend."

Again, this is only true for SymPy and not for Gamma.

>
> So let me try to make mathplotlib working on the server app engine.
>
> One query about mathplotlib. Since previously you had mentioned that d3.js, which is all rendered client-side and does not support all types of plots (particularly 3D plots) and trying to get matplotlib working with SymPy on App Engine will help us in getting the 3D plots.

Sorry, but I don't see the question here, could you clarify?

Nitin Agarwal

unread,
Jan 17, 2014, 10:37:46 PM1/17/14
to sy...@googlegroups.com
Question here is after getting mathplotlib working on the app engine, Whether we would be able to draw 3D plots or not?

David Li

unread,
Jan 17, 2014, 10:42:35 PM1/17/14
to sy...@googlegroups.com

That would be the question you're answering :) It should work, but you'll have to figure out how to properly configure matplotlib for App Engine and how to serialize the plot.

Aaron Meurer

unread,
Jan 17, 2014, 11:31:55 PM1/17/14
to sy...@googlegroups.com
How new is the matplotlib on the App Engine? Does it have the new webagg stuff?

Aaron Meurer

David Li

unread,
Jan 17, 2014, 11:33:47 PM1/17/14
to sy...@googlegroups.com

App Engine is on 1.2, so I don't think WebAgg is supported yet, unfortunately.

Nitin Agarwal

unread,
Jan 17, 2014, 11:51:31 PM1/17/14
to sy...@googlegroups.com
Mathplotlib is supported on the production server on app engine 1.2.0 not on the development server.

On which version of app engine , Sympy Gamma is currently hosted or made use of.

If we want to make Mathplotlib working on the development server of App engine then we have to do some changes in the dev_appserver. See this https://github.com/matplotlib/matplotlib/issues/1823/
Reply all
Reply to author
Forward
0 new messages