On Dec 11, 1:48 am, Daniel Bump <[EMAIL PROTECTED]> wrote:
> There are some problems with the function gaussian_binomial
> in sage 2.8.14. The help string contains a typo:
>
> binom{n}{k}_q = frac{(1-q^m)(1-q^{m-1})... (1-q^{m-r+1})}
> {(1-q)(1-q^2)... (1-q^r)}.
>
> The typo is that m and r on the RHS should match n and k on the LHS.
>
> I feel that to be useful gaussian_binomial(n,k,q) should work if n
> and k are integers and 0<=k<=n, no matter what q is. At the moment,
> the function requires q to be an integer but there will be
> applications if q is an indeterminate. Moreover if q = 1 this
> should give the ordinary binomial coefficient but the current
> implementation fails due to division by zero.
>
> Perhaps the following is one way to improve the
> function would be as follows. Then it gives the
> correct behavior when q is an indeterminate or q=1.
>
> Why does the original function use misc.prod instead
> of prod?
>
Hello Daniel,
thanks or the bug report. We are now tracking this issue at
http://www.sagetrac.org/sage_trac/ticket/1456
> Daniel Bump
Cheers,
Michael
>
> def gaussian_binomial(n,k,q):
> r"""
> Return the gaussian binomial
> $$
> \binom{n}{k}_q = \frac{(1-q^n)(1-q^{n-1})\cdots (1-q^{n-k+1})}
> {(1-q)(1-q^2)\cdots (1-q^k)}.
> $$
>
> EXAMPLES:
> sage: gaussian_binomial(5,1,2)
> 31
>
> AUTHOR: David Joyner and William Stein
> """
>
> R.<x>=QQ[]
>
> n = prod([1 - x**i for i in range((n-k+1),n+1)])
> d = prod([1 - x**i for i in range(1,k+1)])
>
> return (n / d).subs(x = q)
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~----------~----~----~----~------~----~------~--~---