| 1 | initial version |
You should use instead:
sage: sum(x^i*ft.coefficient(x, i) for i in [0..5])
1/120*x^5 - 1/6*x^3 + x
Explanation: your original code involves Sage's symbolic sum and i has to be a symbolic variable (you probably declared it as such via var('i')). Now, the method coefficient is expecting an integer, not a symbolic variable. For some reason, it returns always zero for a symbolic variable (IMHO an error message would be more appropriate here):
sage: i = var('i')
sage: ft.coefficient(x, i)
0
Hence the result that you get. On the contrary, the command
sum(x^i*ft.coefficient(x, i) for i in [0..5])
involves Python's sum, for which i is an integer, so that ft.coefficient behaves correctly. For more details, see the documentation returned by sum? (in particular the warning in it).
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.