1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiskit1.1で挑戦 - 量子コスト導出-

Posted at

※こちらはQuantum Challenge 2019に記載されていた「重要: Unrollerを用いた量子コストの導出」をQiskit1.1で実行したものであり、考え方はQuantum Challenge 2019と同じ。

量子回路を評価する方法として以下の手法が存在する。

  1. 量子ビット数
  2. 深さ:量子計算は量子ゲートと呼ばれる演算を量子状態に適用します。この量子ゲートを適用するためにかかる総時間ステップ数を深さと呼ぶ。
  3. 実行速度
  4. 命令数

Quantum Challenge 2019では命令数のことをカウントしており、次のように計算で出てくる値をコストと呼ぶ。
コスト=単一量子ビットゲートの数 + CXゲートの数x10

任意の量子回路を1量子ビットに作用する単一量子ビットゲートと2量子ビットを用いる2量子ビットゲートに分解することによって量子回路のコストを計算します。その際、2量子ビットを扱うCX(CNOT)ゲートにはノイズが乗るため1量子ビットの10倍の重み付けをする。

以下では、実際の回路を組んでコストを計算する。

import numpy as np
from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister
process_fidelity
qr = QuantumRegister(4, 'q0')
cr = ClassicalRegister(1, 'c0')
qc = QuantumCircuit(qr,cr)
qc.ccx(qr[0], qr[1], qr[2])
qc.cx(qr[3], qr[1])
qc.h(qr[3])
qc.ccx(qr[3], qr[2], qr[1])
qc.measure(qr[3], cr[0])
qc.draw('mpl')

image.png

qc.count_ops()

OrderedDict([('ccx', 2), ('cx', 1), ('h', 1), ('measure', 1)])

この結果が意味するものは、単一量子ビットゲートとしてアダマールゲートがあり、その他に2量子ビットを扱うcxゲートや3量子ビットを扱うccxゲートがあることを示している。
これを以下のように単一量子ビットゲートと2量子ビットゲートで表してみる。

qc.decompose().draw('mpl')

回路は下のように分解できる。
image.png

さらにこの回路のコストを表すと

qc.decompose().count_ops()

OrderedDict([('cx', 13), ('t', 8), ('tdg', 6), ('h', 4), ('u2', 1), ('measure', 1)])

となる。この結果より、単一量子ビットゲートは19つ、2量子ビットゲートは13つあることがわかる。
よって、上で述べたコスト計算式を用いるとこの回路のコストは 19+13x10=149 になる。

では、次にCCXゲートの回路を作成しコストを考えてみる。

q = QuantumRegister(3, 'q0')
c = ClassicalRegister(1, 'c0')
qc = QuantumCircuit(q, c)
qc.ccx(q[0], q[1], q[2])
qc.draw(output='mpl')

image.png

こちらも上と同様に単一量子ビットゲートと2量子ビットゲートで表してみる。

qc.decompose().draw('mpl')

image.png

そして、回路のコストを表してみる。

qc.decompose().count_ops()

OrderedDict([('cx', 6), ('t', 4), ('tdg', 3), ('h', 2)])

となり、単一量子ビットゲートは9つ、2量子ビットゲートは6つあることがわかる。
よってこの回路のコストは 9+6x10=69 になる。

参考:
Quantum Challenge 2019
The Quantum Challenge Fall 2020 結果発表

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?