LoginSignup
3
0

More than 5 years have passed since last update.

量子ゲート

Last updated at Posted at 2018-07-07

数学知らない人も理解するの良いと思うから行列で表現するの好きじゃないけどまずやってみる

量子ゲートは
量子力学、
ユニタリ行列( 複素正方行列 + エルミート(随伴)転置 + 可逆行列 + 単位行列 )
を計算するためいるようなものだ

行列

行列の使い

かけさん

条件:左行列横の長さ×右行列縦の長さ同じにする
結果として、横l×縦nの行列が作られる
SIZE(横l×縦m)×SIZE(横m×縦n)=SIZE(横l×縦n)
縦計算(筆算、こんな感じのimage.png)
image.png
image.png
1×1は自分1×0はゼロつまりPauli行列は行列で回転するってやつ

転置

ユニタリ行列
image.png
U=ユニタリ行列
U*=Uの可逆行列であり、Uのエルミート転置
I=単位行列

エルミート転置(もしくは随伴行列)とは
複素数成分を持つm×n 行列 A 。転置行列と複素共軛(実部はそのままで虚部の符号を反転する)する
image.png
行列Aとその転置行列A*であるエルミート転置
 
転置行列
image.png
まん中の中点で回転反転おk

 
それと
bitは1と0使うし結果も表紙するけど
Qubitはimage.pngimage.pngimage.png
image.pngimage.pngimage.png
などなどいて、使うし結果も表紙する
1縦だけど表現できる使える情報は使いによるが無限大(多分)
image.png
理解に良い感じに表現するとこんな形であろう
 
 
  
 
 
 

量子ビットは単位行列同時、ユニタリ行列だ

 
 

量子ゲート

普通のNOTとかORとか見たいに別になくても良いんだが、概念的になんかゲート作ったらしい
パソコンも1と0でなってるだけだがor,and,not(ゲート)を作ったことと似てるよなものだ
いずれせよ行列そのものを利用してね!(勉強してね!)とだろうと思うから、特に耳にしなくて良いゲートの話するね

ブロッホ球上
image.png

image.png
変化なし(IDENTITY,イコール、同じ)
X=image.png    image.png

計算
image.png

Xゲート
ブロッホ球上の X 軸の回転できる
Y=image.png
Yゲート
ブロッホ球上の Y 軸の回転できる
Z=image.png
Zゲート
ブロッホ球上の Z 軸の回転できる
ここまではただのPauli matricesimage.png
image.png
image.png

image.png
Hadamardゲート(Hadamardという人の名前から作った)
重ね合わせ状態を表現することができる
image.png

hadamardの意味

歴史的に普通のパソコンのhadamardゲートはFFTの元になる
image.png
ようするにこれが量子のもつれと似てるから量子hadamardゲートなどがhadamardゲートと呼ばれいるよになったわけだ。
色んな形で使える、量子本来確率という問題があってhadamardでFFTを変わりにすると問題になる。(やりにくい、例えばひたずら細かくすると成功率がひくくなる)

image.png
Phase Shift(位相(Phase)偏移変調)ゲート
image.png
位相移動

 
 
 

量子ビット

量子ビットとは
image.png×image.pngimage.png・・・image.png
=image.pngORimage.png
のm×1単位行列の
線形ベクトル(a,b)(ほかの表記ketbra<a|b>)
image.pngimage.pngimage.png
OR・・・
の集まりがqubit。

ibm Q Experience

量子パソコンを今出来るよにするサイトの一つ

qiskit

QISKITはIBMのQパソコンをスクリプトで使えるようにしたりするのを作ったりする

言語(読まなくて良い)

主な、QISKit public functionality

Submodules

backends バックエンドを使用するためのユーティリティ。
dagcircuit DAG回線用モジュールn
extensions 量子回路への拡張。
mapper マッピングのためのUtils。
qasm QASMのためのツール。
unroll QASMとさまざまなバックエンドをアンロールします。
wrapper 簡略化されたQISKitの使用のためのヘルパーモジュール。

Classes

ClassicalRegister 古典的なレジスタを実装する。
CompositeGate コンポジットゲート、ユニタリゲートのシーケンス。
Gate ユニタリーゲート。
Instruction 一般的な量子コンピュータ命令。
InstructionSet 命令のコレクション。
Measure 計算ベースの量子測定。
QuantumCircuit これまでの周り。
QuantumJob 量子回路ジョブを作成します。
QuantumProgram 量子プログラムクラス。
QuantumRegister 量子レジスタを実装する。
Reset Qubitをリセットします。
Result 結果クラス。

Exceptions

QISKitError QISKit SDKによって生成されたエラーの基本クラス。

Functions

available_backends SDKで利用可能なバックエンドを返します。必要に応じてその機能に基づいてフィルタリングします。
compile 回路のリストをqobjにコンパイルします。
execute 一連の回路を実行します。
get_backend その名前識別子からバックエンドオブジェクトのインスタンスを返します。
load_qasm_file qasm表現(ファイル)から量子回路を構築する。
load_qasm_string qasm表現(文字列)から量子回路を構築する。
register オンラインバックエンドプロバイダに対して認証を行います。

コミュー

公式ホーム
https://qiskit.org/
QISKit Algorithms and Circuits for QUantum Applications(QISKit ACQUA)
https://qiskit.org/acqua?language=ja (library github https://github.com/QISKit/qiskit-acqua)
github
https://github.com/QISKit
medium
https://medium.com/@qiskit
youtube
https://www.youtube.com/channel/UCPng8PUDVMAukVKeFppFMzw/featured

binder

binderってなに?jupyterをオンラインで使用できる

dockerが関係します

binder qiskit

最後に

結構面白いですね

参考にすると良いと思われるもの

https://qiita.com/ogyogugige/items/11a7d04c746d02fa5122 量子コンピュータと量子計算のまとめ
tensor productimage.png
https://ja.wikipedia.org/wiki/%E5%8D%98%E4%BD%8D%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB 単位ベクトル

3
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
3
0