qdk_chemistry.data.encoding_validation module

Utilities for validating fermion-to-qubit encoding compatibility.

This module provides functions to validate that Circuit and QubitHamiltonian instances use compatible fermion-to-qubit encodings.

exception qdk_chemistry.data.encoding_validation.EncodingMismatchError[source]

Bases: ValueError

Exception raised when Circuit and QubitHamiltonian have incompatible encodings.

qdk_chemistry.data.encoding_validation.validate_encoding_compatibility(circuit, hamiltonian)[source]

Validate that a Circuit and QubitHamiltonian use compatible encodings.

This function checks that both the circuit and Hamiltonian have matching encodings. Both must have their encoding specified (not None), and the encodings must match.

Return type:

None

Parameters:
  • circuit (Circuit) – The quantum circuit with encoding metadata.

  • hamiltonian (QubitHamiltonian) – The qubit Hamiltonian with encoding metadata.

Raises:

EncodingMismatchError – If the circuit or Hamiltonian encoding is None, or if the encodings don’t match.

Examples

>>> circuit = Circuit(qasm="...", encoding="jordan-wigner")
>>> hamiltonian = QubitHamiltonian(..., encoding="jordan-wigner")
>>> validate_encoding_compatibility(circuit, hamiltonian)  # OK
>>> hamiltonian_bk = QubitHamiltonian(..., encoding="bravyi-kitaev")
>>> validate_encoding_compatibility(circuit, hamiltonian_bk)  # Raises EncodingMismatchError
>>> circuit_none = Circuit(qasm="...", encoding=None)
>>> validate_encoding_compatibility(circuit_none, hamiltonian)  # Raises EncodingMismatchError