qdk_chemistry.plugins.pyscf.mcscf module

PySCF-based Multi-Configurational Self-Consistent Field (MCSCF) solver implementation for qdk_chemistry.

This module integrates QDK/Chemistry and PySCF to perform Multi-Configurational Self-Consistent Field (MCSCF) calculations. It implements a wrapper that adapts a QDK multi-configuration calculator to PySCF’s FCI solver interface, allowing it to be used in PySCF’s MCSCF framework.

The module contains:

  • PyscfMcscfSettings: Configuration class for MCSCF calculation parameters

  • PyscfMcscfCalculator: Main calculator class that performs CASSCF/MCSCF calculations

  • Registration utilities to integrate the calculator with QDK/Chemistry’s plugin system

  • Utilities to convert QDK multi-configuration calculators to PySCF FCI solvers

Upon import, this module automatically registers the PySCF MCSCF calculator with QDK/Chemistry’s MCSCF calculator registry under the name “pyscf”.

Examples

>>> from qdk_chemistry.plugins.pyscf.mcscf import PyscfMcscfCalculator
>>> mcscf = PyscfMcscfCalculator()
>>> energy, wfn = mcscf.solve(
...     orbitals,
...     hamiltonian_constructor,
...     multi_configuration_calculator,
...     n_active_alpha_electrons,
...     n_active_beta_electrons,
... )
>>> print(f"MCSCF energy: {energy} Hartree")

This module requires both QDK/Chemistry and PySCF to be installed.

Notes

  • Restricted orbitals with identical alpha/beta active and inactive spaces are required.

  • The Hamiltonian constructor parameter is currently unused but included for interface consistency.

class qdk_chemistry.plugins.pyscf.mcscf.PyscfMcscfCalculator[source]

Bases: MultiConfigurationScf

PySCF-based MCSCF calculator for quantum chemistry calculations.

This class provides an interface between QDK and PySCF for performing Multi-Configurational Self-Consistent Field calculations on molecular systems. It handles the conversion between QDK Hamiltonian objects and PySCF representations, performs the MCSCF calculation, and returns the results in QDK-compatible format.

The calculator uses CASSCF (Complete Active Space SCF) method.

__init__()[source]

Initialize the calculator with default settings.

name()[source]

Return the name of the MCSCF solver.

Return type:

str

class qdk_chemistry.plugins.pyscf.mcscf.PyscfMcscfSettings[source]

Bases: Settings

Configuration settings for PySCF MCSCF calculations.

This class extends the base Settings class to provide specific configuration options for Multi-Configurational Self-Consistent Field calculations using PySCF. It includes MCSCF-specific parameters in addition to the standard electronic structure calculation settings.

__init__()[source]

Initialize the settings with default values from ElectronicStructureSettings plus MCSCF-specific defaults.