15
$\begingroup$

How to solve the following matrix equation?

Solve[MatrixRank[{{1, x, 3},
                  {2, 4, 5},
                  {2, 4, x}}] == 2, x, Reals]
$\endgroup$
2

6 Answers 6

9
$\begingroup$

A not so good answer

Cases[Table[{x, MatrixRank[({{1, x, 3}, {2, 4, 5}, {2, 4, x}})]}, {x, -10, 10, 1/10}], {_, 2}]

gives out

{{2, 2}, {5, 2}}

So the answer is 2 or 5.

$\endgroup$
19
$\begingroup$
mat = ({{1, x, 3}, {2, 4, 5}, {2, 4, x}});
Select[MatrixRank[mat /. #] == 2 &][Solve[Det[mat] == 0, x, Reals]]

{{x -> 2}, {x -> 5}}

$\endgroup$
14
$\begingroup$

Solutions force exactly one eigenvalue to be zero. So we solve for the condition that an eigenvalue vanish, and check that rank is two.

mat = {{1, x, 3}, {2, 4, 5}, {2, 4, x}};
candidateSols = Flatten[Map[Solve[# == 0, x] &, Eigenvalues[(mat)]]]

(* Out[997]= {x -> 2, x -> 5} *)

Both pass the test:

Map[MatrixRank[mat /. #] &, candidateSols]

(* Out[995]= {2, 2} *)
$\endgroup$
1
  • 1
    $\begingroup$ I should have read the @kglr answer more carefully. It avoids, or at least postpones, working in an algebraic extension. $\endgroup$ Commented Jan 19, 2020 at 17:34
5
$\begingroup$

Here is an indirect route, which has the advantage of postponing operations like MatrixRank[] until the end.

Consider the identity

$$\begin{pmatrix}1&x&3\\2&4&5\\2&4&x\end{pmatrix}=\begin{pmatrix}1&0&3\\2&4&5\\2&4&0\end{pmatrix}+\begin{pmatrix}x&0\\0&0\\0&x\end{pmatrix}\begin{pmatrix}0&1&0\\0&0&1\end{pmatrix}$$

A condition for this matrix to be invertible (cf. the Sherman-Morrison-Woodbury formula) is that the capacitance matrix

$$\begin{pmatrix}1&0\\0&1\end{pmatrix}+\begin{pmatrix}0&1&0\\0&0&1\end{pmatrix}\begin{pmatrix}1&0&3\\2&4&5\\2&4&0\end{pmatrix}^{(-1)}\begin{pmatrix}x&0\\0&0\\0&x\end{pmatrix}=\begin{pmatrix}1-\frac{x}{2}&-\frac{x}{20}\\0&1-\frac{x}{5}\end{pmatrix}$$

be nonsingular.

Thus,

Solve[Det[IdentityMatrix[2] +
          {{0, 1, 0}, {0, 0, 1}}.LinearSolve[{{1, 0, 3}, {2, 4, 5}, {2, 4, 0}},
                                             {{x, 0}, {0, 0}, {0, x}}]] == 0, x]
   {{x -> 2}, {x -> 5}}

Check:

MatrixRank /@ ({{1, x, 3}, {2, 4, 5}, {2, 4, x}} /. %)
   {2, 2}
$\endgroup$
1
2
$\begingroup$

I have made a MatrixRankSym feature with symbolic computation here. And we can use for this question directly:

Solve[MatrixRankSym[{{1, x, 3}, {2, 4, 5}, {2, 4, x}}] == 2, x, Reals]

{{x -> 2}, {x -> 5}}

$\endgroup$
0
$\begingroup$

You get rank == 2, if one row is the linear combination of the two others.

mat= {{1, x, 3}, {2, 4, 5}, {2, 4, x}};

Solve[aa mat[[1]] + bb mat[[2]] == mat[[3]], {x, aa, bb}, Reals]

(*  {{x -> 2, aa -> -6, bb -> 4}, {x -> 5, aa -> 0, bb -> 1}}    *)
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.