Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to solve this equation for $A = B$ where $B = I$, which represents 3 systems of 3 linear equations, for $a, b, c, d, e, f$, without writing LinearSolve 3 times. What is a simple way to accomplish this?


   A = {
   {a + b, -a + b, a + 2 b}, 
   {c + d, -c + d, c + 2 d}, 
   {e + f, -e + f, e + 2 b}
B = IdentityMatrix[3]
(*want to solve A == B, but probably wrong...*)
M = LinearSolve[A, IdentityMatrix[3]]
share|improve this question
So you want to invert A ? – b.gatessucks Sep 8 '12 at 20:38
@b.gatessucks If A == I then also A^-1 == I. Thus he just wants to find a,b,c,d,e,frather than A^-1. – Artes Sep 9 '12 at 0:44
@T.Webster Could you explain what you'd expected from an answer, if existing ones were not satisfactory ? – Artes Sep 15 '12 at 23:48
@Artes Sorry I have been away and thanks for your answer. – T. Webster Sep 17 '12 at 8:08
The question related to finding the left inverse of some matrix $A$. But a solution I found from my linear algebra course is to use Gaussian elim. (RowReduce) with the augmented matrix $[A I]$. – T. Webster Sep 17 '12 at 8:13
up vote 2 down vote accepted

As the documentation says : LinearSolve[m,b] finds an x which solves the matrix equation m.x == b, i.e. in your case it finds x such that A.x == B (Dot[A,x] == B). However your task is to find A solving an adequate system of 9 linear equations for 6 variables a,b,c,d,e,f knowing that B is an IdentityMatrix. You are trying to solve an overdetermined system of linear equations and there could exist any solutions only if certain compatibility conditions were satisfied.

For your task use simply Solve :

Solve[A == B, {a, b, c, d, e, f}]


Reduce[A == B, {a, b, c, d, e, f}]

This means that there are no solutions, i.e. the above equation is contradictory. You could use Variables[A] instead of specifying variables {a, b, c, d, e, f}.

Consider a different matrix equation where we have 4 unknowns and 4 independent equations e.g. :

A1 = {{a + b, a - 2 b}, {a - c, c + d}};
Solve[ A1 == IdentityMatrix[2], {a, b, c, d}] 
{{a -> 2/3, b -> 1/3, c -> 2/3, d -> 1/3}}

i.e. there is only one solution.


Inverse[A] could be a solution assuming that you wanted x in the matrix equation A.x == IdentityMatrix[3] when A was given. There exists an inverse matrix to A under this condition :

Det[ A] != 0


-4 b^2 c + 4 a b d + 4 b c f - 4 a d f != 0

Neither A exists nor this assumption can be satisfied when A is defined as in your question and B is an identity matrix.

share|improve this answer

Use Inverse to invert a matrix :

bigA = {{a + b, -a + b, a + 2 b}, {c + d, -c + d, c + 2 d}, {e + f, -e + f, e + 2 b}};

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.