On Nov 29, 10:50 am, Yotam Avital <[email protected]> wrote:
>
> 1. def f(x): return x^2
That's a pure Python function, it's in some way "universal" but you
cannot derivate it.
sage: type(f)
<type 'function'>
>
> 2. f(x) = x^2
That's preparsed and actually this:
sage: preparse('f(x) = x^2')
'__tmp__=var("x"); f = symbolic_expression(x**Integer(2)).function(x)'
That's why it is the same as
>
> 3. x = var('x')
> f(x) = x^2
>
sage: type(f)
<type 'sage.symbolic.expression.Expression'>
That's an expression and you can evaluate it, that's how a
mathematical function works.
You can also do things like
sage: f.derivative()
x |--> 2*x
Note: There is even more, read the help of fast_callable?
i.e.
sage: timeit('f(2.2)')
625 loops, best of 3: 134 µs per loop
sage: ffast = fast_callable(f,vars=[x], domain=float)
sage: timeit('ffast(2.2)')
625 loops, best of 3: 15.2 µs per loop
H
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org