Hi,

I am a sophomore undergraduate Computer Science and Engineering student.
I've done a substantial amount of Mathematics in high school, and so far in
my university (Differential Calculus, Integral Calculus, Linear Algebra,
Probability Theory) and am pretty comfortable learning new concepts. My
Open Source contribution so far has been a few patches in Evolution[1] [2]
[3] and a few bugs (yakuake [4] , Sugarlabs [5]).

I would like to work on SymPy this summer and take it up as my GSoC
project. I went through the ideas page and was thinking over the
implementation of *Step-by-step Expression Manipulation*, and I felt it
could be implemented the way we do dry runs manually, e.g. for higher order
derivatives, display the result of fdiff() (i.e. 1st order derivative) at
each step. This would also help avoid code-duplication in cases where SymPy
works in the way we would too by hand. "show_steps" could be implemented as
a separate function where, when called by the user, it could be made it
operation-specific.

And as to what the output should look like, the readability part is easy,
what's tricky is the usability part. We could store each step in an object
(auto-name each step as step1. step2, etc) that when called, can print the
operations occurring in that step and then the user could use it as he/she
finds fit.

Please do let me know your take on this, and if its feasible to implement.

I also had a few ideas about the implementation of *sparse matrix
representation for Matrix*, in the linear algebra module.  I think we can
use a combination of both Dense & Sparse storage. We can create a list of
indices that holds the zero elements and modify other Matrix operations to
first see if the element is in this list, if so, then treat it as a zero,
else continue as before ( and refer to the Dense storage value); probably
implement this as a test_sparse() function and add it to the existing
matrix operations.
It's mentioned in the wiki that this project was partially worked upon by a
previous GSoC student. Given a reference, I could probably complete it
further.

I would love to get more inputs on the above ideas, and discuss the same.

Regards,
Ashwini Oruganti

[1] https://bugzilla.gnome.org/show_bug.cgi?id=593449
[2] https://bugzilla.gnome.org/show_bug.cgi?id=593444
[3] https://bugzilla.gnome.org/show_bug.cgi?id=593450
[4] https://bugs.kde.org/show_bug.cgi?id=294051
[5] http://bugs.sugarlabs.org/ticket/3362

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to