This thread is locked.Only browsing is available.
Top Page > Browsing
Inverse Matrix of the Hamiltonian
Date: 2023/05/09 01:04
Name: Kieran   <>

Dear All,

I extracted the Kohn-Sham and overlap matrice and tried to use them to compute the retarded green function. I am used ZGETRF function in the MKL library to do the LU fraction for the Hamiltonian matrice but the variable 'info' in ZGETRF function gave zero value, which means the Hamiltonian matrice is singular, and this made the following ZGETRI function fail in computing the inverse matrix.

I checked my calculation of the Kohn-Sham and overlap matrice but did not see any problem/mistake. I wonder how does OpenMX compute the inverse matrix in the coding?

Would anyone please give me some hints?

Thank you in advance.
Page: [1]

Re: Inverse Matrix of the Hamiltonian ( No.1 )
Date: 2023/05/18 08:06
Name: T. Ozaki


The eigenvalue problem in OpenMX is a generalized eigenvalue problem.
So, the overlap matrix needs to be positive definite. I think that you have successfully obtained
the hamiltonian and overlap matrices from OpenMX. So, the overlap matrix must be positive definite.
One possibility is that the construction of the overlap matrix may not be proper. Please check your code
starting from very simple cases. 


Re: Inverse Matrix of the Hamiltonian ( No.2 )
Date: 2023/05/24 01:37
Name: Kieran  <>

Dear Ozaki,

Thank you for the reply.

I used the extracted the Kohn-Sham and overlap matrices to compute the band structure and the result is same as that from the OpenMX directly. I think that I extracted both Kohn-Sham and overlap matrices successfully.

I checked online and found that the elements in the matrices are quite small sometimes and it is deemed as zero due the accuracy issue on different cluster system. This results in the failure in the inverse matrix calculation by the ZGETRI function.

I just wonder if OpenMX uses different algorithm method to compute the inverse matrix in order to avoid the accuracy issue.

Thank you again.

Kind regards,


Page: [1]