william-dawson / NTPoly

A massively parallel library for computing the functions of sparse matrices.
https://william-dawson.github.io/NTPoly/
MIT License
20 stars 10 forks source link

Whether can TRS be applied to the system with 0 electron temperature? #230

Closed jsboer closed 6 months ago

jsboer commented 6 months ago

Hi I am optimize a DFT software, and want to use NTPoly. I find that matrix purification can only be applied to the system with 0 electron temperature since it need the three constraint for density(Normalized, Idempotent and Hermitian). This is concluded from “ELSI — An Open Infrastructure for Electronic Structure Solvers.” which said "Assuming an orthogonal basis set, the density matrix P at zero temperature is known to satisfy three conditions".

But this paper also said "This approach allows for an easier integration with electronic structure codes, as it does not require any knowledge on the physical system or the basis functions" which implies that the NTPoly can be applied to any matrix. This confused me.

So is this right? That all NTPoly methods can only be used in system with zero temperature? And if not, which system is suggested to use NTPoly? And besides, I only see the test on 3D system compared with elpa and pexsi and possess a superior place. Is it still the same situation in 1D and 2D system?

Thank you!

william-dawson commented 6 months ago

Thanks for your interest RunFeng.

1) Indeed TRS methods can only be applied to systems at 0 electronic temperature. Recently, we have created a new method for computing systems at finite temperature based on Wave Operator Minimization (https://doi.org/10.1063/5.0189864). This is implemented as the WOM_C and WOM_GC subroutines of FermiOperatorModule.F90. If you would like some help with using this method let me know and I can prepare an example. 2) For 1D and 2D systems, the PEXSI library is very efficient. Additionally, if I remember correctly the 1D / 2D systems in the ELSI paper are semimetals. The TRS method in NTPoly is most efficient when there is a significant HOMO-LUMO gap, which leads to sparsity that it can exploit. Thus for those cases I think PEXSI should be the most efficient. However, if you have a 1D or 2D system with a gap, NTPoly would be worth trying. If not, and you are simulating at a high electronic temperature, then you could try the new WOM routines.

jsboer commented 6 months ago

Thanks for your interest RunFeng.

  1. Indeed TRS methods can only be applied to systems at 0 electronic temperature. Recently, we have created a new method for computing systems at finite temperature based on Wave Operator Minimization (https://doi.org/10.1063/5.0189864). This is implemented as the WOM_C and WOM_GC subroutines of FermiOperatorModule.F90. If you would like some help with using this method let me know and I can prepare an example.
  2. For 1D and 2D systems, the PEXSI library is very efficient. Additionally, if I remember correctly the 1D / 2D systems in the ELSI paper are semimetals. The TRS method in NTPoly is most efficient when there is a significant HOMO-LUMO gap, which leads to sparsity that it can exploit. Thus for those cases I think PEXSI should be the most efficient. However, if you have a 1D or 2D system with a gap, NTPoly would be worth trying. If not, and you are simulating at a high electronic temperature, then you could try the new WOM routines.

Thank you for the detailed explanation!