見出し画像

量子コンピューティングを齧る ヒルベルト空間

量子コンピューティングを覚えようとしたらどうしても数学にぶつかる。ぶつかるというより使えないとどうにもならないようだ。ま、しょせんは道具だ、数学なんて(強がり)。

量子ビットを数学的に表す方法はさておき(さっそくおくんか…)、とりあえず「ヒルベルト空間」に飛び込まないといけない。
ヒルベルト…今思えば危険な地帯だった。次から次へと恐ろしい難敵が襲いかかってくる。
海王類で満ち溢れたカームベルトより怖いかもしれない。
あ、さっきまで実写版『ONE PIECE』を観ていました。ナミ、すごいですね。巨…

ヒルベルト空間(ベルトじゃないんだよ)はまずその定義からして難解だ。

ヒルベルト空間 (Hilbert space) は、内積を持つ完備な線形空間のことを指します。

ChatGPT

内積」。聞くだけで何かが積み上がってくる気がする。しかも内側に。「内職」と少し語感が似ていて切なくもなる。積み上がるのはたぶん段ボールみたいなやつだ。
でも、こいつはまだ優しい。造花を作ってるお母さんぐらい優しい。掛け合わせると長さが決まるってだけの話だから。本質はけっこう違うみたいだけど量子コンピューティグならこれぐらいで済む。
でも「掛け合わせた長さ」って何?真っすぐ行って角を曲がるぐらいだったら斜めに突っ切ったほうが早くね?って話だ。これでもう内積は理解できている。ほら、よくコンビニの駐車場んとこでやるでしょ?俺はやんないけどさ(こんなんで話が進むんけ)。

さて問題は「完備な」のほうだ。
内積と違って語感はなんかうれしい気もする。冷暖房完備。昭和世代はそれだけで小躍りした。駐車場完備。平成の若者は車を持っていた。Wi-Fi完備。令和のZ世代は当たり前だと思ってるかもしれないがすごい世の中になったもんだよ。
で、ヒルベルト空間では何を完備してくれるのかな?

完備性とは、空間内の任意のコーシー列が必ずその空間内に収束することを意味します。

ChatGPT

今度はコーシーが列をなして登場だよ。あ。完備ってもしかして甘美?コーシーって粋な江戸っ子的なやつ?スイーツとコーヒーみたいな?えー、そしたらヒルベルトでしたっけ?お昼食べてシーシーやってるサラリーマンみたくベルトの穴ずらしても収束しなくなっちゃうじゃん。ゼロカロリーのやつないの?え?あるけど食っても食っても食い足りなくて∞に発散しちゃうの?
でさ。∞ってこの字だけはなぜか覚えなかった?

ふざけ散らしたけど量子コンピューティングにおいては完備性の話、いったん忘れてもいいような気がする。完備じゃないパターンって出てこなさそうだから(ていうか、ここから読み飛ばしていただいて最後のとこだけでたぶん大丈夫です)。

でもね。はっきりそう言われちゃうとねえ。なんですか、完備してないような物件はもういらないとおっしゃるんですか?あれれれれ。そういうのってどうなんです?
そんな小うるさいお客さまのためにご用意しました。こちら「L¹空間」でございます。

L¹空間
(ノルムの定義:||f|| = ∫|f(t)|dt)
なぜ内積が定義できない?
:自然に思いつく内積⟨f,g⟩ = ∫f(t)g(t)dtを使うと
 このとき⟨f,f⟩ = ∫f(t)²dtとなるが
 これはL¹空間の関数に対して発散する可能性がある
 例:f(x) = 1/√|x| は [-1,1]で可積分だが、その2乗(注:「1/x」のこと)は 
   可積分でない。

Claude

だましやがって。内積は優しいっていったじゃないか。なのに。「∫f(t)g(t)dt」って積分じゃねーか。何が「自然に思いつく」だよ。さらっと出しやがって。微分積分三角関数でどんだけ苦しめられたと思ってんだよ。あいつのこと…ようやく忘れたってのに…でも…ちょっとだけ…好きだったんだよ…

ここで注目する点は1/√Z に比べ1/Zは零点付近で急速に増加するってことです。お母さんの造花より増加します。なんなら段ボール箱に挟まれて座布団で寝ないといけないぐらい大増殖します。
は?積分ですか?とりあえず忘れていいです。

