# Help with simple matrix algebra

1. Jan 21, 2012

### rusty009

Hi all,

I'm having trouble solving this matrix problem, basically I have,

s=r*H

where s = [ 1 1 0] and,

H=
1 0 1 1 0 0
0 1 1 0 1 0
1 1 0 0 0 1

I am trying to find out what the matrix r is but it won't work in matlab. I have tried inverting H but it isn't a square matrix. So I tried pseudoinverse psinv and it still doesn't seem to be working. Any help would be greatly appreciated.

2. Jan 21, 2012

### HallsofIvy

Your problem is that this is impossible. H has three rows and 6 columns so r must have three columns. If it also has n rows, s would have to have n rows and 6 columns. Since s has one row, n can be 1 but s has 3 columns, not 6.

3. Jan 21, 2012

### DivisionByZro

Your equation is of the form :
$$\vec{a} = \vec{b}A$$

Where b is the 1x3 vector we are looking for and a is a 1x6 vector . As you mentioned, your matrix isn't square an thus not normally invertible. By the Moore-Penrose Pseudoinverse, there does exist a solution (infinitely many actually).
Your matrix A is an mxn matrix where m<n and is also full-rank, so:
$$A^\dagger = (A^TA)^{-1}A^T$$
Where A-dagger is the Moore-Penrose Pseudoinverse. Notice that only because A was full rank could you use this formula, otherwise you have to use the singular value decomposition .
I've tried $$A^\dagger = (A^TA)^{-1}A^T$$ with your matrix but $$A^TA$$ turns out to be singular. I suppose you could try to take the pseudoinverse of that too, but then I'm not sure if everything will work out as you had wanted.

Edit: I made a silly mistake with the size of r (as HallsofIvy pointed out). The above would have been useful for consistent sizes and a full rank matrix.

Last edited: Jan 21, 2012