OpenQASM 2 وحزمة Qiskit SDK
Package versions
The code on this page was developed using the following requirements. We recommend using these versions or newer.
qiskit[all]~=2.3.0
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
توفر حزمة Qiskit SDK بعض الأدوات للتحويل بين تمثيلات OpenQASM للبرامج الكمية وفئة QuantumCircuit.
استيراد برنامج OpenQASM 2 إلى Qiskit
هناك دالتان لاستيراد برامج OpenQASM 2 إلى Qiskit.
وهما qasm2.load() التي تأخذ اسم ملف، وqasm2.loads() التي تأخذ برنامج OpenQASM 2 كنص (string).
import qiskit.qasm2
qiskit.qasm2.load(filename, include_path=('.',), include_input_directory='append', custom_instructions=(), custom_classical=(), strict=False)
qiskit.qasm2.loads(program, include_path=('.',), custom_instructions=(), custom_classical=(), strict=False)
راجع واجهة برمجة تطبيقات OpenQASM 2 في Qiskit لمزيد من المعلومات.
استيراد برامج بسيطة
بالنسبة لمعظم برامج OpenQASM 2، يمكنك استخدام qasm2.load وqasm2.loads بسيط مع وسيط واحد فقط.
مثال: استيراد برنامج OpenQASM 2 كنص
استخدم qasm2.loads() لاستيراد برنامج OpenQASM 2 كنص إلى QuantumCircuit:
import qiskit.qasm2
program = """
OPENQASM 2.0;
include "qelib1.inc";
qreg q[2];
creg c[2];
h q[0];
cx q[0], q[1];
measure q -> c;
"""
circuit = qiskit.qasm2.loads(program)
circuit.draw()
┌───┐ ┌─┐
q_0: ┤ H ├──■──┤M├───
└───┘┌─┴─┐└╥┘┌─┐
q_1: ─────┤ X ├─╫─┤M├
└───┘ ║ └╥┘
c: 2/═══════════╩══╩═
0 1