Skip to main content

Computational complexity

Theoretical time scaling of DFT calculation

  • Number of atoms: CPU time increases as O(N3)\mathcal{O}(N^3), where NN is number of atoms in the system
  • Number of k-points: CPU time is proportional to the number if inequivalent k-points, O(N)\mathcal{O}(N)
  • Number of plane waves: CPU time is scales as O(NlogN)\mathcal{O}(N \log N) with the number of plane waves, while number of plane wave is proportional to the (ecutwfc)3/2
  • Subspace diagonalization: Scales as O(N3)\mathcal{O}(N^3) with the number of bands. Different diagonalization algorithms are available; faster methods may be less stable, so switching to a slower but more robust method is sometimes necessary for convergence.