投稿

2月, 2022の投稿を表示しています

3月マルレク「コンピュータ、数学の問題を解き始める」について

【 3月マルレク「コンピュータ、数学の問題を解き始める」について 】 3月のマルレクは、「コンピュータ、数学の問題を解き始める」というテーマで開催しようと思っています。 この2月に、Deepmind / Open-AIはとても興味深い発表を行いました。 「数学オリンピックの形式的問題(のいくつか)を解く」 "Solving (Some) Formal Math Olympiad Problems"  https://openai.com/blog/formal-math/   国際数学オリンピックのいくつかの問題をコンピュータを使って解いて見せたのです。 たとえば、こんな感じです。 問題(2000年の数学オリンピックの問題だそうです) Prove that if |x - 2| = p, where x < 2, then x - p = 2 − 2p. ( |x - 2| = p とする。 x <  2 の時、x - p = 2 - 2p  となることを証明せよ。) 証明 Since x < 2, |x - 2| = - (x - 2). Using p = |x - 2| , we have x = 2 −  p and finally x - p = 2− 2p. ( x < 2 なので、|x - 2| = - (x - 2)である。p = |x - 2| を使えば、x = 2 −  p である。結局、x - p = 2− 2p となる。) 先の論文には、この例をふくめて6つの例が紹介されています。実際には、コンピュータは、形式的証明を返すのですが、ここで紹介したのは、「非形式的 Informal」な証明です。マシンは、Informal ボタンを押すと、こうした「非形式的」証明を返してくれます。形式的証明を非形式的証明へ要約・翻訳できるのも面白いです。 Deepmindは、数学へのAIの利用について、昨年12月、Natureにこんな論文を発表していました。それは、数学者に向けてAIも使いみちがあると述べたものでしたが、今回の発表は、そうした関心と方法の延長線上にあるものだと思います。ただ、今回の方が訴求力は大きいように思います。 "Advancing mathematics by guiding human

マルゼミ「認識の認識」講演ビデオ公開しました

【 マルゼミ「認識の認識」講演ビデオ公開しました】 MaruLaboでは、以前に行った講演ビデオを公開しています。  今回は、昨年11月26日に開催した マルゼミ「認識について考える 2 — 認識の認識」の講演ビデオの公開です。ご利用ください。 https://youtu.be/mGtP4zXollg?list=PLQIrJ0f9gMcNMN9xrRQiZ7bAsTFSeTiZO 以下の四つのビデオの再生リストです。 YouTubeの「チャプター」機能で、ビデオの途中からの視聴が可能になっています。お試しください。(PC/Mac をご利用の方は、ビデオの説明のなかの「もっとみる」をクリックください。)  ● Part 1 Grzegorczykの「科学の探究」モデル https://youtu.be/mGtP4zXollg?list=PLQIrJ0f9gMcNMN9xrRQiZ7bAsTFSeTiZO 00:00  はじめに 03:01 Grzegorczykの「科学の探究」モデル 07:57 情報の順序関係 16:25 Forcing Method  ● Part 2 Kripkeの「可能的世界」 https://youtu.be/OQbw8ztYACU?list=PLQIrJ0f9gMcNMN9xrRQiZ7bAsTFSeTiZO 00:00 Kripke の「可能的世界 」 06:54 「可能的世界と情報 12:34 「可能的世界」へのジャンプ 16:42 認識の特徴を表現するモデル 23:08 前節までのまとめと補足  ● Part 3 Bayesian推論と相対エントロピー https://youtu.be/n9Q4KFcAfq8?list=PLQIrJ0f9gMcNMN9xrRQiZ7bAsTFSeTiZO 00:00 Bayesian推論と相対エントロピー 01:01 相対エントロピーとは何か? 06:03 PriorとPosteriorで「認識の発展」を記述する 11:38 Deep Learning と相対エントロピー  ● Part 4 Jaynesの「最大エントロピー原理」 https://youtu.be/ejhCjxchtGU?list=PLQIrJ0f9gMcNMN9xrRQiZ7bAsTFSeTiZO 00:00 Jaynesの「最大エ

Transpose とcup, cap

【 Transpose とcup, cap 】 cupは入力を出力に、capは出力を入力に反転させる操作です。この操作を適用すると、たとえばcapを使えば、入力をもたず二つの出力のみをもつ「二部状態」は、一つの入力と一つの出力を持つ「プロセス」に変換されます。こうして、「状態」と「プロセス」は、一対一に対応することが示せます。 今度は、入力Aと出力Bをもつプロセスf への、cup, cap の適応を考えます。入力Aにcupをつなげ出力Bにcapをつなげば、プロセス f は、入力Bと出力Aをもつ新しいプロセスに変換されます。こうしてできたプロセスを、f の「Transpose」と言います。 Tranposeは、線形代数ではおなじみの概念ですね。それは、行列の行と列を入れ替えて「転置」行列を作る操作です。転置行列を習ったときに、それがエンタングルメントと関係があると思った人は、誰もいなかったと思います。 ところが、そうじゃないんです。 cupはエンタングルメントを表します。yanking等式によれば、capはcupの逆変換です。プロセス fのTransposeがcupとcapで表せるということは、実は行列の転置も、エンタングルメントの言葉で表現できることを意味します。 エンタングルメントは、なにか現実とはかけ離れた奇妙な概念ではなく、我々のごく身近なところに存在しています。ただ、我々は、それが数学的にも物理的にも基本的なものであることに気が付かなかっただけなのです。 今回から、プロセスをあらわす箱の形が少し変わりました。長方形の角を切り落として台形になりました。このノテーションも秀逸です。図形的には、Transposeは、図形を 180度回転させることに対応するのですが、長方形だと回転前と回転後の区別つきませんからね。 なんと、Transposeは、プロセスが cupの谷あるいはcapの山をこえることを表現していることがわかります! 今回のセミナーでは、図形の「回転」としてTransposeを解釈したのですが、水平方向あるいは垂直方向に鏡をおいて、その鏡像反転として新しい図形を考えることができます。その解釈については、また別の機会に触れたいと思います。 ショートムービー「Transpose 」を公開しました。 https://youtu.be/mMywPckI2bw?l

