Hi Suhail,
On Tue, 23 Apr 2013 19:05:26 -0700 (PDT)
Suhail Sherif <
suhail...@gmail.com> wrote:
> I am Suhail Sherif, a student of Computer Science (final year
> undergraduate) at Indian Institute of Technology , Guwahati. So my
> timezone would be GMT+5:30.
>
> As far as my developing skills go, I am comfortable with C/C++ and
> with Python, although I have never used Cython. I have a few
> assignments and such on Github, and I had participated (and done
> well) in the ACM ICPC regionals in India.
> This would be the first time I'd be working on developing a
> mathematical framework. I have played around with and seen the inner
> workings of NumPy before, but never worked on it.
> As far as my mathematics go, I have been interested in it forever,
> more so than I am in coding. Although I might not be extremely bright
> at it, I am confident of picking up what I need to pick up on the job.
>
> Out of the project proposals, there are two I am really interested in:
> 1. Piecewise functions, as I am very much interested in functions,
> differentiability, continuity and such
Since you're comfortable with C++, for the piecewise functions project
you can implement the necessary data structures in Pynac [1] and write
the interface in Sage using Cython.
[1]
http://pynac.org/
To familiarize yourself with Pynac, I suggest looking at one of these
instructions for setting up a development environment:
[2]
http://hg.pynac.org/pynac/wiki/get_involved
[3]
https://groups.google.com/d/msg/pynac-devel/V6S6KGDd-u0/uWEikMgXnAoJ
Pynac is based on GiNaC [4], which has a very helpful tutorial [5]. You
should try to read that as well.
[4]
http://www.ginac.de/
[5]
http://www.ginac.de/tutorial/
There are discussions in the list archives (either sage-gsoc or
sage-devel) about possible data structures we can use for piecewise
functions. We should decide on this after looking at how other systems,
such as Mathematica and Maple, handle them.
Cheers,
Burcin