Dear Joe,

Thanks very much for your reply. Looking forward to the details in your review article soon after. I wonder how kwant.physics.modes obtain propagating modes, which can be used to calculate transport observables. 

As known, let \lambda=exp^{ik}, propagating modes have |\lambda|=1 while the others have |\lambda|\ne 1. One can solve a (generalized) eigenproblem to obtain all \lambda and idenity propagating modes as those having |\lambda| equal to 1 within a small tolerance. If so,for an infinitely long wire with a square cross section possessing N*N lattice site, one has to solve all the eigenvalues of a matrix whose size is no smaller than N^2 by N^2, which is a very difficult numerical task for a large N (say N=1000). Does Kwant solve all \lambda as I describe or in a fast way that directly single out the propogating modes? 


From: Joseph Weston <> Date: 2019-12-13 23:16:20 To: Cao Zhan <>,,Cao Zhan <>, Subject: Re: [Kwant] What is the algorithm for calculating the mode decomposition>Me again, > > >I just noticed that the notebook at >looks kind of wonky because nbviewer doesn't understand some of the >markup I used. I've now made the notebook available on binder as well >(even though there's no executable code really): > > > >Happy Kwanting, > >Joe > >