| 1 | initial version |
By using f(x)= syntax, your are defining a Symbolic function of the symbolic variable x. Then floor(x) is a symbolic expression. And mod just don't eat a symbolic expression as first argument.
sage: a = floor(x)
sage: type(a)
<type 'sage.symbolic.expression.Expression'>
sage: mod(a, 5) # raises value error
Use Python way of defining a function:
sage: def f(x): return mod(floor(x), 5)
sage: f(17.3)
2
See also Some Common Issues with Functions in the Sage Guided tour.
| 2 | No.2 Revision |
By using f(x)= syntax, your are defining a Symbolic function of the symbolic variable x. Then floor(x) is a symbolic expression. And mod just don't eat a symbolic expression as first argument.
sage: a = floor(x)
sage: type(a)
<type 'sage.symbolic.expression.Expression'>
sage: mod(a, 5) # raises value type error
Use Python way of defining a function:
sage: def f(x): return mod(floor(x), 5)
sage: f(17.3)
2
See also Some Common Issues with Functions in the Sage Guided tour.
| 3 | No.3 Revision |
By using f(x)= syntax, your are defining a Symbolic function of the symbolic variable x. Then floor(x) is a symbolic expression. And mod just don't eat a symbolic expression as first argument.
sage: a = floor(x)
sage: type(a)
<type 'sage.symbolic.expression.Expression'>
sage: mod(a, 5) # raises type error
Use Python way of defining a function:
sage: def f(x): return mod(floor(x), 5)
sage: f(17.3)
2
See also this post or the section Some Common Issues with Functions in the Sage Guided tour.
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.