yanking等式について

【 yanking等式について 】 先に、cupとcapは、String Diagramで、もっとも特徴的な図形だと述べました。実は、cupはその線の両端が、エンタングルメント状態にあることを表しています。String Diagramは、エンタングルメントを、一つの図形記号で表すのです! yanking等式は、二つの図形が等しいことを示す図形についての等式です。具体的には、String Diagram では、cupとcapを結んだ山と谷からできた曲線が、その凸凹をならした一本の直線と同じものとして扱うことができることを主張しています。 図形として考えると、二つの図形が同じものであるのは、直観的には明らかに思えます。 ただ、このyanking 等式が表現しているものを、数学的に説明しようとするとかなり手強いことになります。  「それは、monoidal categoryである compact closed categoryの基本的性質を表現している。 .... 」 ご安心を。 確かに、compact closed category の基本的性質は、いくつかの「数学的等式」によって表現されるのですが、yanking 等式の「図形的等式」は、その基本的数学的性質を完全に表現しています。 何も、面倒な数学的議論にさかのぼらなくても、図形的な直観にしたがって議論をすすめても、正しい議論を展開できるのです。それはある意味、驚異的なことです。不思議な経験です。  「String Diagramは、深いことを表現しているけど、わかりやすい。」 皆、String Diagramが大好きなのは、そのためです。yanking等式は、その典型です。 ちなみに、yank は「ヤンキー」のもとになった言葉です。南北戦争時代、北軍の兵士は 南部の人から  Yankee と呼ばれたようです。その後は、アメリカ人をさす言葉として世界中で広く使われました。 そのせいか(しらんけど)、String  Diagramの世界でも、アメリカの研究者は、"yanking  equation" という言葉をあまり使わないような気がします。 "snake equation" とかいいますね。 ショートムービー「yanking等式 」を公開しました。 https://youtu

cupとcap

【 cupとcap 】 cupとcapは、String Diagramの中の図形で、もっとも特徴的な図形の一つです。 cupは、A × A という同じ型を持つ二つのの出力だけを持つプロセスです。 capは、A × A という同じ型を持つ二つのの入力だけを持つプロセスです。 cap,  cupの名前の由来は、スライドの図を見ていただければ、たぶん、了解できると思います。 capとcapは、String Diagramの中で、どのような役割をもつのでしょう? いくつかの例を見てみましょう。 cupの一つの出力を、別のプロセス fの入力につなげることができます。その図式はすぐにかけますね。その「解釈」もすぐできると思います。そのまんまです。 今度は、cupの右の出力を、capの左の入力につなげてみましょう。プロセスの出力をプロセスの入力につなげるのは普通の操作です。その図式はすぐにかけると思います。でも、この図は、どのように解釈すればいいでしょう? 今度は、cupの左の出力を、capの右の入力につなげてみましょう。この図式もすぐにかけると思います。でも、この図は、さっきの図とはちょっと似ていますが、別のものです。これらは、どのように解釈すればいいでしょう? 今回は、これらふたつの図式の解釈を提供します。 ショートムービー「プロセスと状態の双対性 」を公開しました。 https://youtu.be/U9MYthX8UFY?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、次からアクセスできます。 https://drive.google.com/file/d/1jiIkIBaVk2SHVZlzJ0Rf9qkpy3lqUnhE/view?usp=sharing このシリーズのまとめページは、こちらです。ご利用ください。 https://www.marulabo.net/docs/category01/ セミナーのお申し込みは、次のページからお願いします。 https://string-diagram.peatix.com/

String Diagram の新世界

 【 String  Diagram の新世界  】 この節から、新しい内容が始まります。 いよいよString Diagramの新しい世界が始まります。  「これまでも String Diagramの話じゃなかったの?」  「そうなんですが、それは、ちょっと長い助走期間。お楽しみはこれからです。」  「何が始まるの?」  「量子過程を図解します。」  「最初から、そう言っていなかった?」  「そうなんですけど、これまでは主要に量子コンピュータの回路の話でした。」  「その話だけじゃだめなの?」  「多分、そうです。」  「あと何があるの?」  「量子過程の図解です。   図形で考えることができることを示しながら、   エンタングルメントを図解します」    ショートムービー「分離可能性」を公開しました。 https://youtu.be/qc3GKXyDZr4?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、次からアクセスできます。 https://drive.google.com/file/d/1jR5bTmfD5EQWq42e9JJ5mVh3TM--PvEm/view?usp=sharing このシリーズのまとめページは、こちらです。ご利用ください。 https://www.marulabo.net/docs/category01/ セミナーのお申し込みは、次のページからお願いします。 https://string-diagram.peatix.com/

