【前回のおさらい】
ひとまず、インストールは出来たみたい?
【今回のテーマ】
IBMのQISKITを使って遊んで見る
さて、開発環境も整ったので、
quantum circuit example(量子回路の例)
に挑んで見る
「回路」と言っているからには
何かしらの構造があって、インプットとアウトプットがあるんだろうなぁ
程度のイメージです。
あと、simulatorと言っているからには
多分、量子回路なるものを仮想化してくれるんでしょう
早速動かそう。。。
と思ったらimport エラーか
パスがとっていないので、qiskitの実体を
/home/xxxxx/anaconda3/lib/python3.6/site-packages
にバコッとコピー
IBMQuantumExperience
requests_ntlm
ntlm_auth
もコピー
すると、パスが通って
qiskitが使えるようになります。
っていうか、、、、ここまでは量子回路と何の関係もない
ファイルシステム依存の問題。
で、いよいよ量子コンピュータを作り始めます
の量子コンピュータ(のシミュレータ)を作ってみます。
まずは写経
古典的なレジスタと量子レジスタの両方を準備するみたいです。
#Create a Quantum Regsister called qr with 2 qubit
quantum_reg = q_program.create_quantum_register("qr",2)
#Create a Classical Register called cr with 2 bits
classical_reg = q_program.create_classical_register("cr", 2)
#【Hゲートの追加】
#ADD the H gate in the Qubit 0, putting this qubit in superposition.
quantum_circuit.h(quantum_reg[0])
と言っているので、Hゲートなるものを追加してみます。
そもそもHゲートって何だ????
多分「Hadamard gate」
のことですね。
Walsh systemのsuperpositionがHadamard gate
みたいなので、Walsh system
について、調べてみます。
(引用)これは1つの量子ビットの回転であり、量子ビットの基底状態
から、2つの重みが等しい重ね合わせへの写像
なるほど コードのこの部分は
量子ビットを回転させて、重みを等しい状態にしようとしているのかな
#【CXゲートの追加とBell状態への移行】
# Add the CX gate on control qubit 0 and target qubit 1, putting
# the qubits in a Bell state
quantum_circuit.cx(quantum_reg[0], quantum_reg[1])
続いてCXGateを追加してBell Stateなる状態にしたいという事のようです。
Bell Stateについて調べているうちに
IBMQのユーザーズガイドにめぐり合いました。
https://github.com/QISKit/ibmqx-user-guides
(ユーザーズガイドからの引用)To do all of this, quantum computers will use two fundamental properties of the quantum world: superposition and entanglement.
superposition と entanglement.
について理解することが重要な様です。
superposition と entanglement.
について、次回検証して見ることにします。