dyson.solvers.static.downfolded#

Downfolded frequency-space diagonalisation.

Classes

Downfolded(*args, **kwargs)

Downfolded frequency-space diagonalisation.

class dyson.solvers.static.downfolded.Downfolded(*args: Any, **kwargs: Any)[source]#

Bases: StaticSolver

Downfolded frequency-space diagonalisation.

Self-consistently satisfies the eigenvalue problem

\[\Sigma(\omega) C = \omega C\]

where \(\Sigma(\omega)\) is the downfolded self-energy.

Parameters:
  • static – The static part of the self-energy.

  • function – The function to return the downfolded self-energy at a given frequency, the only argument.

guess: float = 0.0#
max_cycle: int = 100#
conv_tol: float = 1e-08#
hermitian: bool = True#
converged: bool | None = None#
classmethod from_self_energy(static: Array, self_energy: Lehmann, overlap: Array | None = None, **kwargs: Any) Downfolded[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) Downfolded[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 static: Array#

Get the static part of the self-energy.

property function: Callable[[float], Array]#

Get the function to return the downfolded self-energy at a given frequency.

property overlap: Array | None#

Get the overlap matrix for the physical space.

property nphys: int#

Get the number of physical degrees of freedom.