天才 ディラック

 【 天才 ディラック 】 複雑なものを理解しようとする時、複雑なものをどのように表現するかという問題は、とても大事です。 「それは、単なる表現手段・表記法の問題で、対象の物理的・数学的本質とは関係ない」と考える人がいるかもしれません。ただ、僕は、そうではないだろうと考えています。優れた表記法は、対象全体の見通しをよくし、新しい洞察を可能にするからです。 量子の世界を記述するのにディラックが考案した「ket記法」は、とても優れたものです。ディラックの物理学上の業績をよく知らなくても、「ket記法」だけでも、彼の「天才」をうかがい知ることができると思います。 量子の世界を知る上で、ディラックの「ket記法」は、必須のツールだと思います。興味ある方は、次のページをご覧ください。  「ケット |k> で理解する量子の世界」 https://www.marulabo.net/docs/ket-talk/ String Diagram も、量子の世界を記述する新しい表現法の一つです。そこでは、「数式」ではなく「図式」が利用されています。 興味深いことに、ディラックの「ket記法」とString Diagram との間には、対応関係が存在します。今回は、その話をしようと思います。 ショートムービー「ket記法との対応」を公開しました。  https://youtu.be/Qw4sjm-mb6U?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、次からアクセスできます。 https://drive.google.com/file/d/1iR5QumVG_zs3FnqBZ2o84NAyL04nGU-6/view?usp=sharing このシリーズのまとめページは、こちらです。ご利用ください。 https://www.marulabo.net/docs/category01/ セミナーのお申し込みは、次のページからお願いします。 https://string-diagram.peatix.com/

フォン・ノイマンが考えたこと

 【 フォン・ノイマンが、考えたこと 】 ここでは、String Diagram が「プロセス」中心の理論であることを、改めて確認します。 「プロセス」中心というのは、フォン・ノイマンが定式化したように、まずヒルベルト空間上のベクトルとして量子の状態を定義して、次にそれに作用する演算子を考えて量子論を構築する、「状態」から出発する理論ではないということです。 雰囲気だけ述べてみれば、世界のスナップショットでしかない固定された「状態」より、変転する世界の変化の「過程」に注目しようという考えだと思います。 こうした考え方は、古代ギリシャにも東洋思想にも、近代のドイツ哲学にもありました。20世紀では、物理学者の David Bohmが、こうした思想の代表者だと思います。 もっとも、いろんな思想はいろんなところに現れるものです。 ここでは、ちょっと意外な発言を紹介しようと思います。  I would like to make a confession which may seem immoral:  I do not believe absolutely in Hilbert space anymore.  不道徳に思われるかもしれない告白をしたい。  私は、もはやヒルベルト空間を全く信じていない。 これは、1935年に、フォン・ノイマンがバーコフにあてた手紙の一節です。 ノイマンが、「量子力学の数学的基礎」で、ヒルベルト空間論に基づく量子論の定式化を完成したのは、1932年のことでしたので、彼は、早々に自身の定式化に疑問を持ちはじめたことがわかります。 ショートムービー「プロセス中心のアプローチ」を公開しました。 https://youtu.be/0FeQpgJyRMY?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、次からアクセスできます。 https://drive.google.com/file/d/1hcYB9GZ6mlQ-oxjHI8Q4mtHXXlRsEJ9v/view?usp=sharing このシリーズのまとめページは、こちらです。ご利用ください。 https://www.marulabo.net/docs/category01/ セミナーのお申し込みは、次のページからお願いします。 https://s

「状態」をプロセスとして表現する

【「状態」をプロセスとして表現する 】 String Diagram では、「状態」を特別な「プロセス」として捉えます。 先に、次のものを特別なプロセス考えようと言いました。  1. 入力を持たず出力のみを持つプロセス  2. 出力を持たず入力のみを持つプロセス  3. 入力も出力も持たないプロセス この 1. の 入力を持たず出力のみを持つプロセスを「状態」と考えるのです。Diagram としては、逆三角形から上に出力を表すワイアーが一本出ている図形で表します。 こういうことです。 ある系Aが、可能的には複数の状態を取りうるとしても、こうした図形で表される「状態」は、ある操作からなる「準備過程」によって作られた、系Aの「特定」の「状態」です。 入力を持たないということは、このシステムの来歴を我々は知らないことを意味しています。例えば、「ここに |0> に初期化された qubitがある」という時、我々は、その状態がどのように準備されたかについて知る必要はありません。 「状態」のDiagramの双対として、「効果」というDiagram を考えます。それは、先の図の天地をひっくり返したものです。それは、2. の出力を持たず入力のみを持つ特別なプロセスです。 「効果」はあるシステムによるものなのですが、出力を持たないというのは、その後、その結果は二度と使われることがないことを意味します。その意味では、「効果」の最も簡単な例は、システムが破壊され、以前のシステムを無視することだと考えることができます。 「効果」のもう一つの解釈は、それを「テスト」と考えることです。我々が、ある「効果」が起きたというということは、我々がシステムを「テスト」して、ある特徴が確認できたということです。 3. のケースは、「状態」のプロセスの出力を「効果」のプロセスの入力につなげた時、起こります。String Diagramでは、それは「数」を表していると解釈します。 ショートムービー「状態と効果と数」を公開しました。 https://youtu.be/Yz_ZkfdgW-E?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、次からアクセスできます。 https://drive.google.com/file/d/1hkzdyODnKk9izk

