1. A method for analyzing data, available in the form of an array of numbers stored electronically as a data structure, wherein each row of the array represents measurements of the values taken by a particular attribute over several samples and each column represents the measurements of the various attributes taken for a particular sample for the analysis of gene expression data taken from several tissues, wherein the attributes are different genes for which expression levels were measured and the samples are human tissues or other biological material for which the expression levels of the genes have been determined, the method performed on an electronic processor, the method comprising: measuring gene expression levels on a microarray to obtain said array of numbers; performing cluster analysis of said electronically stored numbers of said data structure in two ways, one way being in a gene dimension and a second way being in a sample dimension, over the samples and over the genes respectively, wherein the two ways of clustering are coupled: such that each cluster of genes is configured as a clustering configuration for clustering any group of samples, and each group of samples is configured as a clustering configuration for clustering any group of genes, repeating said cluster analysis iteratively to achieve stable clusters, and whenever stable clusters are generated, then using said stable clusters as additional clustering configurations to further search for additional clusters in the other dimension, and outputting said stable clusters electronically in a usable format as partitions in a transformation of said data structure.