qttools.greens_function_solver.solver#
source module qttools.greens_function_solver.solver
Classes
source class OBCBlocks(num_blocks: int)
Class to hold the OBC blocks used in the GF solvers.
This class holds the OBC blocks for lesser, greater and retarded Green's functions. These are lists of NDArray objects.
Parameters
-
num_blocks : int — Number of blocks in the structure.
Bases : ABC
Abstract base class for the Green's function solvers.
Methods
-
selected_inv — Performs selected inversion of a block-tridiagonal matrix.
-
selected_solve — Produces elements of the solution to the congruence equation.
source method GFSolver.selected_inv(a: DSDBSparse, obc_blocks: OBCBlocks | None = None, out: DSDBSparse = None) → None | DSDBSparse
Performs selected inversion of a block-tridiagonal matrix.
Parameters
-
a : DSDBSparse — Matrix to invert.
-
obc_blocks : OBCBlocks, optional — OBC blocks for lesser, greater and retarded Green's functions. By default None.
-
out : DSDBSparse, optional — Preallocated output matrix, by default None.
Returns
-
None | DSDBSparse — If
out
is None, returns None. Otherwise, returns the inverted matrix as a DSDBSparse object.
source method GFSolver.selected_solve(a: DSDBSparse, sigma_lesser: DSDBSparse, sigma_greater: DSDBSparse, obc_blocks: OBCBlocks | None = None, out: tuple | None = None, return_retarded: bool = False, return_current: bool = False) → None | tuple
Produces elements of the solution to the congruence equation.
This method produces selected elements of the solution to the relation:
Parameters
-
a : DSDBSparse — Matrix to invert.
-
sigma_lesser : DSDBSparse — Lesser matrix. This matrix is expected to be skew-hermitian, i.e. \(\Sigma_{ij} = -\Sigma_{ji}^*\).
-
sigma_greater : DSDBSparse — Greater matrix. This matrix is expected to be skew-hermitian, i.e. \(\Sigma_{ij} = -\Sigma_{ji}^*\).
-
obc_blocks : dict[int, OBCBlocks], optional — OBC blocks for lesser, greater and retarded Green's functions, by default None.
-
out : tuple[DSDBSparse, ...] | None, optional — Preallocated output matrices, by default None
-
return_retarded : bool, optional — Wether the retarded Green's function should be returned along with lesser and greater, by default False
-
return_current : bool, optional — Whether to compute and return the current for each layer via the Meir-Wingreen formula. By default False.
Returns
-
None | tuple — If
out
is None, returns None. Otherwise, the solutions are returned as DSBParse matrices. Ifreturn_retarded
is True, returns a tuple with the retarded Green's function as the last element.