関数は関係の特殊な場合である 

 【  関数は関係の特殊な場合である 】  ここでは、関数だけでなく関係もDiagramで表現されることを学びます。  x = 2y+1 とか、z <  x+ y という式で、'=' とか  '<' という記号は、左辺と右辺の「関係」を表しています。もちろん、それが表しているのは、'=' だったら「左辺と右辺は等しい」という関係で、 '<'  だったら「左辺は右辺より小さい」という関係です。 x と y との間に、Rという関係がある時、それを "x R y" で表すのは、よく使われる関係の表現法です。 ただ、関係には、別の表現の仕方もあります。    x R y <==>   ( x, y ) ∈ R x < y という関係が Rだとしましょう。x < y  が成り立つ点は、原点を通る y = x  という直線の上にある領域すべてです。この領域をRとすれば、( x, y ) ∈ R なら、すなわち、 (x, y) で表される点が領域 R に含まれるなら、x < y という関係が成り立つことは、すぐわかります。 この関係の表現を使うと、x ∈ X、y ∈ Y とすると、集合 X と 集合 Y との関係 R は、    ( x, y ) ∈  X × Y の形で表される事がわかります。関係 Rは、集合 X × Y に含まれます。 関係の表現には、もう一つのやり方があります。 a R b、すなわち (a, b) ∈ R の時、R(a) で (a, b) ∈ R を満たす全てのbの集合を表すやり方です。   𝑅(𝑎) ≔ { 𝑏 | (𝑎, 𝑏) ∈ 𝑅 } この R(a) は、引数 a を取る関数のようにも見えますが、関数ではありません。関数なら、R(a)の取る値は一つだけですが、このR(a)の値は、複数の値からなる集合です。R(a)の値は、一つには定まらないのです。 プロセスとしての関係の表現には、関数に似たこちらのスタイルが使われます。 関係についても、二つの関係 P,  S の直列合成と並列合成が可能です。詳しくは、ビデオを参照ください。 関数と関係については、次のことが言えます。  ・関数も関係も、システム・タイプは集合で

デカルト積 再び

【 デカルト積 再び 】 このショートムービーで扱っている、プロセスとしての関数については、基本的なところは、今まで見てきたプロセスの直列合成・並列合成の振り返りになっています。そこは、そんなに難しいことではありません。ビデオをご覧ください。 新しいのは、前回見た集合の「デカルト積」の考えで、関数の入力・出力のシステム・タイプを見直しているところです。 プロセスとしての関数 f が、システム・タイプ A, B を入力に持ち、システム・タイプ B, C, D を出力に持っていたとしましょう。 このことは、f の入力のシステム・タイプが A × B (AとBのデカルト積)で、出力のシステム・タイプが B × C × D (BとCとDのデカルト積)であると考えることができます。f は、集合 A × B から 集合 B × C × D への関数です。 具体的な fの入力の値を  a, b、出力の値を b', c, d としましょう。この時、(a, b) ∈ A × B で、(b’, c, d) ∈ B × C × D ということになります。 普通の関数の表記を使えば、これは    f(a, b) = (b’, c, d)  と書けます。 前回、デカルト座標 (x, y) は、デカルト積の表現だと言ったのですが、f(a,  b) の(a, b)は座標というより、関数の引数ですね。このように、関数の引数が表現しているのもデカルト積なのです。 一般的に言えば、複数の要素の並びをデカルト積は表現します。二つのもののpair、複数の要素からなる tuple も、デカルト積 = 直積 で表現されます。先の例だと、出力の並び、(b’, c, d) もデカルト積の表現です ショートムービー「プロセスとしての「関数」」を公開しました。 https://youtu.be/e8yRiQ9JGiY?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、次からアクセスできます。 https://drive.google.com/file/d/1h7CPgAA14upsioNS2LvfVOasKimqQk2P/view?usp=sharing このシリーズのまとめページは、こちらです。ご利用ください。 https://www.marulabo.ne

デカルトの積?

【デカルトの積?】 これまで、抽象的なDiagramの定義から始めて、具体的な量子回路をDiagramで表現するという話をしてきたのですが、今回の新しい節からテーマが変わります。もう一度、抽象的なDiagramの定義に戻ります。 抽象的なDiagramの定義といっても、難しいものではありませんでした。   Diagram = Box +Wire     Box = 「プロセス」   Wire  = 「システム・タイプ」 というだけです。 これまで、二つのプロセスの「合成」の話はしてきました(並列合成・直列合成等)。この節では、一つのプロセスに注目して、代表的なプロセスとして、「関数」と「関係」があるという話をします。 ただ、今回は、プロセスの話ではなく、関数と関係の話をする前提として、システム・タイプの話をします。 結論から言えば、システム・タイプは、ある「集合」だと考えることができます。なら、それで終わりかというと、そうでもないのです。 【 新しいシステム・タイプ 】 こういう問題です。 あるシステムにシステム・タイプA(集合)があって、別のシステムにシステム・タイプB(集合)があったとします。二つのシステムが一緒になったシステムのシステム・タイプは、どうなるかという問題です。 これも、答えを先に言えば、この二つのシステムが一緒になったシステムでは、新しいシステム・タイプを利用できるようになります。 それを A✖️Bで表します。これを、AとBの「デカルト積」あるいは「直積」と言います。システム・タイプは集合ですので、デカルト積は、集合 A, Bから、新しい集合A✖️Bを作ります。 「デカルト積、聞いたことない」という人も多いと思います。でも、ほとんどの人は、その考え方を知っています。「デカルト座標」は、知ってますね。 デカルト座標 (x, y)は、X座標の値がx で、Y座標の値がyの点を表します。X座標が取る値の集合をXで、Y座標が取る値の集合をYとすれば、デカルト積 X✖️Yの要素は、Xに属するxとYに属するyの、デカルト座標(x, y)を持つ点と同じものになります。 数学的にデカルト積を定義すると、次のようになります。  X✖️Y = { (x, y) | x ∈ X, y ∈ Y } この定義に現れる (x,  y)は、デカルト座標と同じものです。 【 デカ

