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.8, two O(
) methods are available:
a divide-conquer (DC) method [39] and a Krylov subspace method [32].
In the following subsections each O(
) method is illustrated
by examples.