Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

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?

Input:

   A = {
   {a + b, -a + b, a + 2 b}, 
   {c + d, -c + d, c + 2 d}, 
   {e + f, -e + f, e + 2 b}
   };
MatrixForm[A]
B = IdentityMatrix[3]
(*want to solve A == B, but probably wrong...*)
M = LinearSolve[A, IdentityMatrix[3]]
MatrixForm[M]
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. –  Identity 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]$. –  Identity Sep 17 '12 at 8:13
show 1 more comment

2 Answers 2

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}]
{}

or

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

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.

Edit

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

i.e.

-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
add comment

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}};

bigM=Inverse[bigA]
share|improve this answer
add comment

Your Answer

 
discard

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.