dyson.solvers.static.exact#
Exact diagonalisation.
Functions
|
Orthogonalise a self-energy. |
|
Project eigenvectors onto the physical plus auxiliary space. |
Classes
|
Exact diagonalisation of the supermatrix form of the self-energy. |
- dyson.solvers.static.exact.project_eigenvectors(eigvecs: Array, bra: Array, ket: Array | None = None) Array[source]#
Project eigenvectors onto the physical plus auxiliary space.
- Parameters:
eigvecs – Eigenvectors to be projected.
bra – Bra state vector mapping the supermatrix to the physical space.
ket – Ket state vector mapping the supermatrix to the physical space. If
None, use the same vectors asbra.
- Returns:
Projected eigenvectors.
Notes
The physical space is defined by the
braandketvectors, while the auxiliary part is defined by the null space of the projector formed by the outer product of these vectors.
- dyson.solvers.static.exact.orthogonalise_self_energy(static: Array, self_energy: Lehmann, overlap: Array | None = None) tuple[Array, Lehmann, Array, Array | None][source]#
Orthogonalise a self-energy.
- Parameters:
static – Static part of the self-energy.
self_energy – Self-energy.
overlap – Overlap matrix for the physical space. If
None, assume identity.
- Returns:
The static part of the self-energy and the self-energy itself, projected into an orthogonal basis, along with the
braandketvectors to map the supermatrix to the original physical space.
Notes
The
braandketvectors essentially transform the orthogonalised self-energy from the orthogonal basis to the original basis. The main use of this function is to generate a self-energy and correspondingbraandketvectors that can reproduce a Green’s function with a non-identity zeroth moment (overlap).
- class dyson.solvers.static.exact.Exact(*args: Any, **kwargs: Any)[source]#
Bases:
StaticSolverExact diagonalisation of the supermatrix form of the self-energy.
- Parameters:
matrix – The self-energy supermatrix.
bra – The bra excitation vector mapping the supermatrix to the physical space.
ket – The ket excitation vector mapping the supermatrix to the physical space.
- classmethod from_self_energy(static: Array, self_energy: Lehmann, overlap: Array | None = None, **kwargs: Any) Exact[source]#
Create a solver from a self-energy.
- Parameters:
static – Static part of the self-energy.
self_energy – Self-energy.
overlap – Overlap matrix for the physical space.
kwargs – Additional keyword arguments for the solver.
- Returns:
Solver instance.
- classmethod from_expression(expression: BaseExpression, **kwargs: Any) Exact[source]#
Create a solver from an expression.
- Parameters:
expression – Expression to be solved.
kwargs – Additional keyword arguments for the solver.
- Returns:
Solver instance.
- kernel(*args: Any, **kwargs: Any) Any#
Run the solver.
- property matrix: Array#
Get the self-energy supermatrix.
- property bra: Array#
Get the bra state vector mapping the supermatrix to the physical space.
- property ket: Array#
Get the ket state vector mapping the supermatrix to the physical space.