Analysis of periodic Schrödinger operators: Regularity and approximation of eigenfunctionsLet V be a real valued potential that is smooth everywhere on R 3 , except at a periodic, discrete set S of points, where it has singularities of the Coulomb-type Z / r. We assume that the potential V is periodic with period lattice L. We study the spectrum of the Schrödinger operator H =−⌬ + V acting on the space of Bloch waves with arbitrary, but fixed, wavevector k. Let T ª R 3 / L. Let u be an eigenfunction of H with eigenvalue and let ⑀ Ͼ 0 be arbitrarily small. We show that the classical regularity of the eigenfunction u is u H 5/2−⑀ ͑T͒ in the usual Sobolev spaces, and u K 3/2−⑀ m ͑T \ S͒ in the weighted Sobolev spaces. The regularity index m can be as large as desired, which is crucial for numerical methods. For any choice of the Bloch wavevector k, we also show that H has compact resolvent and hence a complete eigenfunction expansion. The case of the hydrogen atom suggests that our regularity results are optimal. We present two applications to the numerical approximation of eigenvalues: using wave functions and using piecewise polynomials.