You may also be interested in SymPy Live (https://live.sympy.org) and SymPy Gamma (http://gamma.sympy.org/).
Aaron Meurer On Tue, May 7, 2019 at 3:28 PM David Bailey <[email protected]> wrote: > > I think my primary reason for proposing a new frontend, is that I'd like to > see SymPy algebra/calculus reach more people - people whose need for computer > algebra is real, but not overwhelming, or children who are learning calculus > for fun, years before it was taught in school (as I did). As a consultant, I > was contacted by more than one PhD student, who was fluent in his subject, > and needed computer algebra, but with only a limited grasp of computers. > > I didn't come to SymPy looking for a reason to write a frontend, I came > because I was interested to discover how effective SymPy is compared with > Mathematica. > > There is lots of simple but useful free software available now - for example > the post-it note program, Stickies or the clipboard storage system, Ditto. > These seem to have been built by one person, and yet even they have a custom > GUI, and often work on more than one platform. By contrast, SymPy is > obviously a massive effort with many contributors, and yet rather than having > a dedicated GUI interface, it runs via a web browser with a CMD program > connected in some way. The would-be computer algebra enthusiast has to find > the weirdly named Jupyter program, start it up, and then know to click Python > 3, and then click 'New' in order to get to a window into which he has to > import SymPy and its symbols before he can begin to type in algebra. When he > comes to save his work, he again has problems, because most of his computer > is inaccessible for understandable security reasons. > > People who really NEED computer algebra will learn to do all that, but I am > pretty sure you will lose a lot of others on the way. I think that is a > shame, and that free algebra software should also be easy and friendly to use. > > Indeed Kasper Peeters has already decided to create some type of stand alone > frontend - part of Cadabra - that I am eager to try, but it seems to have > some teething troubles right now. > > I'd imagine that many - maybe most potential users of SymPy would like to > simply execute algebraic commands - they don't really want to use Python > explicitly unless and until they become more serious about using SymPy. I > propose that my frontend will accept all the input that Jupyter will accept, > but it will start connected to Python 3, with SymPy imported together with > all its symbols. I also suggest that a pre-scan can pick up a variety of > elementary (but common) faults, and give clean errors - unpaired quotes and > missing brackets would be obvious examples. By default, this scan would also > spot single character identifiers and set them up on the fly as SymPy > symbols. This would mean that all the variables most used in algebra - single > letters and Greek letters - would be immediately usable. More advanced users > who wanted to incorporate Python code, would probably be advised to turn this > feature off. I think it would also be possible to distinguish between > variable names and function names and set them up appropriately. > > I think producing quality error messages for other kinds of fault is also > important. Everyone makes errors, and beginners make more than most - is they > don't make sense, they soon give up. > > I'd also like to apply some syntactic sugar in places. For example, the > ability to expand expressions such as f(x**2) in powers of x is fine, but the > complex notation for f`(0) and higher derivatives, makes this very hard to > use. > > Also, now is the age of UTF8, and clearly the frontend should at some point > provide easy access to all the symbols relevant to maths. These need to be > easy to input on a normal keyboard, and Mathematica provides several ways to > do this, including typing things like <esc>inf<esc> to obtain an infinity > symbol. The replacement is made immediately. Something along these lines > could make SymPy even more attractive. > > S.Y.Lee suggests creating a formula editor. By this, I think he means an > editor that could operate directly on a 2-D mathematical expression - say to > change the limits on an integral. In practice with Mathematica, I found this > rather fiddly, and I usually suggested converting an expression to ImputForm, > changing it, and then changing the result back again. > > I guess this is my provisional roadmap (it wouldn't all happen at once), > depending on what everyone thinks and how Cadabra works - I don't want to > re-invent the wheel. > > David > > > > > > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/3285f96d-b1d2-75fb-4837-75460bf0c315%40dbailey.co.uk. > For more options, visit https://groups.google.com/d/optout. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2BpBBnUB3DgrEKxB%3DEG3cgGv7UhjD0d319kzT0s4w6%3Dgw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
