I tried this:
from sympy import *
x = Symbol('x')
print x
f = Function('f')(x)
print f
y = cos(x)
dydx = diff(y,x)
print dydx
y = cos(f)
dfdx = diff(y,f)
print dfdx
and got:
x
f(x)
-sin(x)
Traceback (most recent call last):
File "/home/brombo/diff.py", line 11, in <module>
dfdx = diff(y,f)
File
"/usr/local/lib/python2.6/dist-packages/sympy-0.6.5_beta2_git-py2.6.egg/sympy/core/multidimensional.py",
line 127, in wrapper
return f(*args, **kwargs)
File
"/usr/local/lib/python2.6/dist-packages/sympy-0.6.5_beta2_git-py2.6.egg/sympy/core/function.py",
line 708, in diff
return Derivative(f,x,times, **{'evaluate':evaluate})
File
"/usr/local/lib/python2.6/dist-packages/sympy-0.6.5_beta2_git-py2.6.egg/sympy/core/function.py",
line 486, in __new__
raise ValueError('Invalid literal: %s is not a valid variable' % s)
ValueError: Invalid literal: f(x) is not a valid variable
There was a discussion about this topic a while back. Is anything being
done about it? Is the only current workaround to substitue a dummy
variable for 'f', differentiate, and substitute 'f' for the dummy
variable? I too wish to work with Lagragians and generalized coordinates.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sympy" group.
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/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---