SeqQuest Background



Quest is a general purpose electronic structure code based on density functional theory. It uses pseudpotentials and a high quality local orbital basis of contracted Gaussian functions in a linear combination of atomic orbitals (LCAO) approach to solve the Kohn-Sham equations fully self-consistently. This page gives a (very) brief description of the formulation of the method.


The basic algorithm that gives Quest its computational efficiency is the decomposition of the density and associated potentials into a sum of reference atoms plus a residual on a regular (FFT) grid. This fundamental algorithm is based in the work of Peter Feibelman in the 1980's, who never published the comprehensive description of his technique. Feibelman wrote a number of papers that obliquely described the method, including:

This decomposition leads to a solution of the Coulomb problem in O(N) time, where N is a characteristic size of the problem (e.g., number of atoms). This eliminates the computation of the Hamiltonian as the limiting factor in the electronic structure calculations, and reduces the scaling of the Hamiltonian construction to O(N).

The SeqQuest code is highly efficient and enables very large scale calculations using very modest resources. 100-300 atom problems are routinely performed with desktop machines and 1000-atom are possible on (large-memory) single-processor workstations. The asymptotic O(N) scaling is not only theoretically possible, but actually achieved in practice after a surprisingly small number of atoms. Until the definitive paper for Quest is written, the code is cited using the following:

Continuing the tradition of describing embellishments of the method, a discussion of how to rigorously solve the Coulomb problem in supercell calculations is described in: We explored replacing the standard dense eigensolver in Quest with a linear solver, and the following paper discusses the result: This linear solver is not currently in the production version of the code. In practice, it did not improve over standard dense solvers until huge systems beyond what is reasonable on single-processing workstations, and the implementation required demolishing large parts of the code. We are in the process of parallelizing the code, and we are exploring alternate linear solver methods that become viable with the new capability.

A couple of recent applications highlight some of the special capabilities of the code:

A comprehensive list of papers using (and describing) the method can be found on the Quest bibliography page.

Return to Top or SeqQuest Home

Send questions and comments to: Peter Schultz at
Last updated: July 28, 2010