This article focuses on the discrete double-curl operator arising in
the Maxwell equation that models three dimensional photonic crystals
with face centered cubic lattice. The discrete double-curl operator
is the degenerate coefficient matrix of the generalized eigenvalue
problems (GEVP) due to the Maxwell equation. We derive an
eigendecomposition of the degenerate coefficient matrix and explore
an explicit form of orthogonal basis for the range and null spaces
of this matrix. To solve the GEVP, we apply these theoretical
results to project the GEVP to a standard eigenvalue problem (SEVP),
which involves only the eigenspace associated with the nonzero
eigenvalues of the GEVP and therefore the zero eigenvalues are
excluded and will not degrade the computational efficiency. This
projected SEVP can be solved efficiently by the inverse Lanczos
method. The linear systems within the inverse Lanczos method are
well-conditioned and can be solved efficiently by the conjugate
gradient method without using a preconditioner. We also demonstrate
how two forms of matrix-vector multiplications, which are the most
costly part of the inverse Lanczos method, can be computed by fast
Fourier transformation due to the eigendecomposition to significantly
reduce the computation cost. Integrating all of these findings and
techniques, we obtain a fast eigenvalue solver. The solver has been
implemented by MATLAB and successfully solves each of a set of
$5.184$ million dimension eigenvalue problems within $50$ to $104$
minutes on a workstation with two Intel Quad-C
ore Xeon X5687 3.6 GHz CPUs.