Wrong eigenvector of dynmat after interpolation

Post here questions linked with issue while running the EPW code

Moderator: stiwari

Post Reply
tqzhao

Wrong eigenvector of dynmat after interpolation

Post by tqzhao »

Dear all,

I am checking the accuracy of eigenvector of dynmat in EPW before and after Wannier interpolation.

The system for testing is graphene, and I printed out the eigenvector and eigenvalue of the dynmat for Gamma point. I see that the eigenvectors is very different just because of small numbers in dynmat before and after interpolation. The eigenvector before interpolation is printed out as in cz1. The eigenvector after interpolation is printed out in dynwan2bloch.f90.

Since the eigenvectors are used to interpolate the el-ph couplings, I think this is an important problem I meet.

The data is as follows:

Since the unit only has two C atoms, before interpolation, it is :
Dynmat at gamma point (The imaginary part is absolute zero and has been ommited)
0.98892E-04 0.00000E+00 0.00000E+00 -0.98892E-04 0.00000E+00 0.00000E+00
0.00000E+00 0.98892E-04 0.00000E+00 0.00000E+00 -0.98892E-04 0.00000E+00
0.00000E+00 0.00000E+00 0.31650E-04 0.00000E+00 0.00000E+00 -0.31650E-04
-0.98892E-04 0.00000E+00 0.00000E+00 0.98892E-04 0.00000E+00 0.00000E+00
0.00000E+00 -0.98892E-04 0.00000E+00 0.00000E+00 0.98892E-04 0.00000E+00
0.00000E+00 0.00000E+00 -0.31650E-04 0.00000E+00 0.00000E+00 0.31650E-04

Eigenvector: (Each line is an eigenvector)
0.00000E+00 -0.70711E+00 0.00000E+00 0.00000E+00 0.00000E+00 -0.70711E+00
-0.70711E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.70711E+00 0.00000E+00
0.00000E+00 0.00000E+00 -0.70711E+00 -0.70711E+00 0.00000E+00 0.00000E+00
0.00000E+00 -0.70711E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.70711E+00
-0.70711E+00 0.00000E+00 0.00000E+00 0.00000E+00 -0.70711E+00 0.00000E+00
0.00000E+00 0.00000E+00 -0.70711E+00 0.70711E+00 0.00000E+00 0.00000E+00

Eigenvalue:
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
873.085987314969 1543.29835579232 1543.29835579232

after interplation:
dynmat at gamma point: (small values appeared)
0.98892E-04 -0.85372E-20 0.00000E+00 -0.98892E-04 0.41852E-11 0.00000E+00
-0.49168E-20 0.98892E-04 0.00000E+00 0.41852E-11 -0.98892E-04 0.00000E+00
0.00000E+00 0.00000E+00 0.31650E-04 0.00000E+00 0.00000E+00 -0.31650E-04
-0.98892E-04 0.41852E-11 0.00000E+00 0.98892E-04 -0.90009E-20 0.00000E+00
0.41852E-11 -0.98892E-04 0.00000E+00 -0.82165E-20 0.98892E-04 0.00000E+00
0.00000E+00 0.00000E+00 -0.31650E-04 0.00000E+00 0.00000E+00 0.31650E-04

eigenvector:
0.48406E-10 0.61237E+00 0.35355E+00 -0.61136E-23 -0.35355E+00 0.61237E+00
-0.21401E-09 -0.35355E+00 0.61237E+00 -0.11132E-15 -0.61237E+00 -0.35355E+00
0.70711E+00 -0.14893E-09 0.16113E-09 -0.70711E+00 0.51836E-16 0.29928E-16
0.48406E-10 0.61237E+00 0.35355E+00 -0.38960E-23 0.35355E+00 -0.61237E+00
-0.21401E-09 -0.35355E+00 0.61237E+00 -0.40066E-16 0.61237E+00 0.35355E+00
0.70711E+00 -0.14893E-09 0.16113E-09 0.70711E+00 -0.98753E-17 -0.57015E-17

eigenvalue:
0.264266350710401 0.513382850992079 0.616404685465330
873.085938477670 1543.29828823297 1543.29832594207

The eigenvalues are same, dynmat is different in small numbers, but the eigenvectors are very different. When I change the small numbers to absolute zero, the eigenvectors become the same before and after interpolation.

I appreciate any comments. Thank you!

Best regards,
carla.verdi
Posts: 155
Joined: Thu Jan 14, 2016 10:52 am
Affiliation:

Re: Wrong eigenvector of dynmat after interpolation

Post by carla.verdi »

Hi,

Have you checked if the eigenvectors are the same after a phase rotation?

Best
Carla
tqzhao

Re: Wrong eigenvector of dynmat after interpolation

Post by tqzhao »

In my understanding, the phase rotation cannot change zero to a non zero number. But it happened in my case. Whether my understanding is right or wrong?
sponce
Site Admin
Posts: 616
Joined: Wed Jan 13, 2016 7:25 pm
Affiliation: EPFL

Re: Wrong eigenvector of dynmat after interpolation

Post by sponce »

Oh you could post on the forum at the end !

My reply per email:

"Dear Tianqi Zhao,

This could be related to not sufficiently accurate Wannier functions.
What is the spread of your final Wannier functions? Try to reduce it. You can increase the number of iteration during the Wannier run to converge more.

The fact that you have different eigenvectors should not be too surprising. Indeed the diagonalization of the Hamiltonian (interpolated or not) will give you eigenvectors in an arbitrary gauge.

What you have to do in order to compare eigenvectors is to rotate your gauge to be in the same gauge in both case.

You can always apply the same rotation to all your eigenvectors. Apply it so that the first eigenvectors match the one before.

I'm expecting that you will get something quite similar then.

Hope this helps,

Best,

Samuel "
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com
tqzhao

Re: Wrong eigenvector of dynmat after interpolation

Post by tqzhao »

the wannier interpolation may only affects the band interpolation and eph interpolation. But now I am only checking the interpolations of phonons. I will try to understand how to do gauge rotation. Or can you give some hints or reference on gauge rotation?
sponce
Site Admin
Posts: 616
Joined: Wed Jan 13, 2016 7:25 pm
Affiliation: EPFL

Re: Wrong eigenvector of dynmat after interpolation

Post by sponce »

Dear Tianqi Zhao,

You are correct, the phonon interpolation is done via Fourier (i.e. it does not uses the U), see. the dynwan2bloch routine.

Best,

Samuel
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com
Post Reply