Hi, I'm an undergraduate computer science student. I'm interested in your GSOC project idea to add "Step-by-Step" functionality to SymPy, and I have some good past experience relating to implementing that exact specific feature in symbolic mathematics software.
Last summer I spent some time reading textbooks on symbol manipulation, Lisp, and AI, and wrote a program called "Step-by-Step Derivative Calculator". Here's a screenshot: https://sites.google.com/site/bl0ckeduserssoftware/easyderivsteps/screenshots/v12gui-linux.png And the download is at: https://sites.google.com/site/bl0ckeduserssoftware/easyderivsteps/ (Some of the source code for the program is currently available, but not the source code for the "step-by-step" feature). I would be quite interested to spend this summer adding similar functionality to SymPy, and will probably apply as a GSOC student in March, using my real name (my first name is Gabriel and my last name starts with a C) rather than this pseudonym. The approach I used and which I may consider attempting to use, perhaps somewhat modified, in SymPy can be summarized as follows: (1) some special code marks nodes in the expression tree that get modified between two operations which are marked as user-presented "steps", and specially decorates these so they are highlighted with a special colour in the user GUI display; (2) a table of description strings is built which associates classes of symbolic operations to parameterized description strings which aim to explain to the user what the operation did, and include, through parameterization, the specific expression or variable that was modified. In the case of my pet project, this was done using a custom little DSL for which I wrote a built-in compiler. The source code for the case of the quotient rule (from calculus) was: D(?x, f / g) = (g * D(x, f) - f * D(x, g) ) / (g * g) ; Apply quotient rule on $ \\frac{d}{d{?x}} \\left[ \\frac{&f}{&g} \\right] $ Note that this contains LaTeX for the final rendering, mixed with a description string, mixed with a symbolic rule for how the quotient rule works. I hope to soon spend some time familiarizing myself with the SymPy source code. Please tell me if you think my idea is interesting and would be willing to take me as a GSOC student. Best, Bl0ckeduser -- 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 http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/32aee09f-a6a4-494e-9e09-5242f74d23a5%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
