Abstract
Iterative diagonalization techniques as well as Car-Parrinello molecular dynamics simulation using first principles pseudopotentials require the repeated calculation of matrix times vector products. We discuss a technique which reduces the number of operations for the separable part of the Hamiltonian expressed in plane waves from order NN at N el to order N In(N)N el where N is the number of plane waves, Nat the number of atoms, and N el the number of electrons.