量子回路のDiagram

 【 量子回路のDiagram 】 ここでは、これまででてきた概念を、順番に整理してみましょう。  1. Diagram :   Box + Wire, 並列合成 ⊗, 直列合成 ○  2. 回路のDiagram : Box + Wire, 並列合成 ⊗, 直列合成 ○, Swap  3. 量子回路のDiagram : 量子ゲートを表すBox + Wire, 並列合成 ⊗, 直列合成 ○, Swap 【 抽象的な定義から、より具体的な定義に 】 ここまでの 1. 2. 3. は、Diagramの世界でのお話です。 1. は、まだ、抽象的なDiagramの定義ですが、2. になって、このDiagramは「回路」のDiagramとして、少し具体的になりました。3. の「量子回路のDiagram」では、このDiagramが、量子ゲートからなる量子回路のDiagramとして、より具体的になりました。 ただ、実際の量子コンピュータの量子回路は、もっと具体的です。以下、その実際の量子回路の特徴を、少し詳しく書き出してみましょう。 【   4. 実際の量子回路 】   ・Box = 量子ゲートは、ユニタリ行列に対応する。    ・Wireは、量子ビットの状態を表すベクトルである。   ・量子ゲートの出力のベクトルは、ゲートに対応する「ユニタリ行列 x 入力ベクトル」で計算される。これが量子ゲートの作用を与える。   ・量子ゲートから、量子回路は、並列合成 ⊗, 直列合成 ○, Swapから構成さる。   ・並列合成 ⊗ された量子回路に対応する行列は、「行列のテンソル積」で計算される。   ・直列合成 ○ された量子回路に対応する行列は、「行列の積」で計算される。 こうして、具体的に量子回路の定義を与えれば、回路に対応するユニタリ行列がもとまり、実際の量子回路の振る舞いを、計算で与えることが出来ます。 【 具体化は、抽象的な定義の「解釈」を与える 】 ここでは、3. の「量子回路のDiagram」の定義と、4. の「実際の量子回路」の定義の関係を考えてみましょう。 先には、1. 2. 3. は「Diagramの世界」の話で、4. は「実際の量子回路」の話だとしてきましたが、4. の定義は、明らかに、1. 2. 3. の定義を満たします。ですので、そのことは、4. の「実際の量子回

量子ゲートの行列表現

 【 量子ゲートの行列表現 】 今回も、まず、量子論の基本をふりかえることから始めましょう。 量子の状態は、あるルールに従って変化します。量子の状態は、ベクトルで表現されるので、量子の状態の変化は、あるベクトルからあるベクトルの変化として表現されることになります。ベクトルをベクトルに変えるのは、数学的には、行列の仕事です。ですので、量子の状態を変化させるルールは、ある行列の特徴によって記述されます。 【 ユニタリ行列 】 量子の状態変化を特徴づける行列を「ユニタリ行列」といいます。 全宇宙の全ての量子の状態変化を、このユニタリ行列がつかさどっていると考えると、とても複雑な行列だろうと思うかもしれませんが(確かに、実際にそれを書き出そうとすると、複雑で巨大なのですが)、その基本的働きは、驚くほどシンプルです。 ユニタリ行列は、あるベクトルの長さを変えず、その向きをかえます。長さが変わらないので、それはベクトルを回転させる働きをします。二次元でしたら、ユニタリ行列が作用したベクトルの先端は、ある点を中心に円を描きます。三次元なら、球面を描くことになります。 透明な球体の中に、中心から球面に向かう黒い矢印があって、それがクルクルと回っているのをイメージすればいいと思います。球面をなぞる矢印の先端が、量子の状態を表しています。 量子の状態変化が、すべて、こうしたシンプルなルールに従っているという発見は、驚くべきものだと思います。 【 ユニタリ行列と量子ゲート 】 ここでは、もうひとつの量子の状態変化のイメージを考えましょう。 量子の状態を線で表しましょう。それが変化した量子の状態も、やはり、線で表すことができます。線と線の間に、変化する過程を表す箱を置きましょう。これは、ある箱に、量子の状態が「入力」として入り、ある過程を経て、変化した量子の状態が「出力」として出てくるというイメージです。こうした入力・出力のイメージで量子の状態変化を捉えた時、この過程を表す箱を、量子ゲートといいます。 先に見たように、量子の状態変化はユニタリ行列で表現されるのですから、この箱 -- 量子ゲートの働きは、ユニタリ行列の働きと同じものです。量子ゲートには、それに対応したユニタリ行列が存在します。それを、量子ゲートの行列表現と呼びます。 【 Diagramと量子回路の行列表現 】 量子ゲートから

量子回路を構成する量子ゲート

