| 1 | initial version |
The issue is that the list [0..nn] with symbolic nn is not valid (a list must have an concrete integer not symbolic length). Since in the else clause you want to define SS as the sum with symbolic limits, you best shot would be using symbolic sum function - like this:
def M(kk,nn) :
if kk==1:
SS=nn+1
else :
uz = var(f'uz{kk}')
SS = sum(M(kk-1,nn-uz), uz, 0, nn)
return SS
Note that we give variable uz an index kk to have different summation variables in the recursive sums.
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.