# Matrix division in Matlab

Tags:
1. Jul 17, 2014

### Maylis

Hello, I am confused about a concept,

Suppose I am trying to solve a linear system $Ax = b$

I want to know why is it when I solve for x, the command is x = A\b. Why would it not be x = b\A. One could see that if you divide x on both sides, then b/x = A. Is this not true for the matrix?

2. Jul 17, 2014

### Simon Bridge

The correct operation is:
$x=A^{-1}b$

The "A\" notation tells matlab to make the inverse of A and apply it to the following vector, using an efficient process coded into the m-file. It's just a notation.

Division, like you did with b/x, is not defined for vectors and matrixes - which you should be able to tell by experimenting with a few examples.

Code (Text):

octave:41> A=magic(3)
A =

8   1   6
3   5   7
4   9   2

octave:42> x=[1,2,3]'
x =

1
2
3

octave:43> b=A*x
b =

28
34
28

octave:44> b/x
ans =

2.0000   4.0000   6.0000
2.4286   4.8571   7.2857
2.0000   4.0000   6.0000
... clearly A≠b/x
(Also try this by hand.)

You should understand that matlab is a computer program which implements commands according to it's own internal logic. The full answer to your question is in how matlab interprets the forward-slash and backslash characters.

See discussion:
http://scicomp.stackexchange.com/qu...slash-operator-solve-ax-b-for-square-matrices

Last edited: Jul 17, 2014
3. Jul 18, 2014

### kreil

Matrix multiplication is not always commutative, like it is with scalars. So you can take for granted the fact that 5*3 = 3*5 = 15. But if you have something like the following it's different:

Code (Text):

A = [1 2; 3 5];
B = [1 -1; -1 1];
A*B

ans =

-1     1
-2     2

B*A

ans =

-2    -3
2     3

So ultimately this means that solving Ax = b and solving xA = b are two different problems.

If you solve $Ax = b$, you get $x = A^{-1}b$. Notice that A is on the left in each case.
If you solve $xA = b$, you get $x = bA^{-1}$, and, as I just mentioned, this can be different from the form above. Here A is on the right.

So, we have two different problems requiring 2 different operators.

To solve Ax = b, you use x = A\b. That is, if A is on the left, use mldivide \.
To solve xA = b, you use x = b/A. If A is on the right, use mrdivide /.