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_object

Abstract 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:

qdk_chemistry.data.Settings

type_name(self: qdk_chemistry.algorithms.DynamicalCorrelationCalculator) str

The algorithm’s type name.

Returns:

The type name of the algorithm

Return type:

str