【 量子回路を構成する量子ゲート 】 前回、  複雑な回路のDiagramは、単純な回路のDiagramから「並列合成」と「直列合成」と「Swap」から構成される ことを見てきました。 量子回路の場合、最も単純な量子回路は、量子ゲートだと考えることができます。 ですので、  複雑な量子回路のDiagramは、量子ゲートのDiagramから「並列合成」と「直列合成」と「Swap」から構成される ということになります。これが、この節のメインのストーリーになります。 ただ、今回と次回のショートムービーでは、Diagramのことはしばらく忘れて、一般的な量子ゲートと量子回路の説明をしたいと思います。復習です。次の資料等を参照ください。  ●「紙と鉛筆で学ぶ量子コンピュータ入門演習」 https://www.marulabo.net/docs/q-seminar2019/  ●「YouTubeで学ぶ量子論の基礎」 https://www.marulabo.net/docs/q-youtube/ https://youtu.be/6cd8-oJmUCU?list=PLQIrJ0f9gMcOuWJcEcMSUVLEX6pxHgMa_ ポイントは、これらの従来の説明でも、Xゲートにしろ、Hゲートにしろ、CNOTゲートにしろ、ゲートはすべて箱と線(Box+Wire)で表現されているということです。 それは、従来の図式は、そのままString Diagramとみなすことができるということです。同じものを見ているのですが、String Diagramでは、視点が少しだけ一般的なものに変わっているだけです。 逆にいうと、基本的な量子ゲートから量子回路を構成する、これまでの説明、これまでの図式は、一般的なString  Diagramの具体例の一つと考えることができるということです。 ショートムービー「量子ゲート」を公開しました。 https://youtu.be/v4Wy1Owt8xA?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、次からアクセスできます。 https://drive.google.com/file/d/1cSQpv5P-r-Ji6tt9zBmh8jQ9vNYLVwr_/view?usp=sharing このシリーズのま

回路を図形としてとらえる

【「回路」を図形としてとらえる 】 この節では、量子コンピュータを構成する「量子回路」も図形 = Diagramとしてとらえられるという話をします。 基本的には、「構成可能性  = Composability」の考えに基づいて、次のように考えます。   複雑な量子回路は、単純な量子回路から構成される 量子回路の場合、もっとも単純な量子回路を「量子ゲート」といいます。ですので、   複雑な量子回路は、単純な量子ゲートから構成される ということになります。 今回は、量子回路を扱う前に、もう少し一般的に「回路 = circuit」を表現する図式 = Diagram について考えてみましょう。   複雑な回路のDiagramは、単純な回路のDiagramから構成される ここで、Diagramの構成法としては、先に見た「並列合成」と「直列合成」の二つをとります。 ただ、この二つだけだと、実際の回路を構成するのには、ちょっと不便なことがあります。例えば、ある回路の出力を離れた回路の入力につなぎたい時、その線がほかの線とクロスすることが起こりえます。 そこで、回路上で隣りあう線Aと線Bがクロスする合成を認めることにします。これをA, Bの「Swap」と呼びます。Swapを繰り返し行えば(Swapの「直列合成」)どんな線同士のクロスも表現できます。(どんな順列も、元の並びからの互換の繰り返しで到達できます) こうして、次のように「回路」を定義します。   複雑な回路のDiagramは、単純な回路の   Diagramから「並列合成」と「直列合成」   と「Swap」から構成される 【「回路」の特徴 】 こうした定義で合成された「回路」は、ひとつの特徴を持っています。それは、内部に、「ループ」を含まないことです。 この節で対象とする「量子回路」もループを含みません。これから「量子回路」をDiagramとして見ていくのですが、その「回路」の定義として、先の定義は役に立ちます。 (一般の電子回路では、フィードバックでループを含むものは珍しくありません。先の「回路」の定義は、一般の電子回路には当てはまらないことに注意してください。) ショートムービー「Diagramと回路」を公開しました。 https://youtu.be/Ht-A2CATtdE?list=PLQIrJ0f9gMcPSp_

単純なものから複雑なものを構成する

【 単純なものから複雑なものを構成する 】 これまでのことを、少しまとめてみましょう。   Diagram = Box + Wire ここでBoxは、あるものがほかのものに変化する「プロセス」を表現しています。   Diagramは、プロセスとしてものごとをとらえる手段 本当でしょうか? 箱と線からなる図形だけで、ものごとの変化の特徴を捉えるのに、なにか役に立つのでしょうか? String Diagram ではこう考えます。   複雑なDiagramは、単純なDiagramから合成される これは、実は、次のもっと一般的な考え方の応用です。   複雑なものは、単純なものから構成される これを、「構成可能性 = composability の原理」といいます。 【 単純なものから複雑なものをつくる二つの方法 】 String Diagram = プロセスの理論 では、単純なプロセスから複雑なプロセスをつくるには、二つの方法があると言います。 1. 二つのプロセス A,  B を、独立に、並行に走らせる。(この独立に走る二つのプロセス全体を「一つのプロセス」としてとらえかえすことがポイントです) 2. 一つのプロセスAの出力を、もう一つのプロセスBの入力に結合する。(ここでも、結合された二つのプロセス全体を「一つのプロセス」としてとらえかえすことがポイントになります) 前者をプロセス A, Bの「並列合成」といって、A ⊗ B で表します。 後者をプロセス A, Bの「直列合成」といって、B ○ A で表します。 【 図形で表すことのメリット 】 ここで導入した記号 ⊗ や ○ を用いると、プロセス A, B, C について、式で書くと次のような関係(結合律)が成り立ちます。  A ⊗ B ⊗ C = (A ⊗ B) ⊗ C = A ⊗ (B ⊗ C)  A ○ B ○ C = (A ○ B) ○ C = A ○ (B ○ C) 式で書くと複雑に見えますが、これを図形で表すと、この関係がなりたつことが、すぐに直感的に理解できます。これが、図形を使うことのメリットです。詳しくは、ショートムービーで。 ショートムービー「Diagramの合成」を公開しました。 https://youtu.be/4G7S5f8Xocg?list=PLQIrJ0f9gMcPSp_fL7-LZW0y

