# Revision history [back]

### Defining q-binomial coefficients $\binom{n}{k}_q$ symbolic in

I would like to verify certain identities involving sums of $q$-binomial coefficients $\binom{n}{k}_q$ and as such, I would like to treat the $q$-binomial coefficients as if they were symbolic in $n$ and $k$. But the version of $q$-binomial coefficients that are implemented in Sage cannot be used as a symbolic variable in $n$ and $k$ according to this thread. So, to this end I defined my own:

var('q,n,k')
qint = lambda n: sum([q^i for i in range(n)])
qfac = lambda n: 1 if n==0 else prod([qint(i) for i in range(1,n+1)])
qbin = lambda n,k:qfac(n)/(qfac(k)*qfac(n-k))


But if I write

sum(qbin(n,k),k,0,n)


I get the following error:

ValueError: cannot convert n + 1 to int


Is there a way to do these types of summations in Sage? I should note that, for my purposes, it would be enough to limit myself to the case when $n$ and $k$ are non-negative integers.

### Defining q-binomial coefficients $\binom{n}{k}_q$ symbolic in

I would like to verify certain identities involving sums of $q$-binomial coefficients $\binom{n}{k}_q$ and as such, I would like to treat the $q$-binomial coefficients as if they were symbolic in $n$ and $k$. But the version of $q$-binomial coefficients that are implemented in Sage cannot be used as a symbolic variable in $n$ and $k$ according to this thread. So, to this end I defined my own:

var('q,n,k')
qint = lambda n: sum([q^i for i in range(n)])
qfac = lambda n: 1 if n==0 else prod([qint(i) for i in range(1,n+1)])
qbin = lambda n,k:qfac(n)/(qfac(k)*qfac(n-k))


But if I write

sum(qbin(n,k),k,0,n)


I get the following error:

ValueError: cannot convert n + 1 to int


Is there a way to do these types of summations in Sage? I should note that, for my purposes, it would be enough to limit myself to the case when $n$ and $k$ are non-negative integers.

### Defining q-binomial coefficients $\binom{n}{k}_q$ symbolic inin $n$ and $k$

I would like to verify certain identities involving sums of $q$-binomial coefficients $\binom{n}{k}_q$ and as such, I would like to treat the $q$-binomial coefficients as if they were symbolic in $n$ and $k$. But the version of $q$-binomial coefficients that are implemented in Sage cannot be used as a symbolic variable in $n$ and $k$ according to this thread. So, to this end I defined my own:

var('q,n,k')
qint = lambda n: sum([q^i for i in range(n)])
qfac = lambda n: 1 if n==0 else prod([qint(i) for i in range(1,n+1)])
qbin = lambda n,k:qfac(n)/(qfac(k)*qfac(n-k))


But if I write

sum(qbin(n,k),k,0,n)


I get the following error:

ValueError: cannot convert n + 1 to int


Is there a way to do these types of summations in Sage? I should note that, for my purposes, it would be enough to limit myself to the case when $n$ and $k$ are non-negative integers.

### Defining q-binomial coefficients $\binom{n}{k}_q$ symbolic in $n$ and $k$$n, k I would like to verify certain identities involving sums of q-binomial coefficients \binom{n}{k}_q and as such, I would like to treat the q-binomial coefficients as if they were symbolic in n and k. But the version of q-binomial coefficients that are implemented in Sage cannot be used as a symbolic variable in n and k according to this thread. So, to this end I defined my own: var('q,n,k') qint = lambda n: sum([q^i for i in range(n)]) qfac = lambda n: 1 if n==0 else prod([qint(i) for i in range(1,n+1)]) qbin = lambda n,k:qfac(n)/(qfac(k)*qfac(n-k))  But if I write sum(qbin(n,k),k,0,n)  I get the following error: ValueError: cannot convert n + 1 to int  Is there a way to do these types of summations in Sage? I should note that, for my purposes, it would be enough to limit myself to the case when n and k are non-negative integers. EDIT: As an example, I would like to prove something like the q-binomial theorem, which says \sum_{k=0}^n q^{k(k-1)/2} \binom{n}{k}_q x^k = \prod_{k=0}^{n-1} (1+q^k t) ### Defining q-binomial coefficients \binom{n}{k}_q symbolic in n, k I would like to verify certain identities involving sums of q-binomial coefficients \binom{n}{k}_q and as such, I would like to treat the q-binomial coefficients as if they were symbolic in n and k. But the version of q-binomial coefficients that are implemented in Sage cannot be used as a symbolic variable in n and k according to this thread. So, to this end I defined my own: var('q,n,k') qint = lambda n: sum([q^i for i in range(n)]) qfac = lambda n: 1 if n==0 else prod([qint(i) for i in range(1,n+1)]) qbin = lambda n,k:qfac(n)/(qfac(k)*qfac(n-k))  But if I write sum(qbin(n,k),k,0,n)  I get the following error: ValueError: cannot convert n + 1 to int  Is there a way to do these types of summations in Sage? I should note that, for my purposes, it would be enough to limit myself to the case when n and k are non-negative integers. EDIT: As an example, I would like to prove something like the q-binomial theorem, which says \sum_{k=0}^n$$\sum_{k=0}^n q^{k(k-1)/2} \binom{n}{k}_q x^k = \prod_{k=0}^{n-1} (1+q^k t)$t)$$### Defining q-binomial coefficients \binom{n}{k}_q symbolic in n, k I would like to verify certain identities involving sums of q-binomial coefficients \binom{n}{k}_q and as such, I would like to treat the q-binomial coefficients as if they were symbolic in n and k. But the version of q-binomial coefficients that are implemented in Sage cannot be used as a symbolic variable in n and k according to this thread. So, to this end I defined my own: var('q,n,k') qint = lambda n: sum([q^i for i in range(n)]) qfac = lambda n: 1 if n==0 else prod([qint(i) for i in range(1,n+1)]) qbin = lambda n,k:qfac(n)/(qfac(k)*qfac(n-k))  But if I write sum(qbin(n,k),k,0,n)  I get the following error: ValueError: cannot convert n + 1 to int  Is there a way to do these types of summations in Sage? I should note that, for my purposes, it would be enough to limit myself to the case when n and k are non-negative integers. EDIT: As an example, I would like to prove something like the q-binomial theorem, which says$$\sum_{k=0}^n q^{k(k-1)/2} \binom{n}{k}_q x^k = \prod_{k=0}^{n-1} (1+q^k t)$$x)$$

EDIT2: Fixed a typo.