# A is not square but rank(A) = rank(A') ?

1. Dec 6, 2012

### mikeph

A is not square but rank(A) = rank(A') ???

Hi
Can anyone help with understand a basic idea, I have a matrix A in MATLAB which is 100x3000.

I have checked and there exist many columns of A that are all zeros.

But apparently rank(A) = rank(A') = 100

Wikipedia states that the rank of an m x n matrix cannot be higher than m nor n... my interpretation of this sentence is that rank(A) ≤ min(m, n), is that correct? If so, surely that means my matrix is full-rank despite having zero columns?

My understanding is that a full-rank matrix has fully orthogonal rows/columns, and since my matrix A clearly has multiple columns filled with only zeros, it cannot possibly be full-rank. So why is rank(A) = 100?

Can someone tell me my interpretation of wikipedia is wrong and that this matrix is indeed really rank-deficient, it would make my day.

Thanks

edit- bonus question... the nullspace of A is 3000x2900. So surely that would confirm the idea that there are only 100 linearly independent rows/columns in A?

2. Dec 6, 2012

### quasar987

Re: A is not square but rank(A) = rank(A') ???

rank has nothing to do with orthogonality of rows/column. It is the dimension of the image (when the matrix is considered as a map R3000 to R100).

As far as I can tell, your interpretation of wikipedia is correct. All you need to do in order to show that the matrix has rank 100 is to find, among the 3000 columns, 100 of them that are linearly independant. It does not matter that many of them are 0, as long as together they span R100.

The rank-nullity formula says that 3000 = dim(nullspace A) + rank(A). So again, if you know the nullspace has dimension 2900, this proves the rank is 100.

3. Dec 6, 2012

### mikeph

Re: A is not square but rank(A) = rank(A') ???

Wow, that's a really good answer. Thanks!