# Why row reduce doesn't "act symbolically" on square matrices?

Suppose I do the following:

Now, If I compute:

Then "Mathematica stops being symbolic". Why does this happen? I want the computation to show matrix entries in terms of $$a,b,c,d$$, similar to the first example. Is it possible to do that?

• Hmm, yeah, I'm not even sure how Mathematica "knows" this. After all, what if b == e == 0? You'd hope the symbolic result would hold for all values of a, b, d, e, but it seems Mathematica's making some hidden assumptions at some point. Commented Mar 25, 2021 at 22:57
• For that matter, why does MatrixRank[{{a, b}, {c, d}}] give 2... Commented Mar 25, 2021 at 23:01
• What specific different result did you expect? Commented Mar 25, 2021 at 23:56
• Symbolic computations in Mathematica are often generically correct, meaning that the results ignore excepts on a locus of codimension ≥ 1. Even the first result is wrong if b == 2 a. I don't really see a big difference between the two examples. Commented Mar 26, 2021 at 0:56
• @murray No. That's not what it is designed to do. It works over the field of rational functions in the variables present. See also this previous MSE thread (for which the present thread is essentially a duplicate). See also this. And this too might be relevant. Commented Mar 26, 2021 at 14:30

This gives the weird result in a comment that has nothing to do with the matrix {{a, b}, {d, e}} in the question:
LinearSolve[{{c, d}, {a, b}}]@"getU" // Together

• The matrix may be obtained from LUDecomposition[mat] as well. Commented Mar 26, 2021 at 1:11
• This is really what I have been looking for! Could you explain what is the @getU? Commented Mar 26, 2021 at 1:58