Dear Devs, I hope this email finds you well.
We are two Master's students trying to calculate Andreev/Majorana transition elements using the kwant boundstate algorithm (doi: 10.21468/SciPostPhys.4.5.026). For our purposes we need to extract the evanescent tails of the boundstates in the leads as well, which we had hoped to obtain from the StabilisedModes object in kwant.InfiniteSystem.modes(). However, in general, the vecs and vecslmbdainv object are not related by a constant eigenvalue, as advertised in the documentation. We wonder if you could tell us how to transform from the vecs and vecslmbdainv objects back to the eigenvectors*eigenvalues and eigenvectors object for our calculations? Many thanks in advance for your response! Sincerely, Chi Zhang & Ryan Tiew MSci Physics with Theoretical Physics Imperial College London ----------------------------------------------------- Some technical details of what we have tried here. Please ignore this if you don't have enough time to read. We are aware that kwant is transforming vecslmbdainv by sqrt(norm(hop))*eigenvectors, and vecs by (hop/sqrt(norm(hop)))@eigenvectors@eigenvalues. However, this does not seem to be the full story and we are not able to reproduce what is stored in vecs and vecslmbdainv when there are more than 1 evanescent modes. In particular, we have tried to do a real generalised Schur decomposition of the two matrices in the lead schroedinger's equation, grabbed the vectors stored in the right unitary, and put them through the basis transformation described above. Still the there is no sign of better agreements. We therefore we believe it would be more productive to inquire directly from you how to transform from vecs and vecslmbdainv to actual eigenvectors and eigenvalues. Many thanks in advance for your reply.