dyson.solvers.dynamic.cpgf#

Chebyshev polynomial Green’s function solver [1].

Classes

CPGF(*args, **kwargs)

Chebyshev polynomial Green's function solver.

class dyson.solvers.dynamic.cpgf.CPGF(*args: Any, **kwargs: Any)[source]#

Bases: DynamicSolver

Chebyshev polynomial Green’s function solver.

Parameters:
  • moments – Chebyshev moments of the Green’s function.

  • grid – Real frequency grid upon which to evaluate the Green’s function.

  • scaling – Scaling factors to ensure the energy scale of the Lehmann representation is in [-1, 1]. The scaling is applied as (energies - scaling[1]) / scaling[0].

reduction: Reduction = 'none'#
component: Component = 'full'#
ordering: Ordering = 'ordered'#
classmethod from_self_energy(static: Array, self_energy: Lehmann, overlap: Array | None = None, **kwargs: Any) CPGF[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) CPGF[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 moments: Array#

Get the moments of the self-energy.

property grid: RealFrequencyGrid#

Get the real frequency grid.

property scaling: tuple[float, float]#

Get the scaling factors.

property nphys: int#

Get the number of physical degrees of freedom.