『量子プログラミングの基礎』 pp. 30-31 射影測定による一般の測定の実装

hackmd.io

今日は『量子コンピュータの基礎』を一日中やっていたおかげで2ページ(!)進んだ.
代わりにCPUの方は全くいじっていない.テストベンチで$dumpvars;やっても内部で使用しているモジュールの信号がVivadoの画面で全く現れなくて泣いてる.

『量子プログラミングの基礎』 p.30 対象系上の量子測定から構成された測定器系と対象系のテンソル積上のユニタリ作用素

hackmd.io

テンソル積の内積,部分空間でそれぞれ内積とってそれを全部掛けるんですね.
ブラ・ケットで書くと(\lvert a \rangle\lvert b\rangle, \lvert a'\rangle\lvert b'\rangle) = \langle a\vert a'\rangle\langle b \vert b'\rangleとなるのですごい自然.
ブラ・ケットすごい.

『量子プログラミングの基礎』p.27 エルミート作用素(観測量)のスペクトル分解

hackmd.io
添え字は\lambdaでやっているがこれは重複を許すので本質的には部分空間ごとに添え字づけられていると思ってほしい.
これ無限次元でうまくいくのか分からん.

セキュリティ・キャンプ全国大会2017

f:id:pandaman64:20170818191047p:plain

みなさんお疲れ様です.

敗因:

選-X-言(3).
その他に自己アピールしたいことがあれば自由に書いてください。なおこのゼミでは加点評価で採点します。つまりまずいことを書いてしまっても減点はしません。書いておきたいことはなんでも書いてください。なお、図や写真などを使いたい場合はどこかにアップロードして、文章内にURLを書いておいてください。

コンパイラ書きたい.

あと参加する意欲がフワッとしてて「友達つくりたい(大意)」とか書いてたので「なんだコイツ」みたいに思われてた可能性は高い.
来年はやっていくぞ.

最後に自分のことを書いておくと,量子コンピュータ向けの高級プログラミング言語作ってデニス・リッチーになることを志しています.
f:id:pandaman64:20170818191938p:plain*1
今やっていることとしては,
github.com
で簡単な自作手続き型言語コンパイラを作っていて,アセンブリを吐くところまではできました.
現在取り組んでいることとしては,16bit RISCマシンをPYNQのFPGA上で実装した上で,先ほどのコンパイラで吐いたアセンブリ(を機械語に落としたもの)を動かそうと取り組んでいます*2

こんな感じのコード↓が

function actualsolution() : Int = 21;
function solution() : Int = 2 * actualsolution();
function main() : Int = 
    let sol : Int = solution();
    sol;

こういうアセンブリになります.
gist.github.com
gist.github.com
gist.github.com

f:id:pandaman64:20170818195459p:plain

最適化やっていきてえ・・・!

*1:yurafuca.github.io

*2:Vivado WEBPACKなんもわからん・・・

『量子プログラミングの基礎』

量子プログラミングの基礎

量子プログラミングの基礎

本文の全てのページに目を通した(理解したとは言ってない).
具体的に言うと,この本が

  • 何をやりたいのか
  • どのようにやっているのか

という気持ちをつかんだ.

一つ注意が必要なのだが,この本は『量子プログラミング(意味論)の基礎』*1であって,ターゲットは量子プログラミングを専攻しようと思っている学部生や大学院生だろう.
実際に量子プログラミングしてみようという人には違う本が向いていると思う.ぼくの場合はターゲットど真ん中なので問題は無かった.

量子プログラミング意味論を扱っているので,当然量子力学や古典プログラミング意味論は前提知識として要求されており,つらい.
しかし,これ理解すれば論文バリバリ読めるのかなあと思うとやる気が湧いてくるのである.定理の言明がまず分からないけれども.

あと量子選択が入ってくると「コイン」空間を次から次へと新しく作る必要がある,という主張はあんまりしっくりこなかった.
それはできるだろうが本質的なのかなあって思った.

とりあえず一通り目を通し終わったので,次は内容を理解するターンである.
この本は練習問題が豊富なので,これを解いたりあとは本文でサラッと流されている事実を証明したりしている.
今は予備知識の量子力学のパートを一つ一つやっているところ.
せっかくなのでオンラインでノートを公開することにした.例えば今日やったのはこれ:
射影演算子の特徴づけ - HackMD

線型空間論楽しい.これからもやっていくぞ.

*1:学術的なタームとしては問題無いが,一般には少しずれてるよね.