The PR, https://github.com/sympy/sympy/pull/14701 might be of interest. It
implements an algorithm for computing hypergeometric sums.

On Fri, Mar 13, 2020 at 9:32 AM Neeraj Adhikari <[email protected]>
wrote:

> I couldn't find any examples in open issues which require the generating
> function algorithm to solve. I will keep looking at the issues and the
> codebase to better understand them.
>
> As for the Karr Algorithm, thank you for the suggestion! I will split its
> implementation to smaller pieces and propose working on the first few ones
> in my proposal.
>
> On Wednesday, March 11, 2020 at 12:58:03 PM UTC-4, Aaron Meurer wrote:
>>
>> The convention used is actually related to the Karr algorithm, in that
>> it is based on the conventions defined in his paper
>>
>> https://docs.sympy.org/latest/modules/concrete.html#sympy.concrete.summations.Sum.
>>
>> It relates to the way so-called indefinite summations work, which are
>> an important part of the algorithm.
>>
>> Regarding the project, I would warn that the Karr algorithm is quite
>> complicated, so it would be good to try to split it into workable
>> pieces, with the assumption that only some of the first pieces may be
>> completed over the summer.
>>
>> Aaron Meurer
>>
>> On Wed, Mar 11, 2020 at 7:18 AM Oscar Benjamin
>> <[email protected]> wrote:
>> >
>> > 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
>> >
>> > On Wed, 11 Mar 2020 at 08:16, Neeraj Adhikari <[email protected]>
>> wrote:
>> > >
>> > > Hello SymPy Developers,
>> > >
>> > > I am interested in applying to GSoC 2020 so here's my introduction.
>> > >
>> > > I'm a grad student at the University of Rhode Island, currently in my
>> second semester pursuing a Master's Degree in Computer Science. I have
>> strong interests in mathematics in general and specifically the
>> intersection of mathematics and computer science. I have been programming
>> in python on and off since about 2015, when I worked on my undergraduate AI
>> project (a basic chat bot). More recently I used python for a computer
>> vision project in my previous job. The project involved extracting
>> structured information from images of identity cards.
>> > >
>> > > Maple is the CAS I'm most familiar with as I'm using it for course
>> I'm taking. I had heard of Sage before but didn't know that SymPy was its
>> backend for symbolic computation. For GSoC 2020, I want to work on
>> summation algorithms. With SymPy only implementing Gosper's algorithm now,
>> there are a lot of expression classes whose summations cannot be computed.
>> Before the summer, I will be implementing an algorithm that uses generating
>> functions (link to paper) to sum hybrid functions as a project for the
>> course. This algorithm can find sums containing special functions like the
>> harmonic numbers and fibonacci numbers, which SymPy is mostly unable to do
>> now. (For example, summation(k*harmonic(k), (k,1,n)) does not produce a
>> closed form). My implementation for the course will be in the Maple
>> programming language, and my first task would be porting that to SymPy.
>> Once that is done, I want to move on to implementing Karr's algorithm,
>> first for the indefinite case and then the definite case. I think
>> implementing an algorithm I'm already familiar with first might be better
>> than to dive headfirst into the more complex Karr's algorithm. What are
>> your thoughts on this?
>> > >
>> > > Another relevant piece of information: my major professor (Dr. Ed
>> Lamagna) is a computer algebra researcher and has contributed to the
>> implementation of some algorithms in Maple. I will be able to ask him for
>> advice in case I'm stuck on something.
>> > >
>> > > Thanks,
>> > > Neeraj
>> > >
>> > > --
>> > > 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/sympy/e51d9e24-149c-45b7-a10d-a42b881f8cf0%40googlegroups.com.
>>
>> >
>> > --
>> > 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/sympy/CAHVvXxQkqt8ZJg-OSQUyioWM_YiiQo75jb23q3o0-G92UAYyCw%40mail.gmail.com.
>>
>>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/262581c6-de40-41c1-b3e5-659363623a1e%40googlegroups.com
> <https://groups.google.com/d/msgid/sympy/262581c6-de40-41c1-b3e5-659363623a1e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
With regards,
Gagandeep Singh
Github - https://github.com/czgdp1807/
Linkedin - https://www.linkedin.com/in/czgdp1807/
<https://www.linkedin.com/in/gdp1/>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAAvS0gVP5SodfhJpE2z8AEJQSZkO6YE6vomxQXW3T38FXmMySw%40mail.gmail.com.

Reply via email to