Mbasis fXs) = X crIXrXs)
Mbasis jiXrXs) = X cjfiXbIXrXs)
Mbasis f XblXrXs) = X
By choosing the right order of the transformation the scaling can be reduced considerably. In eq. (4.84) the indices corresponding to the occupied orbitals may be transformed before the virtuals. There are of the order of Mbasis of the AO integrals, (XaXplXrXs), but only OMbasis of the quarter transformed integrals, fXblXrXs). Instead of storing and reading the AO integrals from the SCF step, they can be recalculated in the transformation step, reducing the storage from Mbasis to OM basis. The subsequent quarter transformations require less storage, i.e. the next transformation with an occupied index reduces the number of integrals to O2M basis, the third to O2VMbasis, and the last to O2V2. Since the MP2 energy can be written as a sum of contributions from each occupied orbital, the occupied orbitals can be treated one at a time, i.e. first sum all contributions of (f1XblXrXs) then f2XblXrXS), etc. This reduces the necessary storage to only order Mbasis. It may be further reduced to OVMbasis by proper scheduling of the evaluation order of the remaining three indices. The OVMbasis number of integrals is much less than the original M basis, and will in many cases fit into memory. The net result is that disk storage is effectively eliminated, or at least greatly reduced. If only one occupied orbital is treated at a time, O integral evaluations are required, however, the more memory that is available, the more of the occupied orbitals can be treated in a single sweep, decreasing the number of integral evaluations.
The above is an example of how direct algorithms may be formulated for methods involving electron correlation. It illustrates that it is not as straightforward to apply direct methods at the correlated level, as at the SCF level. However, the steady increase in CPU performance, and especially the evolution of multi-processor machines, favours direct (and semi-direct where some intermediate results are stored on disk) algorithms.47
Was this article helpful?