Source code for pennylane_quantuminspire.cqasm

from typing import Any

import pennylane as qml
from pennylane_qiskit.converter import circuit_to_qiskit
from qiskit import QuantumCircuit
from qiskit_quantuminspire import cqasm


[docs] def convert_to_qiskit(q_node: qml.QNode, *args: Any, **kwargs: Any) -> QuantumCircuit: """Return the QiskitCircuit representation of the quantum function.""" q_node.construct(args=args, kwargs=kwargs) used_wires = set() for op in q_node.qtape.operations: used_wires.update(op.wires) register_size = len(used_wires) quantum_circuit = circuit_to_qiskit( q_node.qtape, register_size=register_size, ) return quantum_circuit
[docs] def dumps(q_node: qml.QNode, *args: Any, **kwargs: Any) -> str: """Return the cQASM representation of the quantum function.""" quantum_circuit = convert_to_qiskit(q_node, *args, **kwargs) result: str = cqasm.dumps(quantum_circuit) return result