同じ「図形」と同じ「プロセス」

【 同じ「図形」と同じ「プロセス」】 Diagramの基本は簡単なもので、箱を線でつないだものであるということは、前回述べました。   Diagram = Box + Wire  です。 そして、箱は、ある線で表されるものを、他の線で表されるものに変化させる「過程」を表しています。String  Diagram は、変化の「過程」を表現する手法です。  【 同じ「図形」】 今回は、どんな時に二つの「図形」が等しいといえるかを考えてみます。 それも簡単です。 箱を線で結んだ二つの図形があったとします。二つの図形を比べた時、同じ名前の箱が同じ名前の線で結ばれていれば、二つの図形は同じだと考えます。 箱がみかけ上遠く離れていても近くにあっても、同じ線でつながっていれば同じ図形です。また、線がまっすぐでも曲がっていても他の線とクロスしていても、同じ箱につながっていれば、同じ図形です。 Diagramにとって大事なことは、   何が何とつながっているか ということだけです。  【 同じ「プロセス」】 二つの図形が同じかそうでないかは、たいていは直感的に判断できます。 ただ、プロセスを表現するものとして図形を見た時、明らかに図形としては異なる図形が、同じプロセスを表現することがあります。 たとえば、数字を受け取ってその符号を反転させるプロセスを箱Aで表すことにしましょう。箱Aは、例えば、2を受け取れば −2を返し、−2を受け取れば2を返します。この時、二つのAを直列につないだ図形Bを考えます。 Bは、2を受け取れば2を返しますので、何もしないのと同じです。何もしないのは、図形としては、箱のないただの線としても表現できます。 このように、同じプロセスが(この場合は「何もしない」というプロセスでしたが)、異なる図形で表されることがあります。 プロセスの等しさは、図形の等しさとは違う概念です。もちろん、同じ図形は同じプロセスを表します。 ショートムービー「Diagramの「等式」」を公開しました。 https://youtu.be/0V8oBmsuytk?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb スライドのpdfは、こちらからアクセスできます。御利用ください。 https://drive.google.com/file/d/1_htGFx3ny1

String Diagramの基本はやさしいものです

【 String Diagramの基本は、とてもやさしいものです!】 String Diagramの基本は、とてもやさしいものです。   Diagram = Box + Wire Box(箱)をWire(線)で結んだものがDiagramです。  箱が「プログラム」を表しているとすると、プログラムの入力と出力は線で表すことができます。箱に入っていく線が「入力」、箱から出ていく線が「出力」を表すと考えればいいのです。  Diagramが表現できるのは、プログラムだけではありません。 箱が「クッキング」を表しているとすると、この箱に入っていく線は「料理の材料」、箱から出ていく線は、完成した「料理」を表すことになります。 このように、String Diagramでは、Box(箱)は、あるものを他のものに変える「Process(過程)」を表していると考えます。 この世界は、常に変化・変転の過程を繰り返しています。そうした「プロセス」を表現するのが  String Diagram だと思っていいと思います。 ショートムービー「Diagram = Box + Wire」を公開しました。 https://youtu.be/j8bvaYQGqOA?list=PLQIrJ0f9gMcPSp_fL7-LZW0yOwYXyvXtb 具体的なDiagramの例をいくつか紹介しています。 「String Diagramの基本はやさしいものです」ということ、分かってもらえるとおもいます。是非、ご覧ください。 スライドのpdfは、こちらからアクセスできます。御利用ください。 https://drive.google.com/file/d/1a7zlSS4UkpETtVh2kqOXKJ4Cwsuihbiy/view?usp=sharing

The Universe in Verse

【 "The Universe in Verse" 】 "The Universe in Verse" は、マリア・パポーヴァがだいぶ前(2017年)から手掛けているプロジェクトだ。日本語にすると「詩の中の宇宙」になるのだが、こう訳すと、 "Universe"の中に"Verse"があることの面白さが消えてしまうのが残念だ。宇宙の中に詩があるのだ。 "The Universe in Verse" は、科学と自然を芸術で讃えようという、詩人、アーティスト、科学者がコラボするアートイベントだ。 2022年の"The Universe in Verse" のPart I "Bloom" が公開されている。 https://www.themarginalian.org/?mc_cid=54ed1bd798&mc_eid=f80b559678 題して、「 花 : エミリー・ディキンスンの詩に基く、生命の進化とエコロジーの誕生」。語り手はマリア・パポーヴァ。ビデオの後半の、花のアニメーションとJoan As Police  Woman の歌がいい雰囲気を出している。 https://vimeo.com/673019873 科学と自然と芸術の接点という視点は、日本ではあまり見かけないものだ。僕は、パポーヴァのこうした感性が気に入っている。 雑感: Joan As Police  Woman を知らなかったのだが、いい歌手だ。多分、バイオリンも彼女だと思う。でも、名前が .... と思ったので、彼女のWikiを調べることに。そういえば、Stingだって、Police だったじゃないか。 "The Universe in Verse"と"The Metaverse in Verse" を比較してみるといいと思う。

String Diagram とは何か?

