Large-scale data collection technologies have come to play a central role in biological and biomedical research in the last decade. Consequently, it has become a major goal of functional genomics to develop, based on such data, a comprehensive description of the functions and interactions of all genes and proteins in a genome. Most large-scale biological data, including gene expression profiles, are usually represented by a matrix, where n genes are examined in d experiments. Here, we view such data as a set of n points (vectors) in d-dimensional space, each of which represents the profile of a given gene over d different experimental conditions. Many known methods that have yielded meaningful biological insights seek geometric or algebraic features of these vectors.