Dear Juan I will try to answer below.
On Thu, May 22, 2014 at 7:13 PM, Juan J. Mel?ndez <melendez at unex.es> wrote: > Dear all: > > I am playing with the examples for LDA+U. I think that understand that the > eigenvalues and eigenvectors refer to the occupation matrix, which is > calculated from the projections onto the proper states of the atom for > which U correction is to be applied. However, there are two issues which > are confusing to me: > > 1) If I diagonalize occupation matrix externally to QE, I do get the same > eigenvalues, but quite different eigenvectors, beyond numerical errors, I > think. Could anybody explain to my why does this happen? > Maybe you have some degeneracies? If so, any linear combination of eigenvectors corresponding to the same eigenvalue, is also an eigenvector for the same eigenvalue. I believe that diagonalization routines always provide orthonormal eigenvectors but in the eigenspace of degenerate eigenvalues the phase is arbitrary and can change with the specific routine, machine, compiler, etc. > > 2) Suppose that I need to use the ?starting_ns_eigenvalue? option to > correct unreallistic occupations. For that, I have a look at the > eigenvalues of the occupation matrix at convergence. However, since the > occupation matrix changes during the calculation (because the d states, > say, may mix together), the eigenvectors also do. It means that, despite I > may know which occupation is unphysical at convergence, I cannot know what > was the corresponding eigenvalue at the first iteration. Am I right? If so, > how can I apply ?starting_ns_eigenvalue? correctly? > you can try to restart the calculation from the one that produces the occupation matrix you don't like, having the code reading the potential from it. It should read also the occupations in this case. However setting starting_ns_eigenvalue might not be effective in this case because in electrons.f90 the code is does not allow you to change the occupations if you are reading them from file. Anyway, if you know the eigenvector you want to change the occupation of, and that eigenvector appears also after the first iteration of the scf cycle, then you are safe. keep in mind that starting_ns_eigenvalue changes the occupation matrix eigenvalues only after the first iteration. regards, Matteo > > Thanks in advance. > > Juanjo > > Juan J. Mel?ndez > Associate Professor > Department of Physics ? University of Extremadura > Avda. de Elvas, s/n 06006 Badajoz (Spain) > Phone: +34 924 28 96 55 > Fax: +34 924 28 96 51 > Email: melendez at unex.es > Web: http://materiales.unex.es/miembros/personal/jj-melendez/Index.html > > > ------------------------------ > <http://www.avast.com/> > > Este mensaje no contiene virus ni malware porque la protecci?n de avast! > Antivirus <http://www.avast.com/> est? activa. > > > _______________________________________________ > Pw_forum mailing list > Pw_forum at pwscf.org > http://pwscf.org/mailman/listinfo/pw_forum > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://pwscf.org/pipermail/pw_forum/attachments/20140522/ff1e3f80/attachment.html
