概要
- Qiskit について, 学習サイト の サンプルプログラムを動かしてみた.
- 動作環境は, Google Colaboratory で行った
- 実行プログラム, 解説は, 下記の参照サイトをご覧ください
感想
- 本家のサイトの学習教材が非常に詳しいので, 今後も, 時間を見つけて, 確認していこうと思う.
ブロッホ球(練習問題含む)
- 状態|+>
- 状態|0>
- 状態|1>
- 状態(|0> + |1>) / √2
- 状態(|0> – i * |1>) / √2
- 状態 [i, 1] / √2
1 2 3 4 5 6 7 8 9 10 11 |
[編集内容(|+>)] from qiskit import QuantumCircuit, execute, Aer from qiskit.visualization import plot_histogram, plot_bloch_vector from math import sqrt, pi from qiskit_textbook.widgets import plot_bloch_vector_spherical # [Theta, Phi, Radius] coords = [pi / 2, 0, 1] # 球面座標を持つブロッホベクトル plot_bloch_vector_spherical(coords) |
1 2 |
[出力結果] ※ブロッホ球が表示された. |
1 2 3 4 5 6 7 8 9 10 11 |
[編集内容(|0>)] from qiskit import QuantumCircuit, execute, Aer from qiskit.visualization import plot_histogram, plot_bloch_vector from math import sqrt, pi from qiskit_textbook.widgets import plot_bloch_vector_spherical # [Theta, Phi, Radius] coords = [0, 0, 1] # 球面座標を持つブロッホベクトル plot_bloch_vector_spherical(coords) |
1 2 |
[出力結果] ※ブロッホ球が表示された. |
1 2 3 4 5 6 7 8 9 10 11 |
[編集内容(|1>)] from qiskit import QuantumCircuit, execute, Aer from qiskit.visualization import plot_histogram, plot_bloch_vector from math import sqrt, pi from qiskit_textbook.widgets import plot_bloch_vector_spherical # [Theta, Phi, Radius] coords = [pi, 0, 1] # 球面座標を持つブロッホベクトル plot_bloch_vector_spherical(coords) |
1 2 |
[出力結果] ※ブロッホ球が表示された. |
1 2 3 4 5 6 7 8 9 10 11 |
[編集内容((|0> + |1>) / √2)] from qiskit import QuantumCircuit, execute, Aer from qiskit.visualization import plot_histogram, plot_bloch_vector from math import sqrt, pi from qiskit_textbook.widgets import plot_bloch_vector_spherical # [Theta, Phi, Radius] coords = [pi / 2, 0, 1] # 球面座標を持つブロッホベクトル plot_bloch_vector_spherical(coords) |
1 2 |
[出力結果] ※ブロッホ球が表示された. |
1 2 3 4 5 6 7 8 9 10 11 |
[編集内容((|0> - i * |1>) / √2)] from qiskit import QuantumCircuit, execute, Aer from qiskit.visualization import plot_histogram, plot_bloch_vector from math import sqrt, pi from qiskit_textbook.widgets import plot_bloch_vector_spherical # [Theta, Phi, Radius] coords = [pi / 2, 3 * pi / 2, 1] # 球面座標を持つブロッホベクトル plot_bloch_vector_spherical(coords) |
1 2 |
[出力結果] ※ブロッホ球が表示された. |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[編集内容([i, 1] / √2)] from qiskit import QuantumCircuit, execute, Aer from qiskit.visualization import plot_histogram, plot_bloch_vector from math import sqrt, pi from qiskit_textbook.widgets import plot_bloch_vector_spherical # [Theta, Phi, Radius] # i * (|0> - i * |1>) / √2 と見ると, 前項の結果を, i倍すれば良さそうに見える. # -> 従って, 前項の結果と同じものを表示すれば良いと考える(i倍の差分は, とりあえず, グローバル位相と理解). coords = [pi / 2, 3 * pi / 2, 1] # 球面座標を持つブロッホベクトル plot_bloch_vector_spherical(coords) |
1 2 |
[出力結果] ※ブロッホ球が表示された. |