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 both the total energy and an updated wavefunction that may contain correlation information.

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, result_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]

Perform reference-derived calculation.

Parameters:

ansatz (Ansatz) – The Ansatz (Wavefunction and Hamiltonian) describing the quantum system

Returns:

A tuple containing the total energy and the resulting wavefunction

Return type:

tuple[float, 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