Hi Neeraj,
That all sounds excellent. I don't know the algorithms you are
referring to or the summation code that well myself but I know that it
needs some love!
A GSOC proposal is always more enticing if it demonstrates
understanding of the existing codebase and known problems. It is
probably worth taking a look at the open issues and PRs that have the
concrete label:
https://github.com/sympy/sympy/issues?q=is%3Aopen+is%3Aissue+label%3Aconcrete
https://github.com/sympy/sympy/pulls?q=is%3Aopen+is%3Apr+label%3Aconcrete
Can you see any examples there that could be calculated with the
algorithms you mentioned?
One thing that needs sorting out is a fully precise definition of what
a Sum actually represents. At the moment we have
In [24]: Sum(1, (x, 1, S(1)/2))
Out[24]:
1/2
___
╲
╲
╱ 1
╱
‾‾‾
x = 1
In [25]: Sum(1, (x, 1, S(1)/2)).doit()
Out[25]: 1/2
To me that's gibberish but the question is how non-integer limits
should be interpreted (or whether they should be allowed).
We also have things like this:
In [31]: Sum(1, (x, y, z)).doit()
Out[31]: -y + z + 1
In [32]: Sum(1, (x, y, z)).doit().subs(z, -1).subs(y, 1)
Out[32]: -1
I think that the current summation code is not very mature so be
prepared to find that various surrounding bits need improvement while
implementing the algorithms.
Oscar
> --
> 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 view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/e51d9e24-149c-45b7-a10d-a42b881f8cf0%40googlegroups.com.