Qiskitで量子回路を初期化する(QuantumCircuit)
本記事では、Qiskitで量子回路を初期化する方法を説明する。
QuantumRegister — Qiskit 0.43.1 documentation
実際に量子回路を使用する際はこれにゲートを追加することになるが、ゲートについては別の記事で扱う。
Qiskitでは量子回路を扱うクラスとしてQuantumCircuit
が用意されている。
from qiskit import QuantumCircuit
コンストラクタには量子ビットと古典ビットのサイズを指定する。
整数を1つ指定した場合、量子ビットのみからなる回路となる。
QuantumCircuit(4) # > 4つの量子ビットからなる回路
整数を2つ指定した場合、量子ビットと古典ビットからなる回路となる。
QuantumCircuit(4, 3) # > 4つの量子ビットと3つの古典ビットからなる回路
整数を3つ以上与えるのは誤り。
その場合は、例外CircuitError
が発生する。
QuantumCircuit(1, 2, 3) # > CircuitError: 'QuantumCircuit parameters can be Registers or Integers. If Integers, up to 2 arguments. ...
引数を何も指定しないことは可能。その場合は空の回路となる。
QuantumCircuit() # > 空の回路
また、レジスタ(Register
)のリストを指定することもできる。
from qiskit import QuantumRegister, ClassicalRegister QuantumCircuit(QuantumRegister(4)) # > 4つの量子ビットからなる回路 QuantumCircuit(QuantumRegister(4), ClassicalRegister(3)) # > 4つの量子ビットと3つの古典ビットからなる回路 QuantumCircuit(QuantumRegister(4, 'qr0'), QuantumRegister(2, 'qr1')) # > 'qr0'という名前でサイズ4の量子レジスタと'qr1'という名前でサイズ2の量子レジスタからなる回路