London is a quantum chemistry program capable of performing calculations using hybrid plane-wave/Gaussian basis functions, which enables more flexibility than standard Gaussian-type basis functions. All matrix elements, including Coulomb integrals, are evaluated using analytical recursion formulas. To date, the work has focused on finite-magnetic-field calculations using London orbitals (a.k.a. Gauge Including Atomic Orbitals or GIAOs). London orbitals are a kind of plane-wave/Gaussian hybrid functions, where the plane-wave vectors depend on nuclear positions and an external magnetic field. London orbitals build in part of the gauge invariance that is present in the complete basis set limit, and are in fact essential e.g. for accurate dissociation curves for molecules in strong magnetic fields. Initially a Hartree-Fock program, the list of implemented quantum-chemical methods has steadily grown to include:
Both uniform and non-uniform magnetic fields can be treated.
It is part of the vision for London that it is a well-structured, library-like code with minimal dependencies on other code. With the exception of reliance on the the Lapack library for basic linear algebra and the XCFun package for implementations of numerous specific DFT functionals, London is entirely self-contained.