Is there one place which summarizes major difference between using solve vs. PDEtools:-Solve to solve equation? (ofcourse can one read help for both commands, and try to figure the differences this way, but this is not as easy as it sounds. I was looking more for a short basic summary type list. So I am making one myself in my maple cheat sheet).
I am trying to switch to PDEtools:-Solve from solve, but I keep noticing strange differences. Here is an example
example A
restart; ode:=(x+1)*diff(y(x),x)+y(x)^(1/2) = 0; ic:=y(0) = 1; sol:=dsolve([ode,ic],y(x)); check:=odetest(sol,ode); PDEtools:-Solve(check=0,x) assuming x>-1,x<6
Error, (in assuming) when calling 'PDEtools:-Solve'. Received: 'not a system with respect to the unknowns {x}'
Compare to
restart; ode:=(x+1)*diff(y(x),x)+y(x)^(1/2) = 0; ic:=y(0) = 1; sol:=dsolve([ode,ic],y(x)); check:=odetest(sol,ode); solve(check=0,x) assuming x>-1,x<6;
x
Now, back to first example above using Solve. I moved the assuming inside, and now the error went away
Example B
restart; ode:=(x+1)*diff(y(x),x)+y(x)^(1/2) = 0; ic:=y(0) = 1; sol:=dsolve([ode,ic],y(x)); check:=odetest(sol,ode); PDEtools:-Solve(check=0,x,assume=[x>-1,x<6]);
But I noticed I can not do the same with solve. i.e. move the assuming inside solve, it now gives an error
restart; ode:=(x+1)*diff(y(x),x)+y(x)^(1/2) = 0; ic:=y(0) = 1; sol:=dsolve([ode,ic],y(x)); check:=odetest(sol,ode); solve(check=0,x,assume=[x>-1,x<6]);
Error, invalid input: too many and/or wrong type of arguments passed to solve; first unused argument is assume = [-1 < x, x < 6]
So first difference is that one can use assume= inside Solve, but not inside solve. Which is fine.
But I still not sure why first example A above gives error with Solve but not with solve. Any idea why that is? Notice that example A gives an error with Solve, only when adding x<6 to the assumption. So this works
restart; ode:=(x+1)*diff(y(x),x)+y(x)^(1/2) = 0; ic:=y(0) = 1; sol:=dsolve([ode,ic],y(x)); check:=odetest(sol,ode); PDEtools:-Solve(check=0,x) assuming x>-1
No error, and now it gives
But was trying to find why it failed when adding x<6
Maple 2020.2 on windows 10.