1. A method for classifying a test tissue sample into a class from among K classes, comprising: (a) providing a gene expression vector {tilde over (X)}=({tilde over (x)} 1 ,. .. {tilde over (x)} N ) of the test tissue sample where {tilde over (x)} j is an expression level of a gene j in the test tissue sample; (b) for k=1 to K using a processor to perform the following steps: (i) for each of M k tissue samples in the class k, (I) for each of the N genes, providing a gene expression matrix X k =(X ij k ), where X ij k is an expression level of the jth gene in the ith tissue sample, where j=1 to N and i=1 to M k ; (ii) calculating a centralized matrix X k − M k , where M _ k = 1 / M k * ∑ i = 1 M ⁢ ⁢ X i k , ⁢ and ⁢ ⁢ X i k = ( x i ⁢ ⁢ l k x i ⁢ ⁢ 2 k ⋮ x iN k ) ; (iii) calculating a covariance matrix C k of X k − M k ; (iv) calculating one or more eigenvectors of the matrix C k ; (v) calculating a metric μ k indicative of an extent of dissimilarity between the vector {tilde over (X)} and the matrix X k , the metric k being calculated using an algebraic expression involving one or more eigenvectors of the matrix C x , and (c) classifying the test tissue sample into a class {tilde over (k)}, where {tilde over (k)} is a class for which the metric μ k is minimum among the k classes.