qdk_chemistry.plugins.qiskit._interop.qir module

QIR to Qiskit QuantumCircuit Converter.

This module provides a converter from QIR (Quantum Intermediate Representation) to Qiskit’s QuantumCircuit using PyQIR’s visitor/passes pattern.

The converter will raise an error if the QIR contains operations that Qiskit cannot understand.

exception qdk_chemistry.plugins.qiskit._interop.qir.UnsupportedQIROperationError[source]

Bases: Exception

Raised when a QIR operation cannot be converted to Qiskit.

class qdk_chemistry.plugins.qiskit._interop.qir.QirToQiskitConverter[source]

Bases: QirModuleVisitor

Converts a QIR module to a Qiskit QuantumCircuit.

This converter uses PyQIR’s visitor pattern to traverse QIR and build an equivalent Qiskit circuit. It will raise UnsupportedQIROperationError if it encounters any operations that cannot be represented in Qiskit.

__init__()[source]

Initializes the QIR pass. Base implementation does nothing.

Return type:

None

convert(qir)[source]

Convert a QIR module to a Qiskit QuantumCircuit.

Return type:

QuantumCircuit

Parameters:

qir (Module) – The QIR module to convert.

Returns:

A Qiskit QuantumCircuit representing the same quantum operations as the QIR module.

qdk_chemistry.plugins.qiskit._interop.qir.qir_ir_to_qiskit(ir)[source]

Convert QIR LLVM IR text to a Qiskit QuantumCircuit.

Return type:

QuantumCircuit

Parameters:

ir (str)