Consdier a system of equations with LHS being rational functions in two variables.
syms x y
g = (x-1)/(y-2) == 0;
h = (y-2)/(x-1) == 0;
In solving either equation alone, solve understands that the solution is constrained
sol = solve(g,x,’ReturnConditions’,true)
sol = solve(h,y,’ReturnConditions’,true)
However, when solving both equations simultaneously solve happily returns a solution
sol = solve([g,h],[x,y],’ReturnConditions’,true)
which can’t be correct.
Is this an appropriate and expected behavior of solve?
The doc page at solve does say that IF using IgnoreAnalyticContraints then:
"The solver can multiply both sides of an equation by any expression except 0."
Maybe the solution above would be expected if IgnoreAnalyticConstraints is true, but it wasn’t.
BTW,vpasolve works the same way
vpasolve([g,h],[x,y])
Hoewever, the documentation at vpasolve states:
"When you solve a system of rational equations, vpasolve transforms the rational equations to polynomials by multiplying out the denominators. vpasolve returns all solutions of the resulting polynomial system, which also include the roots of the denominators."Consdier a system of equations with LHS being rational functions in two variables.
syms x y
g = (x-1)/(y-2) == 0;
h = (y-2)/(x-1) == 0;
In solving either equation alone, solve understands that the solution is constrained
sol = solve(g,x,’ReturnConditions’,true)
sol = solve(h,y,’ReturnConditions’,true)
However, when solving both equations simultaneously solve happily returns a solution
sol = solve([g,h],[x,y],’ReturnConditions’,true)
which can’t be correct.
Is this an appropriate and expected behavior of solve?
The doc page at solve does say that IF using IgnoreAnalyticContraints then:
"The solver can multiply both sides of an equation by any expression except 0."
Maybe the solution above would be expected if IgnoreAnalyticConstraints is true, but it wasn’t.
BTW,vpasolve works the same way
vpasolve([g,h],[x,y])
Hoewever, the documentation at vpasolve states:
"When you solve a system of rational equations, vpasolve transforms the rational equations to polynomials by multiplying out the denominators. vpasolve returns all solutions of the resulting polynomial system, which also include the roots of the denominators." Consdier a system of equations with LHS being rational functions in two variables.
syms x y
g = (x-1)/(y-2) == 0;
h = (y-2)/(x-1) == 0;
In solving either equation alone, solve understands that the solution is constrained
sol = solve(g,x,’ReturnConditions’,true)
sol = solve(h,y,’ReturnConditions’,true)
However, when solving both equations simultaneously solve happily returns a solution
sol = solve([g,h],[x,y],’ReturnConditions’,true)
which can’t be correct.
Is this an appropriate and expected behavior of solve?
The doc page at solve does say that IF using IgnoreAnalyticContraints then:
"The solver can multiply both sides of an equation by any expression except 0."
Maybe the solution above would be expected if IgnoreAnalyticConstraints is true, but it wasn’t.
BTW,vpasolve works the same way
vpasolve([g,h],[x,y])
Hoewever, the documentation at vpasolve states:
"When you solve a system of rational equations, vpasolve transforms the rational equations to polynomials by multiplying out the denominators. vpasolve returns all solutions of the resulting polynomial system, which also include the roots of the denominators." solve, system of rational equations MATLAB Answers — New Questions
