QISKit: OpenQASMを読み込む

環境

OS: ArchLinux

import sys, qiskit
print(sys.version)
print("qiskit version:", qiskit.__version__)
3.6.5 (default, May 11 2018, 04:00:52) 
[GCC 8.1.0]
qiskit version: 0.5.4

OpenQASM 文法で書いた文字列から回路を作る

from qiskit import load_qasm_string
from qiskit.tools.visualization import circuit_drawer
sys.path.append('./')
qc = load_qasm_string("""OPENQASM 2.0; // OPENQASM 2.0; はなくても良い
include "qelib1.inc";
qreg q[2];
h q[0];
cx q[0], q[1];
""")

print(qc.qasm())
OPENQASM 2.0;
include "qelib1.inc";
qreg q[2];
h q[0];
cx q[0],q[1];
circuit_drawer(qc)

f:id:goropikarikun:20180616201329p:plain

OpenQASM ファイルから回路を作る

bell.qasm

OPENQASM 2.0;
include "qelib1.inc";
qreg q[2];
h q[0];
cx q[0],q[1];
qc = load_qasm_string("""
OPENQASM 2.0; // "OPENQASM 2.0;" is not necessary.
include "qelib1.inc";
qreg q[2];
h q[0];
cx q[0], q[1];
""")

circuit_drawer(qc)

f:id:goropikarikun:20180616201329p:plain

Jupyter notebook

gist371969f3861b2abc3742f17dc3f7ffda