Yes, the summation module could certainly use more work.  I think that this
has been on the GSoC project list for a while.

Fortunately this work can happen separately from work in stats.  There is a
pretty clear separation between the two modules.


On Thu, Jan 16, 2014 at 2:13 PM, F. B. <franz.bona...@gmail.com> wrote:

> On Wed, Jan 15, 2014 at 1:17 PM, Matthew Rocklin <mroc...@gmail.com>wrote:
>
>> Discrete is the newest and least mature and could presumably use work.
>>
>
> I tried to define a binomial distribution manually and do some
> calculations using summation:
>
> In [1]: n, k = var('n k', positive=True, integer=True)
>
> In [2]: p = var('p', positive=True)
>
> In [3]: binomial_dist = binomial(n, k)*p**k*(1-p)**(n-k)
>
> In [6]: summation(binomial_dist, (k, 0, n)).simplify()
> ⎧                                         │  1  │
> ⎪                1                  for p⋅│─────│ ≤ 1
> ⎪                                         │p - 1│
> ⎪
> ⎪  n
> ⎪ ____
> ⎪ ╲
> ⎨  ╲    k         -k         n ⎛n⎞
> ⎪   ╲  p ⋅(-p + 1)  ⋅(-p + 1) ⋅⎜ ⎟
> ⎪   ╱                          ⎝k⎠      otherwise
> ⎪  ╱
> ⎪ ╱
> ⎪ ‾‾‾‾
> ⎪k = 0
> ⎩
>
>
> This is technically correct, but is practically useless as a result.
>
> Even worse with a slight modification:
>
> >>> summation(binomial_dist*k, (k, 0, n))
> TypeError: unsupported operand type(s) for *: 'NoneType' and 'Add'
>
> I think that the summation module needs some further work.
>
>
>>  --
> 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+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to