Various aspects of efficient programming of high-performance computer systems are discussed, using an example from modern electronic structure theory. It is shown that efficient programming is indispensable in today's theoretical studies by reducing drastically involved computer time. Timings from our quantum chemical program CORREL are given for several platforms ranging from Cray Y-MP EL to PC/486.
Introduction
Variational method in quantum mechanicsThe quantum world is one of these fields where physics and chemistry meet particularly often. As it is commonly known, elementary particles and sufficiently small objects built out of them-such as atoms and molecules-cannot be described in terms of classical Newton mechanics, even when we neglect relativistic effects contained in Einstein's theory. Instead of Newton's laws we have to deal with the famous Schroedinger equation
7(1) where is the so-called Hamilton operator modifying in some defined way the function following it. The construction of this operator for a given quantum system is usually a simple task. To solve the Schroedinger equation means to find both the "wavefunction", and the total energy of the system, E. As follows from quantum mechanics, if we know we can easily calculate, apart from the energy, all static properties of the system.Unfortunately, from what the chemist may be interested in, namely atoms and molecules, only trivial one-electron cases such as the hydrogen atom can be directly solved. For larger systems the Schroedinger equation becomes so difficult that one is forced to look for some approximations. One commonly used, called the Born-Oppenheimer approximation, treats the movement of the electrons independently of this of the nuclei, basing upon the significant difference between masses of the two types of particles. In the first step, the electronic Schrödinger equation is solved, i.e. it is assumed that the nuclear masses in the Hamilton operator are infinite (the nuclei do not move) and the function depends only on the electronic coordinates. This is the subject of the electronic structure theory and we will restrict ourselves to this first step throughout this paper. The second step involves solving the equation for the nuclear motion. Having completed both