dyson.solvers.static.mblgf#
Moment block Lanczos for moments of the Green’s function [1].
Classes
|
Moment block Lanczos for moments of the Green's function. |
|
Recursion coefficients for the moment block Lanczos algorithm for the Green's function. |
- class dyson.solvers.static.mblgf.RecursionCoefficients(nphys: int, hermitian: bool = True, force_orthogonality: bool = True)[source]#
Bases:
BaseRecursionCoefficientsRecursion coefficients for the moment block Lanczos algorithm for the Green’s function.
- Parameters:
nphys – Number of physical degrees of freedom.
- class dyson.solvers.static.mblgf.MBLGF(*args: Any, **kwargs: Any)[source]#
Bases:
BaseMBLMoment block Lanczos for moments of the Green’s function.
- Parameters:
moments – Moments of the Green’s function.
- Coefficients#
alias of
RecursionCoefficients
- classmethod from_self_energy(static: Array, self_energy: Lehmann, overlap: Array | None = None, **kwargs: Any) MBLGF[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) MBLGF[source]#
Create a solver from an expression.
- Parameters:
expression – Expression to be solved.
kwargs – Additional keyword arguments for the solver.
- Returns:
Solver instance.
- reconstruct_moments(iteration: int) Array[source]#
Reconstruct the moments.
- Parameters:
iteration – The iteration number.
- Returns:
The reconstructed moments.
- initialise_recurrence() tuple[float | None, float | None, float | None][source]#
Initialise the recurrence (zeroth iteration).
- Returns:
If
calculate_errors, the error metrics in the square root of the off-diagonal block, the inverse square root of the off-diagonal block, and the error in the recovered moments. If not, all three areNone.
- solve(iteration: int | None = None) Spectral[source]#
Solve the eigenvalue problem at a given iteration.
- Parameters:
iteration – The iteration to get the results for.
- Returns:
The
Spectralobject.
- property coefficients: tuple[BaseRecursionCoefficients, BaseRecursionCoefficients]#
Get the recursion coefficients.
- property off_diagonal_upper: dict[int, Array]#
Get the upper off-diagonal blocks of the self-energy.
- kernel(*args: Any, **kwargs: Any) Any#
Run the solver.