andante

2020-08-18

0817

夏休みなのでAmazonのクラウド量子コンピュータで遊んでいました量子回路を定義すると実行してくれるらしい大学の授業で量子コンピュータのことは習った覚えがあったからまあこのくらいはできるじゃろと思ってShorの素因数分解アルゴリズムを実装しようとしたのだけどこれがなかなか難しかったまずそもそもこれは全部が量子計算というわけではないが量子計算はキューに積まれてあとで実行されるので古典計算と混ぜて書きづらいのとあと巷の解説サイトがわりと説明を端折っているのと具体的には位数推定計算に出てくる制御ユニタリゲートなんだけどこれ具体的にどういうユニタリ行列になるのか全然解説なくないですかそれとも僕の知らないギョーカイの常識があれば見ただけでわかるのだろうか……12年前にレポート課題でこれを計算していた僕も全然わかってなかったしこれ手計算ならとりあえずできるけどゲートとして実装するのは全然違う話だよなうーむ
一応それらしく動くものは書けたけどやはりユニタリゲートが不細工でここに置くユニタリ行列だけで異常にメモリを消費してしまう10量子ビットで計算しようとしただけで2^10×2^10の行列が出てきてしまうのよねここも量子回路で表現する手法も知られているようだけどさすがにそこまで深入りはできなかった
とりあえず899の素因数分解をシミュレイタで動かすところまではできたので満足したモノホンの量子コンピュータで動かしてみたかったけどあれはジョブをキューに積んであとで結果を受け取る仕組みのようだからこういう当たるまで繰り返す系計算には向かないそういうのもうまく扱える仕組みがあるかもしれないけどドキュメントが足りなすぎて知らない一応全然単純な回路をチュートリアルの一環で投げてあるから明日様子を見ようかな

そういうわけで今日はそれ以外の趣味にはほとんど時間を使えなかった夕方は作り置きとかしてたしカレーも煮たおいしい


明日はオンライン帰省するらしい