重要なポイント:
1/zは…
z = 0 は極(pole)
・任意の閉曲線上の積分は2πiの整数倍
完全に「悪い特異点」
1/√zは…
z = 0 は分岐点(branch point)
・負の実軸に多価関数で分岐点を取るのが一般的
・積分は経路に依存
特異点としては1/zより「まし」

このように、複素平面で見ても1/zは「より本質的に悪い」特異点を持つのに対し1/√zは「比較的まし」な特異点を持つ

という性質は保たれています。これが積分可能性の違いにも反映されているわけです。

Claude

これはClaudeが出してくれた解答だ。太字にしたりてにをはを直したりはしたけど基本的にそのまま写している。「本質的に悪いやつより比較的まし」って…1/z、どんだけ悪なんだよ。

それがすごい悪である。1/zは基本的に閉塞した裏道から抜け出せず同じところをずっとぐるぐる回っている。そして零点を取るといきなり極(pole)をめざす。極道だ。
一方、1/√zは分岐点(branch point)を見つける。ここが人生の分かれ目だ。

極める者と別の道を行く者

分岐点を見つけるためには技を身につけるしかない。
究極奥義「ブランチカット」。
この技が出たコマはおそらく筆みたいなぶっとい字体ででかでかと「斬っ!!!」と描かれるんだろう。
ちなみに実写版のロロノア・ゾロは新田真剣佑だった。これがけっこうかっこいい。

ところで、ここまで読んだ物好きの中にはこの技を習得したいと願うさらに奇特な方もいるのではないかと思う。

"Branch Cut !"

では解説しよう。

この図で何が起きているか:
1.点Pから出発して反時計回りに進むと:
 ・始点P(x軸上)では √z = +2
 ・上半面を通って左に進む
 ・点Q(-2)に到達したとき √z = +2i
2.さらに進むと:
 ・下半面を通って右に戻る
 ・点Pに戻ってきたとき √z = -2
 ・最初の値と異なる!
3.もう一周すると:
 ・同じ経路をもう一度通る
 ・点Pに戻ってきたとき √z = +2
 ・最初の値に戻る

これを解決するために:
 ・負の実軸に沿ってbranch cutを入れる
 ・この「切れ目」を超えるときに値が不連続に変化すると約束する
 ・これにより、複素平面上の各点で√zの値が一意に定まる

このように、branch cutは:
 ・多価関数一価関数にする「切れ目」
 ・通常は負の実軸に取る(他の取り方も可能)
 ・この切れ目を超えると関数の値が不連続に変化する

これが複素解析で√zなどの多価関数を扱う際の標準的な方法です。

Claude

これもClaudeが答えてくれたママである。
あんまりしつこく質問したもんだから途中で「!」まで入れて「ほら。ね?」感を醸し出しやる気スイッチを入れてくれる。慈愛に満ち溢れている。お母さんを超えてもはやママだ。
でも、きっぱりとしてる。ダメなものはダメ。ダーメ。「負の実軸」という「悪の枢軸国軍」と似たニュアンスのところでばっさり切り離してくる。もはや「複素平面」とか「多価関数」とか「一価関数」とか、全て「はぁ?」である。
これぐらい思いきらないと悪の道からは抜け出せない。これでようやく「比較的まし」になれる。もう、ここには来ちゃダメ。約束よ。

最後に。
量子コンピューティングの本の中では内積で算出される長さをオシャンに「ノルム」って呼んでます。
それと⟨f,g⟩ = ∫f(t)g(t)dtの左辺(積分)のほうはさておき、右辺の⟨f,g⟩って書き方はすごくよく出てきます。ブラケット表記って言います。ブラケットです。嘘みたいだけどここだけはマジです。
」がブラで、「」がケット。これだけだと読みにくいときがあるんで「〈x|」とか「|y〉」とかって書かれてます。なんなら合体もします。「〈x|y〉」。

お母さんって洗濯物を取り込むじゃないですか。ケット類はたたみやすいけどブラというかブラトップって扱いに困ります。ほんと。奥さん、どうなすってます?


いいなと思ったら応援しよう!