Codes

Ab initio calculations rely on the use of dedicated codes. Such codes are rather large (a few hundred thousand lines), and their development is a heavy task that usually involves several developers. An easy, though oversimplified, way to categorize codes is to classify them in terms of speed on one hand and accuracy on the other. The optimum speed for the desired accuracy is of course one of the goals of the code developers (together with the addition of new features). Codes can primarily be distinguished by their pseudoization scheme and the type of their basis set. We will not describe many other numerical or programming differences, even though they can influence the accuracy and speed of the codes.

The possible choices in terms of basis sets and pseudoization are discussed in the following para­graphs. Pseudoization scheme and basis set are intri­cate as some bases do not need pseudoization and some pseudoizations presently exist only for specific basis sets. These methodological choices intrinsically lead to accurate but heavy, or conversely fast but approximate, calculations. We also mention some codes, though we have no claim to completeness on that matter. Furthermore, we do not comment on the accuracy and speed of the codes themselves as the developing teams are making continuous efforts to improve their codes, which make such comments inappropriate and rapidly outdated.