Consider the code -
from sympy import symbols, exp, Function
def f(x):
return x**2
def g(y):
return 2*exp(y)
def add(f,g):
def sumfg(x):
return f(x)+g(x)
return sumfg
def mul(f,g):
def prodfg(x):
return f(g(x))
return prodfg
x = symbols('x',real=True)
fxg = mul(f,g)
print fxg(x)
F = Function('F')(x)
print mul(g,F)(x)
The output is -
4*exp(2*x)
Traceback (most recent call last):
File "ftest.py", line 27, in <module>
print mul(g,F)(x)
File "ftest.py", line 16, in prodfg
return f(g(x))
TypeError: 'F' object is not callable
One would like the second output to be -
2*exp(F(x))
What am I doing wrong?
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.