# 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! – Tunococ Aug 15 '12 at 0:58
@Tunococ, that's more or less what was done in the question I linked to... :) – J. M. 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.

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