概要
- Qiskit について, 学習サイト の サンプルプログラムを動かしてみた.
- 動作環境は, Google Colaboratory で行った
- 実行プログラム, 解説は, 下記の参照サイトをご覧ください
感想
- 本家のサイトの学習教材が非常に詳しいので, 今後も, 時間を見つけて, 確認していこうと思う.
位相キックバック(練習問題含む)
- 練習問題 1(Controlled-U)
- 練習問題 1(T)
- 練習問題 2(Controlled-U)
- 練習問題 2(Controlled-Dagger)
- 練習問題 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[編集内容] from qiskit import QuantumCircuit, Aer, execute from math import pi import numpy as np from qiskit.visualization import plot_bloch_multivector, plot_histogram # In Jupyter Notebooks we can display this nicely using Latex. # If not using Jupyter Notebooks you may need to remove the # array_to_latex function and use print() instead. from qiskit_textbook.tools import array_to_latex # 量子ビットに対してゲート作用させてみる. qc = QuantumCircuit(2) qc.h(0) qc.cu1(pi/4, 0, 1) # 量子回路を表示. display(qc.draw('mpl')) # 状態ベクトルを表示. statevector_backend = Aer.get_backend('statevector_simulator') final_state = execute(qc, statevector_backend).result().get_statevector() array_to_latex(final_state, pretext="\\text{Statevector} = ", precision=1) plot_bloch_multivector(final_state) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[編集内容] # 量子ビットに対してゲート作用させてみる. qc = QuantumCircuit(2) qc.h(0) qc.t(1) # 量子回路を表示. display(qc.draw('mpl')) # 状態ベクトルを表示. statevector_backend = Aer.get_backend('statevector_simulator') final_state = execute(qc, statevector_backend).result().get_statevector() array_to_latex(final_state, pretext="\\text{Statevector} = ", precision=1) plot_bloch_multivector(final_state) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[編集内容] # 量子ビットに対してゲート作用させてみる. qc = QuantumCircuit(2) qc.h(0) qc.x(1) qc.cu1(-pi/2, 0, 1) # 量子回路を表示. display(qc.draw('mpl')) # 状態ベクトルを表示. statevector_backend = Aer.get_backend('statevector_simulator') final_state = execute(qc, statevector_backend).result().get_statevector() array_to_latex(final_state, pretext="\\text{Statevector} = ", precision=1) plot_bloch_multivector(final_state) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[編集内容] # 量子ビットに対してゲート作用させてみる. qc = QuantumCircuit(2) qc.h(0) qc.x(1) qc.sdg(0) # 量子回路を表示. display(qc.draw('mpl')) # 状態ベクトルを表示. statevector_backend = Aer.get_backend('statevector_simulator') final_state = execute(qc, statevector_backend).result().get_statevector() array_to_latex(final_state, pretext="\\text{Statevector} = ", precision=1) plot_bloch_multivector(final_state) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[編集内容] # 量子ビットに対してゲート作用させてみる. qc = QuantumCircuit(2) qc.x(0) qc.x(1) qc.cu1(pi/4, 0, 1) # 量子回路を表示. display(qc.draw('mpl')) # 状態ベクトルを表示. statevector_backend = Aer.get_backend('statevector_simulator') final_state = execute(qc, statevector_backend).result().get_statevector() array_to_latex(final_state, pretext="\\text{Statevector} = ", precision=1) plot_bloch_multivector(final_state) |