1 | initial version |

If you want to make a symbolic sum then all the terms should be symbolic. Your example does not work because `qbin(n,k)`

is not defined for symbolic `n`

.

What you can do is to make `qbin`

a callable symbolic expression with custom typesetting:

```
var('q')
def qbin_latex(self, n, k):
return '{' + str(n) + ' \choose ' + str(k) + '}_{' + str(q) + '}'
qbin = function('qbin', nargs=2, print_latex_func=qbin_latex)
var('k,n')
show(sum(qbin(n,k),k,0,n))
```

$$\sum_{k=0}^{n} {n \choose k}_{q}$$

To check the identities that you are interested in, you will probably have to do some substitutions by hand, and/or pass an `evalf_func`

parameter to `function`

in the definition of `qbin`

. Have a look at the documentation for symbolic functions.

2 | No.2 Revision |

If you want to make a symbolic sum then all the terms should be symbolic. Your example does not work because `qbin(n,k)`

is not defined for symbolic `n`

.

What you can do is to make `qbin`

a ~~callable ~~symbolic ~~expression ~~function with custom typesetting:

```
var('q')
def qbin_latex(self, n, k):
return '{' + str(n) + ' \choose ' + str(k) + '}_{' + str(q) + '}'
qbin = function('qbin', nargs=2, print_latex_func=qbin_latex)
var('k,n')
show(sum(qbin(n,k),k,0,n))
```

$$\sum_{k=0}^{n} {n \choose k}_{q}$$

To check the identities that you are interested in, you will probably have to do some substitutions by hand, and/or pass an `evalf_func`

parameter to `function`

in the definition of `qbin`

. Have a look at the documentation for symbolic functions~~. ~~.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.