Dear Kwant developers and community,
Short version: in the source code of Bands module, it is said that one can get the eigenvectors using the argument "return_eigenvectors = True". However, this gives me an error. Is there currently a way to obtain the eigenvectors using Bands?
Longer verion + context:
I want to obtain the eigenvalues and eigenvectors of a quasi-1d system with a given width. For 2D, I've used wraparound and hamiltonian_submatrix to then diagonalize the Hamiltonian and obtain both the energies and eigenvectors. However, for a quasi-1d system, where one translational symmetry of the system exists, this does not work. Either doing wraparound with "keep = 0" (for example) from a system with 2 translational symmetries or simply finalizing a system with only 1 translational symmetry produces a system which is width independent.
I also tried to use the lead's hamiltonian with this approach (https://email@example.com/thread/7FV3FS...) but I was not successful (and I felt there should be an easier way).
So then I thought about the Bands module (https://kwant-project.org/doc/1/reference/generated/kwant.physics.Bands#kwan...) which gives the energies of the bands (that I knew already and been using it for a long time) but in principle does not give the eigenvectors. I've checked the source code and in there it says that the eigenvectors can be added to the output of Bands with the argument "return_eigenvectors = True". However, this does not work and python says that this is not a valid keyword argument. In the same post as before (https://firstname.lastname@example.org/thread/7FV3FS...) it is said that such "return_eigenvectors = True" was forgotten to be included in Kwant's version 1.3 and would be added in version 1.4. However, I'm using verion 1.4.2 and this is not the case. Will this be possible in the future and how can I obtain the eigenvectors of a quasi-1d system?
------------------------ Marc Vila Tusell Catalan Institute of Nanoscience and Nanotechnology (ICN2) - Theoretical and Computational Nanoscience Group
In version 1.4.2 it's implemented. Check your installation with `kwant.__version__`.
See the source for details https://gitlab.kwant-project.org/kwant/kwant/blob/v1.4.1/kwant/physics/dispe...