qdk_chemistry.algorithms.dynamical_correlation_calculator module
Public entry point for the Reference Derived calculator algorithms.
This module re-exports the core DynamicalCorrelationCalculator so that consumers can
import it directly from qdk_chemistry.algorithms without depending on
internal package paths.
- class qdk_chemistry.algorithms.dynamical_correlation_calculator.DynamicalCorrelationCalculator
Bases:
pybind11_objectAbstract base class for reference-derived quantum chemistry methods.
This class provides a unified interface for quantum chemistry methods that derive corrections from a reference wavefunction, such as Møller-Plesset perturbation theory (MP2) and Coupled Cluster (CC) methods.
The calculator takes an Ansatz (containing both Hamiltonian and reference wavefunction) as input and returns the total energy, a ket wavefunction, and optionally a bra wavefunction for non-Hermitian methods.
Examples
>>> import qdk >>> # Create ansatz from hamiltonian and wavefunction >>> ansatz = qdk_chemistry.data.Ansatz(hamiltonian, wavefunction) >>> >>> # Create calculator (e.g., MP2) using the registry >>> calculator = qdk_chemistry.algorithms.create("dynamical_correlation_calculator", "qdk_mp2_calculator") >>> >>> # Run calculation >>> total_energy, ket_wavefunction, bra_wavefunction = calculator.run(ansatz)
- __init__(self: qdk_chemistry.algorithms.DynamicalCorrelationCalculator) None
Create a DynamicalCorrelationCalculator instance.
Initializes a new reference-derived calculator with default settings. Configuration options can be modified through the
settings()method.Examples
>>> calc = alg.DynamicalCorrelationCalculator() >>> calc.settings().set("max_iterations", 100) >>> calc.settings().set("convergence_threshold", 1e-8)
- name(self: qdk_chemistry.algorithms.DynamicalCorrelationCalculator) str
Get the algorithm name
- run(self: qdk_chemistry.algorithms.DynamicalCorrelationCalculator, ansatz: qdk_chemistry.data.Ansatz) tuple[float, qdk_chemistry.data.Wavefunction, qdk_chemistry.data.Wavefunction | None]
Perform reference-derived calculation.
- Parameters:
ansatz (Ansatz) – The Ansatz (Wavefunction and Hamiltonian) describing the quantum system
- Returns:
- A tuple containing the total energy,
the ket wavefunction, and optionally a bra wavefunction for non-Hermitian methods
- Return type:
tuple[float, Wavefunction, Optional[Wavefunction]]
- settings(self: qdk_chemistry.algorithms.DynamicalCorrelationCalculator) qdk_chemistry.data.Settings
Access the calculator’s configuration settings.
- Returns:
Reference to the settings object for configuring the calculator
- Return type:
- type_name(self: qdk_chemistry.algorithms.DynamicalCorrelationCalculator) str
The algorithm’s type name.
- Returns:
The type name of the algorithm
- Return type: