of extracting features from these matrices. For example, one could try per-class PCA [@wold1977simca] which will find directions that maximize $v^\top{\mathbb{E}}[xx^\top | y=i]v={\mathbb{E}}[(v^\top x)^2 | y=i]$, or VCA [@livni2013vanishing] which will find directions that minimize the same quantity. The subtlety here is that there is no reason to believe that these directions are specific to class $i$. In other words, the directions we find might be very similar for all classes and, therefore, not be discriminative.

A simple alternative is to work with the quotient $$\label{eqn:rayleigh} 
R_{ij}(v)=\frac{{\mathbb{E}}[(v^\top x)^2 | y=i]}{{\mathbb{E}}[(v^\top x)^2 | y=j]}=
\frac{v^\top C_i v}{v^\top C_j v},$$ whose local maximizers are the generalized eigenvectors solving $C_i v = \lambda C_j v$. Despite the non-convexity, efficient and robust routines for solving these types of problems are part of mature software packages such as LAPACK.

Since objective  is homogeneous in $v$, we will assume that each eigenvector $v$ is scaled such that $v^\top C_j
v=1$. Then we have that $v^\top C_i v=\lambda$, i.e. on average, the squared projection of an example from class $i$ on $v$ will be $\lambda$ while the squared projection of an example from class $j$ will be $1$. As long as $\lambda$ is far from 1, this 