dyson.expressions.adc#

Algebraic diagrammatic construction theory (ADC) expressions [1] [2].

Classes

ADC2

Collection of ADC(2) expressions for different parts of the Green's function.

ADC2_1h(mol, adc_obj, imds, eris)

ADC(2) expressions for the one-hole Green's function.

ADC2_1p(mol, adc_obj, imds, eris)

ADC(2) expressions for the one-particle Green's function.

ADC2x

Collection of ADC(2)-x expressions for different parts of the Green's function.

ADC2x_1h(mol, adc_obj, imds, eris)

ADC(2)-x expressions for the one-hole Green's function.

ADC2x_1p(mol, adc_obj, imds, eris)

ADC(2)-x expressions for the one-particle Green's function.

BaseADC(mol, adc_obj, imds, eris)

Base class for ADC expressions.

BaseADC_1h(mol, adc_obj, imds, eris)

Base class for ADC expressions with one-hole Green's function.

BaseADC_1p(mol, adc_obj, imds, eris)

Base class for ADC expressions with one-particle Green's function.

class dyson.expressions.adc.BaseADC(mol: Mole, adc_obj: adc.radc.RADC, imds: Any, eris: Any)[source]#

Bases: BaseExpression

Base class for ADC expressions.

hermitian_downfolded: bool = True#
hermitian_upfolded: bool = False#
PYSCF_ADC: ModuleType#
SIGN: int#
METHOD: str = 'adc(2)'#
METHOD_TYPE: str = 'ip'#
classmethod from_adc(adc_obj: RADC) BaseADC[source]#

Construct an MP2 expression from an ADC object.

Parameters:

adc_obj – ADC object.

Returns:

Expression object.

classmethod from_mf(mf: RHF) BaseADC[source]#

Create an expression from a mean-field object.

Parameters:

mf – Mean-field object.

Returns:

Expression object.

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.

property mol: Mole#

Molecule object.

property non_dyson: bool#

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

class dyson.expressions.adc.BaseADC_1h(mol: Mole, adc_obj: adc.radc.RADC, imds: Any, eris: Any)[source]#

Bases: BaseADC

Base class for ADC expressions with one-hole Green’s function.

PYSCF_ADC: ModuleType = <module 'pyscf.adc.radc_ip' from '/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/pyscf/adc/radc_ip.py'>#
SIGN: int = -1#
METHOD_TYPE: str = 'ip'#
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.

class dyson.expressions.adc.BaseADC_1p(mol: Mole, adc_obj: adc.radc.RADC, imds: Any, eris: Any)[source]#

Bases: BaseADC

Base class for ADC expressions with one-particle Green’s function.

PYSCF_ADC: ModuleType = <module 'pyscf.adc.radc_ea' from '/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/pyscf/adc/radc_ea.py'>#
SIGN: int = 1#
METHOD_TYPE: str = 'ea'#
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.

class dyson.expressions.adc.ADC2_1h(mol: Mole, adc_obj: adc.radc.RADC, imds: Any, eris: Any)[source]#

Bases: BaseADC_1h

ADC(2) expressions for the one-hole Green’s function.

METHOD: str = 'adc(2)'#
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 type for the moments.

Returns:

Moments of the self-energy.

property nconfig: int#

Number of configurations.

class dyson.expressions.adc.ADC2_1p(mol: Mole, adc_obj: adc.radc.RADC, imds: Any, eris: Any)[source]#

Bases: BaseADC_1p

ADC(2) expressions for the one-particle Green’s function.

METHOD: str = 'adc(2)'#
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 type for the moments.

Returns:

Moments of the self-energy.

property nconfig: int#

Number of configurations.

class dyson.expressions.adc.ADC2x_1h(mol: Mole, adc_obj: adc.radc.RADC, imds: Any, eris: Any)[source]#

Bases: BaseADC_1h

ADC(2)-x expressions for the one-hole Green’s function.

METHOD: str = 'adc(2)-x'#
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 type for the moments.

Returns:

Moments of the self-energy.

property nconfig: int#

Number of configurations.

class dyson.expressions.adc.ADC2x_1p(mol: Mole, adc_obj: adc.radc.RADC, imds: Any, eris: Any)[source]#

Bases: BaseADC_1p

ADC(2)-x expressions for the one-particle Green’s function.

METHOD: str = 'adc(2)-x'#
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 type for the moments.

Returns:

Moments of the self-energy.

property nconfig: int#

Number of configurations.

class dyson.expressions.adc.ADC2[source]#

Bases: ExpressionCollection

Collection of ADC(2) expressions for different parts of the Green’s function.

class dyson.expressions.adc.ADC2x[source]#

Bases: ExpressionCollection

Collection of ADC(2)-x expressions for different parts of the Green’s function.