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 parametersPyscfAVAS: Main active space selector implementing the AVAS algorithmRegistration 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:
ActiveSpaceSelectorPySCF-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.
- class qdk_chemistry.plugins.pyscf.active_space_avas.PyscfAVASSettings[source]
Bases:
SettingsSettings 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).
- canonicalize
Whether to canonicalize the active space orbitals after selection (default = False).
- Type:
- 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 ifopenshell_option=3.- Type:
Examples
>>> settings = PyscfAVASSettings() >>> settings.get("ao_labels") [] >>> settings.set("ao_labels", ["1s", "2s", "2p"]) >>> settings.get("ao_labels") ['1s', '2s', '2p']