LoginSignup
0

More than 5 years have passed since last update.

ゼロからはじめる量子コンピュータ #2

Last updated at Posted at 2018-02-17

【前回のおさらい】
ひとまず、インストールは出来たみたい?

【今回のテーマ】
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.
について、次回検証して見ることにします。

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
0