Let A be a matrix with its Moore-Penrose pseudo-inverse A†. It is proved that after re-ordering the columns of A the projector P=I−A†A has a block-diagonal form that is there is a permutation matrix Π such that ΠPΠT=diag(S1S2…Sk). It is further proved that each block Si corresponds to a cluster of columns of A that are linearly dependent with each other. A clustering algorithm is provided that allows to partition the columns of A into clusters where columns in a cluster correlate only with columns within the same cluster. Some applications in supervised and unsupervised learning specially feature selection clustering and sensitivity of solutions of least squares solutions are discussed.