VincFort
VincFort

Reputation: 1180

sympy differential equality

I'm trying to setup sympy to calculate derivatives. When I test it with simple equation, I'm finding the same answer (equality is true between sympy calculation and my own calculation). However when I try with more complicated ones, when it doesnt work (I checked answers with wolfram alpha too).

Here is my code:

from __future__ import division
from sympy import simplify, cos, sin, expand
from sympy import *
x, y, z, t = symbols('x y z t')
k, m, n = symbols('k m n', integer=True)
f, g, h = symbols('f g h', cls=Function)

equation = (x**3*y-x*y**3)/(x**2+y**2)
equation2 = (x**4*y+4*x**2*y**3-y**5)/((x**2+y**2)**2)


pprint(equation)
print ""
pprint(equation2)


print diff(equation,x) == equation2

Upvotes: 0

Views: 282

Answers (1)

Stelios
Stelios

Reputation: 5531

This is a common "gotcha" in Sympy. For creating symbolic equalities, you should use sympy.Eq and not = or == (see the tutorial). For your example,

Eq(equation.diff(x), equation2).simplify()

True

Note, as above, that you may have to call simplify() in order to see wheather the Eq object corresponds to True or False

Upvotes: 1

Related Questions