# Application of rank of a matrix

Are there any real life applications of the rank of a matrix? It need to have a real impact which motivates students why they should learn about rank.

-
How about this? –  Guess who it is. Aug 14 '12 at 15:13
Principal Component Analysis! –  Tunococ Aug 15 '12 at 0:58
@Tunococ, that's more or less what was done in the question I linked to... :) –  Guess who it is. Aug 15 '12 at 3:17

Efficient matrix matrix, or matrix vector calculations on a PC. Low rank matrices are much less computationally expensive to deal with. Consider for example matrix vector multiplication $y=Ax$ where A is $m\times n$. Carried out naively the that's $O(mn)$ computations. However, using (for example) QR decomposition one can equivalently write $y=QRx$, where $Q$ is $m\times r$, $R$ is $r\times n$ and $r=rank(A)$. Thus, the number of computations required to calculate $y$ using $y=QRx$ is $O(mr)$+$O(rn)$, which can be drastically smaller than $O(mn)$ if $A$ is not full rank. One can then make exaggerated examples, say $A$ is a million by a million, however only rank 1000. You can't even store $A$ on a computer (that would require being able to store $10^{12}$ entries), nevermind work out $Ax$ straight out ($O(10^{12})$ computations). However, calculating $y=QRx$ requires a mere $O(10^9)$ computations, not a problem.

Although the above is probably an exaggeration, matrices encountered in applications are often quite low-rank (or at least can be very well approximated with low-rank matrices, i.e. using SVD). See Stephen Boyd's lectures, he is very good at relating basic linear algebra concepts with real life engineering type applications. http://see.stanford.edu/see/lecturelist.aspx?coll=17005383-19c6-49ed-9497-2ba8bfcfe5f6.

-
(See also the link I gave in the comments for a fine example.) –  Guess who it is. Aug 15 '12 at 0:19

I have two applications in mind. One of them is in the area of source enumeration. The other is in classification. 1- In the former one you have $N$ targets and plus a noise term. When you obtain the covariance matrix for the received signals by the sensor array, then if you have a target or a couple of targets you will see this in the largest eigen values. If it is a pure noise then your eigen values will be approximately the same. So the rank might be affected whenever you have a target.

2- In the classification, assume that you have a noise and this noise distorts your image. Natural images have its own spatial correlation patterns. When there is a disturbance effect such as tampering or like photosoping, then you can test ths via rank as well. Because natural images are smooth and tampering will destroy this smooth nature. One can do this by dividing the image into sub blocks. As a result if an image is original we expect a rank measure close to full rank and else it is les..

I hope it helps..

-