I saw a post here to solve the rank relation equation of matrix:
symbolicMatrixRank[mat_, assumptions_] := Assuming[assumptions,
Simplify @ Total @ Map[
Boole @ Simplify @ Reduce[ConditionalExpression[#, $Assumptions] != 0]&,
SingularValueList[mat]
]
];
adj[m_](*adjoint matrix*):=
Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}]*
Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Reduce[symbolicMatrixRank[adj[{{a, b, b}, {b, a, b}, {b, b, a}}],
Element[a, Reals] && Element[b, Reals]] == 1]
The custom function symbolicMatrixRank
of Sjoerd Smit is great. But I find that the following matrix equation cannot be solved by the above method:
Reduce[symbolicMatrixRank[{{a, 2*b}, {b, 2*c}, {c, 2*a}},
Element[a, Reals] && Element[b, Reals] && Element[c, Reals]] ==
symbolicMatrixRank[{{a, 2*b, -3*c}, {b, 2*c, -3*a}, {c,
2*a, -3*b}},
Element[a, Reals] && Element[b, Reals] && Element[c, Reals]] ==
2]
How can I improve the above code so that I can solve the kind of matrix equation?
Note: The following questions are from the 10th question of the 2003 Chinese Graduate Mathematical Entrance Examination (first set).
The reference answer of this question is a + b + c = 0
.