qdk_chemistry.plugins.pyscf.active_space_avas module

PySCF AVAS active space selector implementation for qdk_chemistry.

This module provides an interface to the PySCF Automated Valence Active Space (AVAS) method for selecting active spaces in quantum chemistry calculations. The AVAS method automatically constructs molecular active spaces from atomic valence orbitals.

The module contains:

  • PyscfAVASSettings: Configuration class for AVAS parameters

  • PyscfAVAS: Main active space selector implementing the AVAS algorithm

  • Registration functions to integrate with the QDK/Chemistry framework

References

>>> from qdk_chemistry.plugins.pyscf.active_space import PyscfAVAS
>>> avas_selector = PyscfAVAS()
>>> avas_selector.settings().set("ao_labels", ["Fe 3d", "Fe 4d"])
>>> active_orbitals = avas_selector.run(molecular_orbitals)
class qdk_chemistry.plugins.pyscf.active_space_avas.PyscfAVAS[source]

Bases: ActiveSpaceSelector

PySCF-based Active Space Selector for quantum chemistry calculations.

This class exposes AVAS active space selection using the PySCF library.

The details of the AVAS method can be found in the following publication:

Sayfutyarova et al. (2017) doi:10.1021/acs.jctc.7b00128. [SSCK17]

Example

>>> avas = PyscfAVAS()
>>> avas.settings().set("ao_labels", ["Fe 3d", "Fe 4d"])
>>> active_orbitals = avas.run(wavefunction)

Notes

The selection criteria can be customized through the settings object.

__init__()[source]

Initialize the PySCF AVAS with default settings.

name()[source]

Return the name of the active space selector.

Return type:

str

class qdk_chemistry.plugins.pyscf.active_space_avas.PyscfAVASSettings[source]

Bases: Settings

Settings for the PySCF AVAS Active Space Selector.

This class manages the configuration parameters for the PySCF AVAS, providing a convenient interface for setting and getting options.

ao_labels

The atomic orbital labels to be included in the active space (default = None).

Type:

list[str]

canonicalize

Whether to canonicalize the active space orbitals after selection (default = False).

Type:

bool

openshell_option

How to handle singly-occupied orbitals in the active space (default = 2). The singly-occupied orbitals are projected as part of alpha orbitals if openshell_option=2, or completely kept in active space if openshell_option=3.

Type:

int

Examples

>>> settings = PyscfAVASSettings()
>>> settings.get("ao_labels")
[]
>>> settings.set("ao_labels", ["1s", "2s", "2p"])
>>> settings.get("ao_labels")
['1s', '2s', '2p']
__init__()[source]

Initialize the settings with default values.