# How to Solve or LinearSolve $A = I$ matrix equation?

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]
````
-

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,f`rather 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
show 1 more comment

## 2 Answers

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.

-

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]
````
-
lang-mma
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 6, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.8842369318008423, "perplexity_flag": "middle"}