The computational effort of the conventional diagonalization scheme
scales as the third power of the number of basis orbitals, which means
that the part could be a bottleneck when large-scale systems are calculated.
On the other hand, the O() methods can solve the eigenvalue problem
in O(
) operation in exchange for accuracy.
Thus, O(
) methods could be efficient for large-scale systems, while
a careful consideration is always required for the accuracy.
In OpenMX Ver. 3.9, three O(
) methods are available:
a divide-conquer (DC) method [50], a divide-conquer (DC) method with localized natural orbitals (LNO) [51],
and a Krylov subspace method [43].
Our recommendation among the three O(
) methods is the DC-LNO method, since the method is robust, and can be applied to
a wide range of materials including metals, and the parallel efficiency is expected to be the best one among the three methods.
In the following subsections each O(
) method is illustrated by examples.