# 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.

• Principal Component Analysis! Aug 15, 2012 at 0:58
• @Tunococ, that's more or less what was done in the question I linked to... :) Aug 15, 2012 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.
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.