dyson.expressions.gw#

GW approximation expressions [1] [2] [3].

Classes

BaseGW_Dyson(mol, gw_obj[, eris])

Base class for GW expressions for the Dyson Green's function.

TDAGW

Collection of TDAGW expressions for different parts of the Green's function.

TDAGW_Dyson(mol, gw_obj[, eris])

GW expressions with Tamm--Dancoff (TDA) approximation for the Dyson Green's function.

class dyson.expressions.gw.BaseGW_Dyson(mol: Mole, gw_obj: gw.GW, eris: Array | None = None)[source]#

Bases: BaseExpression

Base class for GW expressions for the Dyson Green’s function.

hermitian_downfolded: bool = True#
hermitian_upfolded: bool = False#
classmethod from_mf(mf: RHF) BaseGW_Dyson[source]#

Create an expression from a mean-field object.

Parameters:

mf – Mean-field object.

Returns:

Expression object.

classmethod from_gw(gw: GW) BaseGW_Dyson[source]#

Create an expression from a GW object.

Parameters:

gw – GW object.

Returns:

Expression object.

build_se_moments(nmom: int, reduction: Reduction = Reduction.NONE) Array[source]#

Build the self-energy moments.

Parameters:
  • nmom – Number of moments to compute.

  • reduction – Reduction method to apply to the moments.

Returns:

Moments of the self-energy.

get_excitation_vector(orbital: int) Array[source]#

Obtain the vector corresponding to a fermionic operator acting on the ground state.

This vector is a generalisation of

\[f_i^{\pm} \left| \Psi_0 \right>\]

where \(f_i^{\pm}\) is the fermionic creation or annihilation operator, or a product thereof, depending on the particular expression and what Green’s function it corresponds to.

The vector defines the excitaiton manifold probed by the Green’s function corresponding to the expression.

Parameters:

orbital – Orbital index.

Returns:

Excitation vector.

property nsingle: int#

Number of configurations in the singles sector.

property nconfig: int#

Number of configurations.

property mol: Mole#

Molecule object.

property gw: GW#

GW object.

property eris: Array#

Density fitted electron repulsion integrals.

property non_dyson: bool#

Whether the expression produces a non-Dyson Green’s function.

class dyson.expressions.gw.TDAGW_Dyson(mol: Mole, gw_obj: gw.GW, eris: Array | None = None)[source]#

Bases: BaseGW_Dyson

GW expressions with Tamm–Dancoff (TDA) approximation for the Dyson Green’s function.

apply_hamiltonian(vector: Array) Array[source]#

Apply the Hamiltonian to a vector.

Parameters:

vector – Vector to apply Hamiltonian to.

Returns:

Output vector.

apply_hamiltonian_left(vector: Array) Array[source]#

Apply the Hamiltonian to a vector on the left.

Parameters:

vector – Vector to apply Hamiltonian to.

Returns:

Output vector.

diagonal() Array[source]#

Get the diagonal of the Hamiltonian.

Returns:

Diagonal of the Hamiltonian.

class dyson.expressions.gw.TDAGW[source]#

Bases: ExpressionCollection

Collection of TDAGW expressions for different parts of the Green’s function.