class kwant.solvers.common.GreensFunction(data, lead_info, out_leads, in_leads, current_conserving=False)[source]#

Bases: BlockResult

Retarded Green’s function.

Transport properties can be easily accessed using the transmission method (don’t be fooled by the name, it can also compute reflection, which is just transmission from one lead back into the same lead).

GreensFunction however also allows for a more direct access to the result: The data stored in GreensFunction is the real-space Green’s function. The details of this data can be directly accessed through the instance variables data and lead_info. Subblocks of data corresponding to particular leads are conveniently obtained by submatrix.


a matrix containing all the requested matrix elements of Green’s function.


NumPy array


a list with self-energies of each lead.


list of matrices

out_leads, in_leads

indices of the leads where current is extracted (out) or injected (in). Only those are listed for which SMatrix contains the calculated result.


sequence of integers


block_coords(lead_out, lead_in)[source]#

Return slices corresponding to the block from lead_in to lead_out.


Return the conductance matrix.

This is the matrix \(C\) such that \(I = CV\) where \(I\) and \(V\) are, respectively, the vectors of currents and voltages for each lead.

This matrix is useful for calculating non-local resistances. See Section 2.4 of the book by S. Datta.


Return a slice with the columns in the block corresponding to lead_in.


Return the number of propagating modes in the lead.


Return a slice with the rows in the block corresponding to lead_out.

submatrix(lead_out, lead_in)[source]#

Return the matrix elements from lead_in to lead_out.

transmission(lead_out, lead_in)[source]#

Return transmission from lead_in to lead_out.

If the option current_conserving has been enabled for this object, this method will deduce missing transmission values whenever possible.

Current conservation is enabled by default for objects returned by smatrix and greens_function whenever the Hamiltonian has been verified to be Hermitian (option check_hermiticity, enabled by default).