【 String Diagram とは何か? 】 2月のマルゼミは、今後、継続的に開催される「カテゴリー論入門」シリーズの第一回目として開催されます。詳しくは、「「カテゴリー論入門」セミナーについて」 https://www.marulabo.net/category-theory/   を参照ください。 2月のセミナーでは、String Diagramについて学びます。具体的には、Bob Coeckeの “Picturing Quantum Processes”に依拠して、量子過程を図解する手法としてのString Diagramを学びます。 String Diagramは、直観では理解しにくい(むしろ直観に反した)量子過程の諸特徴を、数式を使わずに 「図式 Diagram」を使って、直観的に理解することを可能にする新しい方法です。それは、図式を使うことにはとどまらず、従来のアプローチにはない優れた特徴を持っています。  【「状態」と「過程」】 フォン・ノイマンによって定式化された従来のアプローチでは、量子の「状態」をヒルベルト空間上のベクトルとして捉えます。また「観測可能量」は、ヒルベルト空間上のエルミート演算子に対応し、実際に観測される「状態」の確率は、ボルンのルールで与えられます。それに対して、String Diagramでは、全てのものが統一的に「過程 process」として捉えられます。  【「重ね合わせ」と「エンタングルメント」】 従来の定式化は、量子論の主要な特徴を「状態」の「重ね合わせ」と「観測」の「確率解釈」として捉えます。ただ、それは、「エンタングルメント」のような量子過程に、直接フォーカスしているわけではありません。String Diagramは、エンタングルメントのような「不可分離性 non-separability」を量子論の特徴として捉えようとします。  【「量子過程」と「情報過程」】 従来のアプローチでは、量子過程の情報的側面には、ほとんど関心が向けられていませんでした。String Diagramでは、量子テレポーテーション、エンタングルメント・スワップメント等の量子過程の情報的側面に大きな関心が寄せられています。  【「数式」と「図式」】 「数式」の方が「図式」より、正確で情報量が多いというのは、ある種の思い込みです。String

「カテゴリー論入門 」シリーズを2月のマルゼミから始めます

【「カテゴリー論入門 」シリーズを2月のマルゼミから始めます 】 「カテゴリー論入門」の連続セミナーを、2月のマルゼミから始めたいと思っています。 「カテゴリー論入門」の連続セミナーは、次のような構成を考えています。  ● 第一回:String Diagramを学ぶ  「量子過程を図解する String Diagram 入門」  ● 第二回:String Diagramの数学的基礎  「String DiagramとSymmetric Monoidal Category」  ● 第三回:カテゴリー論の応用の射程  「A Rosetta Stone」  ● 第四回:数学の基礎とカテゴリー論  「Homotopy Type Theory」  【 第一回目の2月のセミナーでは、String Diagramについて学びます 】 「カテゴリー論入門 」第一回目の2月のマルゼミでは、String Diagramについて学びます。具体的には、Bob Coeckeの “Picturing Quantum Processes”に依拠して、量子過程を図解する手法としてのString Diagramを学びます。 総論として、最初のショートムービー「String diagram とは何か」を是非ご覧ください。 https://youtu.be/aOaNoivjssA?list=PLQIrJ0f9gMcPrrzNKuZT6TX7YLUhHG_7K この資料の前半は、以前に(2019年9月)に公開したショートムービーと、基本的に同じものです。一番大きな違いは、前回のムービーが「無声映画」だったのに対して「トーキー」化されていることです。また、後半から、新しいコンテンツが追加され、セミナーとしてまとめられます。 2月のセミナーのまとめページは、 https://www.marulabo.net/docs/category01 をご利用ください。 2月のセミナーのショートムービーは、再生リスト 「String Diagram入門 (talkie)」からアクセスできます。 https://www.youtube.com/playlist?list=PLQIrJ0f9gMcPrrzNKuZT6TX7YLUhHG_7K

カテゴリー論を学ぶためのテキスト 紹介

イメージ
【 カテゴリー論を学ぶためのテキスト紹介 】 2月のセミナー「カテゴリー論入門」というテーマでやりたいと思っています。 かつて、カテゴリー論は、抽象的でとっつきにく、何の役にたつかもわかりにくかったため、"general abstract nonsense" = 「一般化しすぎで、抽象的過ぎて、現実には何の役にもたたず無意味なもの」と多くの人に受け止められていました。 ただ、現代では、様相が変わっています。 21世紀になって、カテゴリー論を数学の内部にとどまらず、さまざまな分野、例えば、物理学、論理学、コンピュータ・サイエンス、ネットワーク論、化学反応論 ... 等々に応用しようという「応用カテゴリー論("Applied Category Theory" =  ACT)」と言われる動きが活発になります。 こうした動きの代表的な論文は、John BaezとMike Stay の”Physics, Topology, Logic and Computation:"A Rosetta Stone”  https://math.ucr.edu/home/baez/rosetta.pdf です。 ですので、今、カテゴリー論を学ぼうとするのなら、この応用カテゴリー論が何を目指し、どのような研究をしているのを知ることから入るのが、一番いいと僕は考えています。 いくつか、入門用のおすすめのテキストを紹介しておこうと思います。 ひとつは、Tai-Danae Bradleyの "What is applied category theory?"  です。 https://arxiv.org/pdf/1809.05923.pdf 彼女については、だいぶ前のマルレク「人工知能と意味の形式的理論」   https://www.marulabo.net/docs/semantics/ で、DiscoCatのメンバーとして紹介したことがあります。 彼女のホームページ、 https://www.math3ma.com/ も必見です。とてもわかりやすく、カテゴリー論の基本概念がまとめられています。 二つ目のおすすめのテキストは、Brendan Fong と David I. Spivak の "Seven Sket