# Transform system of equations while leaving solution set invariant?

Consider the example system of equations

syst==res


where

syst={x + 2 y + 3 x y, 1 + 4 x + y};
res={0 , 0};


Solving for the solutions of this system, we obtain

Solve[syst == res, {x, y}]


{{x -> -(1/2), y -> 1}, {x -> -(1/3), y -> 1/3}}

Now, imagine that we want to transform the system of equations with an x,y dependent transformation. For example

trafo = {{1 + x, 1 - y}, {1 + x, -1 + y}};


Unfortunately, acting with trafo introduces new solutions into the system which have not been there before

Solve[trafo.syst == res, {x, y}]


{{x -> -1, y -> 1}, {x -> -1, y -> 3}, {x -> -(1/2), y -> 1}, {x -> -(1/3), y -> 1/3}}

Therefore, I wonder if there is a criterion I can use to find such x,y dependent transformations that will preserve the initial set of solutions without introducing new ones? Thanks for any suggestion.

• This seems to be a math rather than Mathematica question. Jan 28 '16 at 22:57

In general, the transformation must be invertible in order not to introduce new roots. For instance, trafo is not invertible for x = -1 and introduces additional roots involving x -> -1. Likewise,

trafo2 = {{1 + x, 1}, {-1, 1 - x}}
Det[trafo2]
(* 2 - x^2 *)


is not invertible for x -> Sqrt and x -> -Sqrt, and introduces corresponding additional roots

Solve[trafo2.syst == res, {x, y}]
{{x -> -(1/2), y -> 1}, {x -> -(1/3), y -> 1/3}, {x -> -Sqrt,
y -> 1/31 (23 + 30 Sqrt)}, {x -> Sqrt, y -> 1/31 (23 - 30 Sqrt)}}


However, trafo1 = {{1, 1}, {-1, 1}} is invertible and introduces no additional roots

Solve[trafo1.syst == res, {x, y}]
(* {{x -> -(1/3), y -> 1/3}, {x -> -(1/2), y -> 1}} *)

• Do x,y dependent transformations exist that are invertible on the whole complex plane? Jan 28 '16 at 23:28
• @Kagaratsch I do not think so. Jan 28 '16 at 23:31
• "Invertible", for this purpose, means it must have a polynomial inverse. Something like {{4 + 3 x - y - x y, -3 - 6 x - 3 x^2 + y + 2 x y + x^2 y}, {3 - y, -2 - 3 x + y + x y}}. In the terminology above, the determinant must be a number (so Cramer's rule will give a polynomial matrix inverse). Jan 29 '16 at 0:34

In addition to invertible transformations, transformations which are not invertible will not introduce new solutions if either

1. the (x,y) at which they are not invertible are in sol = Solve[syst == res, {x, y}],
2. the null space of the transformation does not contain syst.

E.g.

trafo = DiagonalMatrix[syst];


is not invertible when

ysol = Flatten@Solve[Det[trafo] == 0, y]


$$\left\{y\to -4 x-1,y\to -\frac{x}{3 x+2}\right\}$$

or

MatrixForm@trafo /. ysol[] // Simplify
MatrixForm@trafo /. ysol[] // Simplify


$$\left( \begin{array}{cc} -2 \left(6 x^2+5 x+1\right) & 0 \\ 0 & 0 \\ \end{array} \right)$$ $$\left( \begin{array}{cc} 0 & 0 \\ 0 & x \left(4+\frac{1}{-3 x-2}\right)+1 \\ \end{array} \right)$$

with null spaces

n1=NullSpace[trafo /. ysol[]]
n2=NullSpace[trafo /. ysol[]]


{{0,1}}

{{1,0}}

which do not contain syst if syst!=0 and

Solve[n1.syst == 0, y]
Solve[n2.syst == 0, y]


whose solutions exactly match those for where trafo is not invertible. Therefore, the null space of the transformation does not contain syst, satisfying criterion 2, unless syst is trivial. But if syst is trivial, (x,y) will be in sol, satisfying criterion 1. Check that new solutions aren't introduced:

Solve[trafo.syst == res, {x, y}]


{{x -> -(1/2), y -> 1}, {x -> -(1/3), y -> 1/3}}