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?

Regards,

Zhan

From: Joseph Weston <joseph.weston08@gmail.com> Date: 2019-12-13 23:16:20 To: Cao Zhan <caozhan@baqis.ac.cn>,kwant-discuss@kwant-project.org,Cao Zhan <caozhan@baqis.ac.cn>,kwant-discuss@kwant-project.org Subject: Re: [Kwant] What is the algorithm for calculating the mode decomposition>Me again, > > >I just noticed that the notebook at http://tiny.cc/kwant-journal-club >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): > >http://tiny.cc/kwant-journal-club-notes > >Happy Kwanting, > >Joe > >