Can somebody explain how find works.
For example,
a = sympy.Wild('a', exclude=[x])
b = sympy.Wild('b', exclude=[x])
c = sympy.Wild('c', exclude=[x])
pattern = sympy.sqrt(a*x**2+b*x+c)
1/((x^2+a^2)+sqrt(a^2-x^2)).find(pattern) # -> set([sqrt(a^2-x^2)])
1/((x^2+a^2)*sqrt(a^2-x^2)).find(pattern) # -> set([])
How is that possible?