subs: why it accepts one form but not the other?
Hello,
Consider the following expression
y=function("y")(x)
z=-3*diff(y,x)/y^4
I would like to replace diff(y,x)/y^4 by, say, 2/5
I tried,
z.subs(diff(y,x)/y^4==2/5).show()
But this didn't work (threw back at me the original expression)
I tried to replace y^4 by 5, and to do that I did
z.subs(y^4==5).show()
It didn't work. However,
z.subs(1/y^4==5).show()
worked!. I am confused!
If I tried to replace just y with 5^(1/4)
z.subs(y==(5)^(1/4)).show()
it worked! so it cannot replace y^4 with 5, but it can replace y with (5)^1/4.
To get what I want I finally did
z.subs(diff(y,x)==2).subs(1/y^4==5).show()
I got this by trial and error. Shouldn't the first one
z.subs(diff(y,x)/y^4==2/5).show()
have worked in the first place? What is the logic behind this that it didn't work?