
5.6
本物の量子性を獲得する
95
5.6
本物の量子性を獲得する
量子コンピューティング用の算術回路が準備できたので、他の新しい回路も導入してみましょう。
5.6.1
量子条件付き実行
従来型のコンピュータでは、条件付きで実行するようなプロセスにおいて、ある値が設定されている
場合に実行されるという論理演算が必要になります。実行中に、
CPU
はその値を読み取り、論理演算
を実行するかどうかを決定します。
QPU
では、値を重ね合わせ状態を使って設定するかどうかは状況
によるので、その値に関する条件付きの演算については、重ね合わせの状態で実行される場合とされ
ない場合の両方があります。このアイデアをより高いレベルの計算で利用し、多数のデジタル論理演
算からなる複数個の大きな塊を、重ね合わせを使って条件付きで処理することができます。
例えば、例5-4 のプログラムを考えてみましょう。これは図 5-11で示すように、
b
とラベル付けされ
た
3
個のキュビットのレジスタをインクリメントするものです。ただし、異なる
3
個のキュビットからな
るレジスタ
a
がある範囲の整数値をとる場合に限ります。この例では、
∣
1
⟩
と
∣
5
⟩
の重ね合わせにある
a
の初期化によって、
b
がインクリメントされた状態とされていない状態の重ね合わせになります。
図 5-11
サンプルコード
https://oreilly-qc.github.io?p=5-4
で例5-4を実行してみましょう。
例5-4
a.subtract(3);
// if ...