Thanks. By the way, I want to find voltage difference in a system but, for some Fermi energies, the determinant of G matrix is zero and obviously I have a singular matrix error. Is there any way not to encounter this error except adding "if statements"?

Best regards,

Ali

On Wed, Feb 15, 2017 at 8:02 PM, Anton Akhmerov <anton.akhmerov+kd@gmail.com> wrote:
Hi Ali,

We subtract the sums because that is the definition of the conductance
matrix. However this complete function really should be written as
kwant.smatrix(syst, args=[p]).conductance_matrix() (see also the
documentation of the conductance_matrix from Kwant).

Best,
Anton

On Wed, Feb 15, 2017 at 3:43 PM, Ali Asgharpour
<asgharpour@sabanciuniv.edu> wrote:
> Hello all,
>
> I have a question about one of the functions in this link:
> https://nbviewer.jupyter.org/url/topocondmat.org/notebooks/w3_pump_QHE/Laughlinargument.ipynb
>
> For plotting Hall conductance and longitudinal one, there is a section where
> you defined a G function, which I put it below:
>
> def G(syst, p):
>     smatrix = kwant.smatrix(syst, args=[p])
>     G = [[smatrix.transmission(i, j) for i in range(num_leads)] for j in
> range(num_leads)]
>     G -= np.diag(np.sum(G, axis=0))
>     return calculate_sigmas(G)
>
>
> I want to know why we need this line " G -= np.diag(np.sum(G, axis=0)) "
> since G matrix is already calculated in the previous line?
>
> Your time and consideration are greatly appreciated.
>
> Best regards,
>
> Ali
>
>
>
>
>
>
>