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