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.

Reply via email to