1. A computer-implemented method comprising: applying semi-Riemannian geometry, using a processor of a computer, to a set of labeled samples corresponding to supervised learning, including learning a discriminant subspace for classification by using at least some of the labeled samples to learn the geometry of a semi-Riemannian submanifold.