温度

https://togetter.com/li/1343491

からもう早一月半。

今更温度ネタを書くのは旬を逃しすぎている感がありますが、 温度についてつらつら書きます。要約すると「温度は面倒」「理想気体をやめろ」の二言。

(6/18:微調整)

温度n倍事件

 これについては、温度は示強変数だぜ! で終わる話でもあるんですが、本当に「温度n倍」がだめなのか、だめなのはなぜなのかという話になると途端に面倒になります。

 世にはいろんなパラメータがあります。物理量でも他でもなんでも構いません。適当な指標を浮かべてください。で、とりあえずそれらは適当な数値の環が係数として作用できるような数値ということにします。

 この作用であるn倍は意味を持つでしょうか?

 例えば、エネルギーn倍は意味を持つでしょうか? 正整数であれば、エネルギーEを持っている系をn個用意したときのエネルギー、と言い張れる気がしますね? では分数だったら?実数だったら?n個の系を用意したらそれらが相互作用してしまったら? 一般にはn倍のエネルギーを持つ系をすぐに用意できるかわからないですね。

 例えば、情報量だったら?情報量n倍は意味を持ちますか? これも例えばある情報源の複雑さがIなら、その系の情報を記述するのに平均Iビット必要なわけです。その系を独立にn個あつめて1セットとして、その記述に必要なビット数といえばnIビットだと、言い張れますね。では分数だったら? 実数だったら? n個集めたら実はこれらが独立じゃなかったりしたら? やはりわからなくなりますね。

 それでは、電場や磁場はどうでしょうか。これは(少なくとも日常的スケールでは)意味があります。 電気工学などの初歩ででてくる「重ね合わせの原理」というのが、電場磁場の \mathbb{R}moduleとしての性質に他ならないからです。 実際これを使って場の方程式や回路方程式をうまく解くというテクニックが成り立ちます。

 では温度は?これはもう散々言われていますが「一般には」意味がありません。

 以上の例はもちろん「意味をもつ」というときの意味がどういう意味なのかが開かれているので、きちんと固定した議論はできていません。

 まずそもそも「n倍が意味を持つ」というのはどういうことか。概ね以上の直観からすると、

ある系が与えられ、その系にその量が定義されたとき、その量のn倍をもつ系を、「決まりきった自然なやり方」で構成できるか

という言い方になるでしょう。実際、古典力学系や熱力学系のエネルギーや、電場磁場はこうしたことが可能に見えます。 その系をn個複製して用意するとか、境界条件をすべてn倍する、といった操作で実現できるからです。

従って一方「n倍に意味がない」ということは、

その系のn倍をもつ系を考えることが、「決まりきった自然なやり方」ではできない

ということです。

 (例えばエネルギーなどであれば、物理系やその境界条件の数学的集合がなんらかの「加法」(直和とか直積とか)をもっていて、物理量がそれに対して加法的である、という性質をもって、n倍は意味をもつ、という言い方は比較的「自然」ですが、一般に熱力学系を用意したときに、n倍の絶対温度をもつ状態を作るには、とりあえずエネルギーを注入して温度を上げてみる他ありません)

 もちろん、そう言ったところで、決まりきった自然なやり方の程度をどう評価するか、という問題に後退しただけで 根本的に曖昧さが解決しているわけではありません。このあたりは数理的センスをバトらせる以外に合意に到達する方法はないでしょう。

 それでもセルシウス度のn倍が、この意味で「意味がない」と多くの人がみなすということは、 やはりそこに大勢の人が感じる不自然さがあるからです。10℃を100倍すると1000℃になる。これはすごい温度だ。 しかしそれより20℃低いだけの-10℃を100倍すると-1000℃、そんなものはないぞ、なんじゃそら、というわけです。

 ではそれに比べてケルビン温度は「意味がある」のでしょうか? ケルビン度はセルシウス℃から273度足したものです。ただ原点をずらしただけです。 ケルビン度のn倍は「意味がある」のでしょうか?

 そこで再び「意味がある」「意味がない」に意見が別れます。 「意味がない」派は、最初に述べたように、「示強変数だから、「一般には」意味がない」と言うでしょう。 「意味がある」派は、例えば理想気体のエネルギー関係式を例にだして、「理想気体換算で、温度n倍はエネルギーn倍にあたる」 という例を持ち出すことができるでしょう。

 これはどちらもそれなりに正しいです。しかし後者に対してまだ次のように突っ込むことができます。

 理想気体は仮想的なモデルで、厳密には存在しない。だからやはり「一般には」意味がない

 これに対して「温度からエネルギーへの単調な換算自体は、適当な物体を持ってこれば できるのだから良いではないか」とさらに反論もできるでしょう。もちろんそのとおりです。 そして「単調にエネルギーへと換算できる」なら、セルシウス度だってできます。 「理想気体が存在しなくても、線形な換算式としては意味を持つ」という見方もできるでしょう。 そしてやはり、「ただの換算式でよいなら、理想気体を媒介する意味がない」と言い返せます。

 僕としては「意味がない」派ですが、無いことを示すのは難しいのです。特に「意味」が開かれているので、 その隙間に適当な「意味がありそう」なモデルをつくって差し込まれれば、無限に議論をぶり返すことができます。

 やはり戦争をやめるためには「示強変数だから」で済ませるべきでしょう。シンプルで有無を言わせぬところがあります。

理想気体絶対温度

 さて、理想気体は、大学以前の物理=高校物理で唯一触れられ、また物理や熱力学を専門としない場合において、 大勢の人が唯一その厳密な関係式群を覚えている熱力学系と言ってよいでしょう。 熱力学の課程では、その早い段階で理想気体が取り上げられます。

理想気体とはこのような系でした。

 PV= NRT

 U = NRT \frac{k}{2}

紛らわしいですがkはボルツマン係数ではなくて、自由度とします。 つまり、圧力と体積が等温反比例関係にあり、エネルギーと温度が比例するような系です。

 熱力学系の関係式群を実験的に検証するときには、様々なP,V,N,T,Uなどの条件で計測をして 仮説と値を比較することでなされます。P,V,N,Uは力学量ですから計測する手段がありますが、 温度Tの計測には温度計が要ります。この温度は、もちろんケルビン度、絶対温度です。

 ところで絶対温度はどのように測るのでしょうか。明らかに温度と力学量を換算してくれる何かが必要です。 そこで、理想気体それ自体を温度計として使えることがわかります。あなたが理想気体を持っているなら、 その圧力を固定し、膨張体積を関係式で換算することで温度を測ることができます。

ん...?

 まってください。なにかおかしいですね? 理想気体を持っているなら? ある熱力学系理想気体であることはどのように確認すればいいでしょうか? そもそも厳密な意味での理想気体は存在しません。理想化された近似的モデルだから理想なのです。 あなたが一つも理想気体を持っていないなら、どうやってそれを絶対温度計として使えばいいのでしょうか? (細かいことをいうと、近似的にでも理想気体のように振る舞う系があったからこそ、 理想気体の関係式が発見されたので、実験科学としては別にヤバイことではありません)

 これは(経験による成立過程を無視すれば)循環論法に見えます。 熱力学の教科書を見ると、まず理想気体というものが導入されます。それは絶対温度Tを参照しています。 しかし、絶対温度Tの定義は、理想気体の関係式におけるTのように振る舞うもの、となっているように見えます。 定義が循環してしまいました。どうしたことでしょう。 これでは、「どうも温度Tというものがあるらしい」「そのTを使った気体のモデルがあるらしい」ということしかわかりません。

 実はこれはエントロピーカルノーサイクルによる論法が確立する前段階としては、正しい状況なのです。 多くの教科書において、温度Tというものは、経験的にその存在が仮定されます。つまり、なんかそういう物があるよね、ということにされます。 そして多くの人はこのことを疑問には思いません。なぜなら、我々は日常的に温度に慣れ親しんでいるからです。 日常的に慣れ親しんでいる、という程度でいえば、あらゆる物理量の中でもトップクラスに慣れ親しんでいると言って良いでしょう。 それは熱力学の黎明期の学者にとってもそうだったでしょう。とにかく、正確な定義はわからんけど、温度というものがあって、これは便利なんだ、と。

 しかし熱力学の面白いところは、この絶対温度というものに普遍的な地位を与えられる点にこそあります。しかもその定式化には理想気体を必要としません。

カルノー定理とエントロピー

 さて、実は温度自体の定義はちゃんとできるのですが、そこに到達するルートが、よく知られているもので2つあります。 それは熱力学の理論をどのように展開するか、という流儀によります。

 熱力学はある意味で「枯れた」理論です。枯れたというのは悪い意味ではなくて、 その体系がよく完成されていて普遍性があるという意味です。

 しかし完成された理論であっても、 それをどのように展開するか、というのはまちまちで、なかなか奥が深いところがあります。 理論を定理の集合と思った時に、それをすべて証明できる公理のとり方や、 その実際の示し方には多様性があるのに似ています。逆数学みたいですね。

さて、さる1999年E.Lieb J.Yngvasonによって、エントロピーの操作的公理付けというのが試みられました。

arxiv.org

これによって、

エントロピー、めっちゃ直感的じゃん!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

という喜びの声が各地から聞こえるようになったと言われています(要出典) この煽りをうけて、それぞれ最前線で活躍されている日本の研究者の方々によって、伝統的な記述から一線を画したCoolな教科書が何冊か書かれました。

  1. 熱力学―現代的な視点から (新物理学シリーズ)

    熱力学―現代的な視点から (新物理学シリーズ)

  2. 熱力学入門

    熱力学入門

  3. 熱力学の基礎

    熱力学の基礎

  4. エントロピーからはじめる熱力学 (放送大学教材)

    エントロピーからはじめる熱力学 (放送大学教材)

 これらが母国語で読める喜びを噛み締めましょう。  このうち、2は1に似ていて、4は3に似ています。LYの影響下とはいえ、実は1,2はエントロピーを最初に導入はしておらず、 どちらかというと経験的温度を認めて絶対温度エントロピーに至る伝統的な熱力学を、操作的観点からリファインした内容です。 3,4はエントロピーから初めていますが、残念ながらLYのエントロピーの構成自体は陽に扱っていません。 エントロピーの公理からの構成はLYの早い段階で登場し、これだけなら簡単な解析の予備知識だけで理解できるものなので、是非LYの元ネタ論文を眺めてみてください。

 なぜエントロピーの公理付けをここで紹介したかというと、実は絶対温度の定義はエントロピー概念を認めれば一瞬で終わるからです。

T^{-1} = \frac{\partial S}{\partial U}

 そして温度だけでなく、各種熱力学関数やそれらのあいだのルジャンドル変換も、エントロピーに付帯するいくつかの性質を仮定することで ほぼすべて動機づけることができます。このあたりの話は前にノートにまとめたので

http://www.asahi-net.or.jp/~fu5k-mths/pdf/abst_thermo.pdf

興味のある向きは読んでみてください。 多分↑の3.4にも似たことが書いてあります。

 なぜ温度はエントロピー導関数(の逆数)となるのか、 あるいは、なぜそのような定義が有用なのか、については、 エントロピーを第一義とする定式化からは、エントロピーは、断熱操作可能性関係を反映する加法的関数とされるから、 そして、平衡という操作が常に可能だから、と説明することができます。

 エントロピーは熱平衡によって最大化されます。つまり、 複数の系を並べて、エネルギーを保存的に交換できるようにしたとき、エントロピーは最大値をとる。 そのときの系の状態は、エントロピー導関数が等しい、すなわち温度が等しい、という条件から求められます。 すなわち、エントロピー導関数は、平衡の必要条件を記述するが故に重要であり、また定義に値するのです。

 僕個人はこのエントロピーからスタートする熱力学をとても気に入っているので、 正直これで終わりにしたいところなのですが、もうちょっと話を続けます。

 確かにこれで熱力学はきれいに展開できます。 しかし、数で言えば、エントロピーを最初に動機付けてしまう流儀はまだ少数派で、 歴史的経緯に則った、経験温度とカルノーサイクルからエントロピーに到達するほうが多数派でしょう。

 この二つの流儀はもちろん矛盾しません。どちらからはじめても熱力学は展開できます。ただ単に伝統的議論の方が、面倒でわかりにくいというだけです。

 なぜわかりにくいのか? もちろん、熱機関の思考実験がテクニカルという側面はありますが、 僕の私見としては、一見自然で導入的な絶対温度理想気体の経験的直感が、むしろ本筋を見えにくくしているのではないか、と疑っています。 理想気体はほとんどの教科書の早い段階で扱われますが、実のところ熱力学の定式化とっては、伝統的なスタイルですらなんの役割も果たさないからです。

経験温度→カルノー定理→エントロピー without 理想気体

この話(=経験温度と熱機関による定式化)は上の1.2を熟読するのがベストなのですが、ここでその概要(の1変種)を、理想気体抜きで述べたいと思います。

 歴史的にも、またこのルートの定式化にとっては本質的にも、カルノー定理は、 極めて重要な意味を持っています。なぜなら、この定理こそが、絶対温度の定義自体を可能にしているからです。

ja.wikipedia.org

最近はWikipediaの記述も適切で、わざわざブログにする意味がないね

 カルノー定理の主張は、「2熱源間の熱機関の最大効率は、熱源の温度だけできまる」ですが、この「温度」を絶対温度だとも言っていないというのが重要です。カルノー定理の真の威力を理解するには、我々が仮定する経験的温度とはそもそも何なのかというのを明らかにする必要があります。

 伝統的な定式化において、経験的な温度を認めるというとき、我々は一体何を仮定しているのでしょうか? あきらかに、ここで「何を仮定しているか」において、温度それ自体の値を参照しては循環論法になってしまいます。 したがって、温度を使って我々が経験的にできることを、外周から見てやる必要があります。

 まず、異なる物体を接触させると、エネルギーが移動し、あるところで移動をしなくなります。 こうして接触でエネルギーが移動しなくなったもの同士を再び接触させても移動しません。 すなわち、複数の熱力学系をエネルギーが交換できる状況においたとき、 非自明なエネルギーの移動が起きないもの、というのは同値関係をなします。

 この同値関係のラベルを我々は温度と呼びます。 この温度というラベルは、仮に異なったとしても、どちらか一方にエネルギーを供給することで、揃えることができます。 つまり、それ以外の変数状態が同じであれば、系のエネルギーの順序を反映した順序をもつとみなすことができます。

 これが経験的な温度のすべてです。つまり、数値ですらありません。 エネルギーの順序を反映しているのでエネルギーでいいような気もしますが、エネルギーは示量的な一方、温度は示強的ですから、 エネルギーともまた異質なものです。

 この経験的な温度とはそもそも数値ですら無いことは十分に強調すべきです。実際、伝統的な熱力学のわかりにくいところは、経験温度を、数値換算した上で導入してしまっている点にあります。 

 よく考えてみてください、平衡同値関係の商としての温度の存在は認められるでしょう、一体どうやってそれを数値換算したのでしょうか? エネルギーに対して単調かつ示強的ですから、例えばT=a U/Nとでもすればよいのでしょうか? しかしなぜT=a(U/N)^5ではだめなのでしょう? あるいはT=\log(U/N)では? このようにいくらでも「換算」はできますが、この時点ではどれを選ぶ必然性も無いのです。もちろん、温度の数値換算が定まっていないこの段階で理想気体を参照すれば当然循環論法になります。しかし、カルノー定理を使えば、温度に必然性のある値を割り当てることができます。

 以下、この平衡同値関係商としての経験温度を、便宜的に抽象温度と呼ぶことにしましょう。

 さて今の所、温度とは、単なるラベルに過ぎないとわかりました。しかしこの状態であっても、カルノー定理は成り立つのでした。

すなわち、 X_0,X_1 ,Y_1,Y_0なるカルノーサイクルで、X_0,X_1が抽象温度tY_0,Y_1が抽象温度sの等温過程であり、他が断熱準静であるとしましょう。 カルノー定理は次を主張します。等温過程の最大吸熱量をQとしたとき、

\frac{Q(s,Y_0,Y_1)}{Q(t,X_0,X_1)}は、この物質の組成および X_0,X_1 ,Y_1,Y_0にも依存しないs,tだけの関数f(s,t)である。

これは極めて普遍的、かつ温度の定義について本質的な主張です。 tを固定して抽象温度sの「数値表現」g(s)

g(s)=f(s,t)

としてみましょう。こうすることで、温度を数値に換算することができます。f(s,t)カルノー関数とよばれ、 物質の組成にもサイクルの端点にもよらず、しかも熱機関の最大効率(これは吸熱比で決まります)という操作的意味まであります。

 温度が普遍的な数値表現をもつことによって、個々の系にたいしてより詳しい解析ができるようになります。任意の熱力学系Xをとったとしましょう。 すでにXの状態には抽象温度はついていますが、これをさらに上の数値表現を通すことで、温度関数T(U,V)=g(s)=f(s,t)が得られます。ここで、(U,V)の抽象温度をsとします。 ところで、熱力学第一法則は、微分形式で書くことができました。それは、準静過程をとったときの、吸熱量を

Q = dU + pdV

と書くものでした。ここで、系Xのカルノーサイクルを考えます。カルノーサイクルにおける断熱過程の部分では

dU = - pdV

が常に成り立ちます。従って、線積分

 \int \frac{Q}{T}

は断熱過程の部分ではゼロです。一方で、等温過程の部分では

 \int \frac{Q}{T}=\frac{1}{T}\int Q

です。ところがカルノーの定理から、温度は吸熱量を使って定義したのですから、二つの等温過程でのこの積分は相殺します。結局カルノーサイクル一周で

\int_C \frac{Q}{T} = 0

です。

 この議論をあらゆる細かいカルノーサイクルで行うことで、この系の相空間をカルノーサイクルのなす微小方形で埋め尽くすことを考えます。 もし以上の関数たちがある程度たちのよいもの(可微分性とか)であるなら、ストークスの定理から 任意のカルノーサイクルの囲む相空間の微小面積要素で d(Q/T)の面積分はゼロ、すなわちd(Q/T)=0であり、 相空間の単連結性を仮定すれば、dS= Q/TとなるSが存在します。

 これは温度が熱形式の積分因子であることを意味します。 そしてこの時のSエントロピーに他ならず、 カルノー定理の背景にある操作的仮定がエントロピー原理に翻案され、熱力学が完成します。

 くどいですが、以上の議論にはどこにも理想気体は登場しないことに注意してください。温度が定義でき、そこからエントロピーが定義できることは、 カルノー定理からくる帰結であって、理想気体はその関数の一例を提供するにすぎません。結局理想気体は熱力学の定式化には役に立っていないのです。

 よくある「理想気体絶対温度計の役割がある」というのが不正確であることも以上から了解できるでしょう。先に触れたように、理想気体理想気体温度を定義しただけでは、定義の循環によって、そもそも理想気体であることを確認できず、適当な物質についてT=VP/NRと「宣言」するしかありません。もちろんこれでも(Pを固定すれば)「数値ラベルの」抽象温度計としての役割は果たすでしょうが、数値としてはカルノー定理からくる絶対温度には(近似的にしか)一致しないでしょう。なぜならそもそも理想気体は存在しないからです。そして絶対温度に一致する必要がなく、ただ抽象温度に数値を割り当てたいだけなら、理想気体の関係式を採用する理由がそもそもありません。それならT=(VP/NR)^3と定義してもよいはずですし、そもそも関係式を固定したところで、物質を変えれば数値も変わってしまうでしょう。

 したがって、(伝統的な定式化では)絶対温度に先行してまずカルノー定理があります。カルノー定理が前提とするのは、いくつかの操作的仮定とケルビン原理、そして抽象温度=平衡の同値関係です。カルノー定理によって定義可能となる絶対温度を用いることで、理想気体が循環することなく定義できます。

 熱力学の発展史上、カルノー定理やエントロピー概念への到達がいかにウルトラC級の飛躍だったのかというのを思わせます。すごいですね。

おしまい。

外積代数規格化戦争

 巷では外積代数/微分形式/グラスマン代数が流行っています(局地)

そこで微分形式、というかそのファイバーの外積代数をちょっと思い出すぞムーブメントが発生するわけですが、いろんな本、ないし使用例での外積の定義を見ると、どうも係数が違うぞという気づきがあります。

 これは、ぶっちゃけると、ある種の目的に関しては外積をどう定義しようがどうでも良い側面があるため、各位が思い思いの定義を取ってしまうのです。これにより読者は混乱させられ、疲弊し、そうこうしているうちにあっという間に人生が終わってしまう。

 そのような損耗を避けるために、一体全体どんな流儀がどこで使われ、なんでそんなことになっているのか、という考察をまとめておきます。

 まず外積代数を定義します。有限次元線形空間Vを用意し、これのnテンソルの直和代数としてのテンソル代数を構成します。

T(V)=\oplus_n V^{\otimes n}

そこで\{v\otimes v| v\in V\}が生成するイデアルIによる商代数を \wedge (V) = T(V)/Iとします。これが外積代数です。

 外積代数に\wedgeなる双線形積(外積)を定義しましょう。ここからが問題です。一応商代数として作ったので、現時点でq:T(V)\rightarrow \wedge(V)自然な全射準同型があり、これに整合するような\wedge(V)上の積がすでに一つあるのですが、いくつかの事情によってこれ以外の定義も採用する場合があるのです。ここでは3つの定義を見ます。

 少し準備をします。次のような反対称化作用素を用意します。

 A=\oplus A_n, A_n(v_1\otimes v_2 \dots v_n)= \frac{1}{n!}\sum_{\sigma}\mathrm{sgn}(\sigma) v_{\sigma(1)}\otimes v_{\sigma(2)}\dots v_{\sigma(n)}

 これはちょうどイデアルIを核にもつことがわかります。\wedge(V)の元は、集合論的構成では \phi+Iのような形になっているので、ここにAを作用することで代表元を一つ取り出すことができます。この写像単射です。したがって、\wedge(V)の実体を、商集合ではなくて、\mathrm{Im}(A)と考えてもよいことになります。これは、各項の入れ替えに対して反対称であるような要素の張るT(V)の部分空間と思ってよいです。とくに、外積を定義する際、A_n(v_1\otimes v_2 \dots v_n)のような要素に対してのみ定義し、それを拡張するとしても十分になります。

 では定義を始めましょう。

1. 元のテンソル代数に対して自然なものにする。

 A_n(v_1\otimes v_2 \dots v_n)\wedge A_m(v_{n+1}\otimes v_{n+2} \dots v_{n+m})=A_{n+m}(v_1\otimes v_2 \dots v_{n+m} )

このとき、テンソル代数上では

v_1\wedge v_2 \dots v_n = A_n(v_1\otimes v_2 \dots v_n)

となります。

メリット:

 これは外積代数の構成時の全射準同型にとってはもっとも自然なものです。自然なので検算が容易です。今全射準同型はAにほかならないので、これは\otimes\wedgeをそれぞれの構造射とみたときに代数準同型になるものです。

2. 内積からくるノルムに対して自然なものにする。

 A_n(v_1\otimes v_2 \dots v_n)\wedge A_m(v_{n+1}\otimes v_{n+2} \dots v_{n+m})=\sqrt{\frac{(n+m)!}{n!m!}}A_{n+m}(v_1\otimes v_2 \dots v_{n+m} )

このとき、テンソル代数上では、

v_1\wedge v_2 \dots v_n = \sqrt{n!}A_n(v_1\otimes v_2 \dots v_n)

となります。

メリット:

 もし、V内積が入って居た場合、それについての正規直交基底\{e_i\}_iに対して、

 \{ e_{ i_1 }   \wedge e_{  i_2  } \dots e_{  i_k }  |  i_s  \lt  i_{s+1} \}

は、正規直交になります。すなわち、直交性が成り立つ場合に、単位ベクトルの積が再び単位ベクトルになります。この意味で、内積からくるノルムが重要な役割を果たすとわかっている場合には、この定義が有用になります。

 具体的にはフェルミオンフォック空間はこの積による外積代数をなします。

3. テンソル成分計算に対して自然なものにする。

 A_n(v_1\otimes v_2 \dots v_n)\wedge A_m(v_{n+1}\otimes v_{n+2} \dots v_{n+m})=\frac{(n+m)!}{n!m!}A_{n+m}(v_1\otimes v_2 \dots v_{n+m} )

このとき、テンソル代数上では、

v_1\wedge v_2 \dots v_n = n!A_n(v_1\otimes v_2 \dots v_n)

となります。

メリット:

 もし、あなたが何らかの古典場理論をやっているとして、微分形式で書かれている量を、反対称化されていなくてもよいただのテンソル場に戻して計算する必要に迫られたとしましょう(古典場の理論とか)。

このとき、その微分形式は次のような成分表示をもつはずです。

 F= \sum_{i_1 \lt i_2\dots i_k} f_{i_1,i_2\dots i_k} dx^{i_1}\wedge dx^{i_2}\dots dx^{i_k}

あなたはこれをただのテンソル場として見做したいと思っています。つまり、知りたいのはdx^{i_1}\otimes dx^{i_2}\dots dx^{i_k}の成分です。外積ではなくテンソル積です。ところが

 dx^{i_1}\wedge dx^{i_2}\dots dx^{i_k} = \sum_{\sigma }dx^{i_{\sigma(1)}}\otimes dx^{i_{\sigma(2)}}\dots dx^{i_{\sigma(k)}}

であるので、実はdx^{i_1}\otimes dx^{i_2}\dots dx^{i_k}成分は f_{i_1,i_2\dots i_k}そのものです。つまり、外積代数の反対称性を単に忘れるだけでテンソル成分の正確な計算ができます。

で?どれを選べばいいの?

 どれを選んでも一長一短なので諦めましょう。

Haar測度の構成

この記事は好きな証明AdventCalender 2018の10日目です。

adventar.org

 次の定理があります。

(局所)コンパクト位相群の左(右)移動で不変な測度(Haar測度)は存在します。

 この証明の、おおざっば()な筋書きを、二通り紹介します。 この2つはほとんど同じことをやっており、まったく同じ飛び道具を使って測度をババーンと作ってしまいます。 このババーン部分が無駄にCool(と僕は思った)なので、それをシェアしたいというものです。

1.まずそれは何

 Haar測度が何で、それがあるとなぜうれしいかという話をします。 測度というのは(部分)集合の大きさを測るものです。 集合には論理演算ができて、特に排他的和があります。 集合から正実数の割当てでこの排他的和を和にうつす(可算個でもOKなもの)を測度といいます。 測度の定義域は、ある集合族で、集合の(可算個の)和積補集合で閉じるものです。これを可算加法族といいます。

\Sigma\subset 2^\mathbb{\Omega}

\mu:\Sigma\rightarrow \mathbb{R}

\mu (\sum_i X_i)=\sum_i\mu(X_i) (X_i\cap X_j = \emptyset (i\neq j))

測度論 - Wikipedia

 測度があると、積分ができ、これをルベーグ積分といって、 大抵の場合リーマン積分よりも(収束性や連続性といった)性能が良いです。

 位相群というのは位相情報をもった群で、例えば身近なものでは回転群、並進群、あるいはこの組み合わせ、 物理の人なら、ポアンカレ群、ゲージ群などもそうです。群の演算が全部それがもつ位相について連続なものです。 局所コンパクト=「コンパクトな近傍がある」が条件についていますが、 応用系の人がすぐ思いつく連続位相群はだいたいそうなのであまり気にしなくてよいです。

位相群 - Wikipedia

 位相群上の測度が左不変であるとは、群の可測集合(測度で測れる集合)に対する左作用で、測度の値が変わらないことを指します。 つまり、\mu(gX)=\mu(X)です。gX=\{gx|x\in X\}と略記します。 別に右でもよいのですが、Haar測度と言ったときは慣習上左のことが多いです。

 さて、なぜこれがあると良いのでしょうか? 一つには、(めっちゃ一般化された)フーリエ解析をやりたいのです。 ご存知フーリエ解析は、\exp(ikx)\mathbb{R}上の関数を展開してワーーーッとやります。 ここで「\mathbb{R}は可換な局所コンパクト位相群で、\exp(ikx)はその既約表現である」という事実があります。 じつはこれは一般の位相群に拡張できるのです。つまり一般に位相群の上の関数の情報を、その群の表現の成分で解析できるのです。 そのとき、群上の関数を積分したくなります。すると測度がほしいですが、どんなものが良いでしょうか? 群作用があるので、これに素直に振る舞ってくれるものがよいです。まさにそこにHaar測度が使えるのです。 というわけで、Haar測度は群上の関数解析になくてはならないものです。

2.証明の筋書き:前編

 では、このHaar測度はどうやって作ればいいでしょうか? 実は具体的なリー群とかであれば、 具体的にエイヤッと計算できることが多いです。実際それで間に合ってしまいます。 ところが、特にそういった具体的な情報がなくても、存在は保証されてしまいます。これが今回の定理です。 存在する、ということは(構成的じゃないかもしれないけど)なんらかの測度のつくり方があるわけですが、 一体どうやるんでしょうか?

ここで、文献情報です。この記事は次の2本の証明をベースにします。

[1]https://www.math.uchicago.edu/~may/VIGRE/VIGRE2010/REUPapers/Gleason.pdf

[2]G.B.Folland A course of abstract harmonic analysis

https://www.amazon.co.jp/Abstract-Harmonic-Analysis-Textbooks-Mathematics/dp/1498727131

 証明を眺める前に、この2つの証明はある意味でほとんど同じことをやっているのですが、 これがどういった意味で同じであるかというのを補足します。

まず測度を作る必要があるのですが、局所コンパクトハウスドルフ空間位相群もハウスドルフです)上の ラドン(位相に対して適当に性質が良い)測度と、その上の連続関数環の双対空間が1対1対応するという事実が知られています。 これはRiesz-Markov-Kakutaniの定理と呼ばれています。

リースの表現定理 - Wikipedia

 どういうことでしょうか?めちゃくちゃざっくり言うと、積分と測度はおんなじ」という主張です。 測度があると、積分ができます。積分とはどんな写像でしょうか?それは、その空間の関数を、線形にスカラーに移します。 関数がある程度小さいか、測度がある程度小さいならば、この写像有界になるでしょう。 つまり、測度から、関数空間からの線形汎関数、つまり関数空間の双対空間の元を手に入れられます。 そしてその逆が成り立つ、というのがRMKの主張です。関数空間の双対空間から、測度が手に入ります。

この意味で、測度を議論することと、積分に相当する汎関数を議論することは等価です。 先の2文献の違いは、[1]は前者の、[2]は後者の立場で構成をやっているという点です。それ以外の部分は概ね似通っています。 測度の場合の左不変性は\mu(xX)=\mu(X)ですが、これを積分に翻案すると、 群上関数の左移動を

(L_g f)(x)=f(g^{-1}x)

で、定めると、

\int L_g f(x) d\mu(x)=\int f(g^{-1}x) d\mu(x) = \int f(x) d\mu(gx)= \int f(x) d\mu(x)

なので、左不変な測度を見つけるかわりに、群上関数環の線形汎関数FFL_g=Fであるようなものを見つけても良いです。

まず[1]の構成を眺めてみましょう。 コンパクト集合Vを一つとって、他のコンパクト集合Kに対して(K;V)なる量を次のように定義します。

(K;V)=\inf \{\#I |K\subset \cup_{i\in I} g_iV\}

これはどういう量でしょうか?今群構造を使うことで、Vをいろんな位置に動かすことができます。 Vを左移動させて、これをいくつかつかってKを被覆します。

直感的には次のような感じです。

f:id:phykm:20181211011623j:plain
KをV3つで被覆

図が汚い…お絵かき能力のNASA

Vが内部を持っていれば、Kのコンパクト性からこれは有限個で済みます。この最小の数が(K;V)です。 つまり、直感的にはKV何個分か?」という量です。測度っぽいですね。 実際測度っぽい性質がいくつか成り立ちます。

単調性

K_1 \subset K_2 \Rightarrow (K_1;V)\le (K_2;V)

劣加法性

(K_1\cup K_2 ; V)\le (K_1;V)+(K_2;V)

連鎖律

(K_1;K_3)\le(K_1;K_2)(K_2;K_3)

そして大事ですが左不変性も成り立ちます。Vの移動に左移動を使っているからです。

しかしこの「測度」はVを1単位としているので、めちゃくちゃ粗いです。実際加法性ではなくて、劣加法性です。 ではVをどんどん小さい集合にとっていけばいいかというと、今度は(K;V)の値がどんどん大きくなってしまいます。 そこで、これを相対化した次を考えます。もう一つコンパクト集合K_0を固定して

I_V(K)=(K;V)/(K_0;V)

と定義します。こうしても以上の測度っぽい性質は全部継承されます。 しかも、今度はVを小さくして行けば、分母と分子両方が大きくなって行くので、 I_Vの値自体は大きくならず、どんどん精度がよくなっていきます。 しかし、

 V = \emptyset だとか、

 V = \{ e \} とは置けません。

なんらかの極限を取る必要があります。 その極限はどうやって作ったら良いでしょうか?

ここのネタバラシは次節にして、[2]の構成も見てみましょう。やっていることはとても似ています。 こんどは線形汎関数を作るので、コンパクト集合ではなく、コンパクトサポートな正値関数vを一つ固定します。 これを使って、他のコンパクトサポート正値関数fに対して(f;v)なる量を次のように定義します。

 (f;v) = \inf  \{ \sum _i c_i | f  \le \sum_i c_i L_{g_i} v, c_i > 0 \}

考え方は一緒で、関数であるために値が連続的になりますが、これもfvいくつ分か?」という量です。 まったく同様に、単調性、劣加法性、連鎖律、左不変性が成り立ち、加えて定数倍をそのまま通します。

(cf;v)=c(f;v)

やはりvをどんどん「小さく」、具体的にはvのサポートを小さくすることで、この精度を上げたいのですが、 このままではどんどん大きくなってしまうので、これも相対化します。もう一つコンパクトサポート正値関数f_0を固定して

I_v(f)=(f;v)/(f_0;v)

を定義します。そしてvのサポートをどんどん小さくしていきます。ここでも同様に極限を取る必要があります。

3.証明の筋書き:後編

 では以上のI_V,I_vの「Vを小さくする極限」をどうとったらいいでしょうか? この極限は、「同じ場所」で取りたいので、群単位元の近傍系とします。

ここで道具を2つ用意します。

 ある閉集合族が有限交差性をもつ、とは、それらの有限個の積が空でないことを言います。 Xをコンパクトな空間として、有限交差性を持つその部分閉集合属をFとしましょう。 このとき、\cap F\neq \emptysetであることが次のように示せます。

背理法を使います。\cap F=\emptysetであるとします。このとき\cup_{A\in F}A^c=Xです。 A^cは開集合なので、これは開被覆であり、コンパクト性から、有限個のA_1\dots A_nをとって \cup_{i=1}^n A_i^c=Xとできます。したがって、\cap_{i=1}^n A_i=\emptysetとなりますが、 これは有限交差性に反します。よって、\cap F\neq \emptysetです。

それから、チコノフの定理というものも用意します。これは次のような定理です。

コンパクト空間の直積空間は(何個の積でも!)直積位相でコンパクトである。

チコノフの定理 - Wikipedia

さて、I_V,I_vの極限を取りましょう。実はコンパクト集合K、及びコンパクトサポート関数fを固定すれば、 I_V(K),I_v(f)のとる値は、V,vによらない有界区間に収まることが示せます。これをX_K,X_fとしましょう。

\mathcal{K}をコンパクト集合全体、C_c^+(G)をコンパクトサポート正値関数全体とします。 これを用いて、

\Pi_{K\in \mathcal{K}} X_K

\Pi_{f\in C_c^+(G)} X_f

というめっちゃでっかい直積位相空間を作ります。 これは、今ほしいものが集合族から正実数、ないし関数空間から正実数の関数なので、 それを性質によらずぜーーーんぶ含んでしまう巨大な空間をまず作ってしまおうというものです。 実数の有界区間はコンパクトですから、チコノフの定理から、この巨大な空間も、巨大なのにコンパクトです。

そして、単位元近傍N\in\mathcal{N}ごとに、粗い測度の集合を

\mu(N)=\{I_V| V \in \mathcal{K},V\subset N \}\subset \Pi_{K\in \mathcal{K}} X_K

M(N)=\{I_v| v \in C_c^+(G), \mathrm{supp} v \subset N \}\subset \Pi_{f\in C_c^+(G)} X_f

と、このでっかい空間の部分集合とみなしてしまいます。 \mu(N)は、左不変な「粗い測度」で、分解能がNよりもいいもの全体、 M(N)は、左不変な「粗い線形汎関数」で、分解能がNよりもいいもの全体、 と読むことができます。

そして、極限をとるかわりに、これの直積位相で閉包\overline{\mu(N)},\overline{M(N)}をとります。 閉包と簡単にいいましたが、実質的にその空間の収束列の収束先をすべて含めることなので、 ここで極限をとっていることになります。 つまり、\overline{\mu(N)},\overline{M(N)}には、めっちゃ精度のいい測度/線形汎関数が含まれているはずです。 しかしその精度のよいものをどうやって取り出せばいいでしょうか? このままでは精度の悪いものも一緒に含まれているので、どれを取ればいいのかわかりません。

ここで実は

\cap_{i=1}^n \overline{\mu(N_i)}=\overline{\mu(\cap_{i=1}^n N_i)}

\cap_{i=1}^n \overline{M(N_i)}=\overline{M(\cap_{i=1}^n N_i)}

が成り立ちます。N_iは、単位元の近傍をとることとしました。近傍系は有限交差性をもちました。 このことから\{\overline{\mu(N)}\}_{N\in\mathcal{N}},\{\overline{M(N)} \}_{N\in\mathcal{N}}も有限交差性を持ちます。 なぜなら、近傍の有限個の交差は再び近傍であり、\overline{\mu(-)},\overline{M(-)}は任意の近傍について空でないからです。

すると、直積空間のコンパクト性と、有限交差性から

\cap_{N\in \mathcal{N}} \overline{\mu(N)}

\cap_{N\in \mathcal{N}} \overline{M(N)}

「空でない」ことがわかります。この要素はあらゆるN\in \mathcal{N}よりも細かい分解能を持つ、 めちゃくちゃ精度のよい測度/線形汎関数です。実際、以上の議論をもっときちんとやると、 ここに含まれる要素にはちゃんと加法性\mu(\sum_i X_i)=\sum_i \mu(X_i)が成り立ちます。 つまり、我々の望む測度/汎関数が手に入りました。あとはこれらの定義域を自然に拡張することで、Haar測度が手に入ります。

4.何が面白いのか

 僕は学部で一般位相をやった当初、チコノフ定理のどこがすごいのかまったくわかりませんでした。 しかし解析学をもうちょっと踏み込んでみると、以上のように、コンパクト性がほしいときにすごいパワーを発揮したりします。 コンパクト集合の直積がコンパクト、というとなんでもないようですが、 この直積の数はどれだけ大きくてもよいのです。すごいですね。

 また、以上の作り方は、ほしい要素の素材を、あるデッカイ空間に埋め込んで、そこで極限をとってくる、というやり方をしています。 これってとってもスマートだと思いませんか? 例えばシュワルツの超関数とかも、ある意味では同じようなことをしています。 デルタ関数はある関数の極限として定義されますが、普通の関数空間でやっても特異性がでてきてダメです。 しかし、テスト関数の双対空間でなら、その極限が意味を持ちます。

 あと単純に、I_V,I_vのつくり方がかっこいい。

 以上Haar測度の作り方でした。きちんとした証明が気になる人は、元文献を読んでみてください(そして教えて)

めしレポ

 長きに渡り飯に謎の緊縮政策(意識だけ)をとっていたが、

近年「普通に面白いものを食べて食UXを上げたほうがコスパいいのでは????????????」と転換し、

異次元緩和を発動、学生身分を駆使して昼に飯に乗り出すようになったため、以下レポっす。

 なお飯選びの基準ポイントとして、 「国名・地域名を標榜できるもの」「(可能なら)ランチ営業をしているもの」 を採用しています。これは何故かと言うと、

  • 地域から日本周辺を外すことでUXが上げられる。

  • 流行を考慮しないので混雑を避けられる。行列や予約が不要。

  • ランチは回転率を上げて薄利多売にする傾向があるのでディナーより割安で食べられる。

 検索方法は (国名・地域名) ランチ とかでググるのが最適ですが、 次のようなサイトもあります。

e-food.jp

 見返してみると何故かいまんとこユーラシア周辺から出ていない。

ベトナムサイゴンフォー(新大塚

ビル地下にある。名前の通りフォー。サイドメニュー(生春巻きとか)とのセットがあった。 麺のボリュームがある。アクセス良好。

ベトナム:・チョップスティックス(高円寺)

チョップスティックス 高円寺店
〒166-0002 東京都杉並区高円寺北3-22-8 大一市場
3,000円(平均)1,000円(ランチ平均)

ここもサイドメニューとのセットがある。↑よりパクチーが効いている印象。 飲食店街の一角で、他にも変な店がある。

シンガポール海南鶏飯(水道橋)

チキンライスはつけダレの味が濃いめではっきりしている。揚げ版のチキンライスがあるので、 食事としての充足度はある。土日はランチ関係なく日中同一やっているのでアクセスが楽。 夜一人で言ってチキンライスシュッと食って帰るなども可能。

マレーシア:クアラルンプール(本郷)

クアラルンプール - 本郷三丁目/東南アジア料理(その他) [食べログ]

チキンライスは↑よりもタレの味は弱め。パクテーはスープが黒く漢方の味がして面白い。 スープが黒いのがマレー流、スープが透明なのがシンガポール流らしい。

タイ:ゲウチャイ(新宿)

トムヤムクンを食べた。スープはマイルドでインパクトはそんなにない。 立地がよくてメニューも豊富なので使い勝手はいいかも(一人で夜行っても問題なし)

タイ:ソムオー(新大久保)

ソムオー 新大久保店

食べログ ソムオー 新大久保店

ランチを食べた。安くてメニュー豊富な印象。ランチについてるトムヤムスープは↑よりも刺激が強い。

タイ:タイダイニング(早稲田)

タイ居酒屋 藤田 (【旧店名】タイダイニング) - 早稲田/タイ料理 [食べログ]

ガパオライス的なセット食べた。学生街だからか値段の割にボリュームがすごい。

中華(蘭州ラーメン):火焔山(池袋)

蘭州拉麺店 火焔山 (ランシュウラーメン カエンザン) - 池袋/中華料理 [食べログ]

シシカバブ的な肉を一本から注文できるので気軽にタンパク質を補給できる。麺はちょっと後半飽きるかも。 蘭州麺は牛だしとパクチーの芳香を味わう食べ物ということでいいですか?

中華(蘭州ラーメン):馬子禄(神保町)

馬子禄 牛肉面

食べログ 馬子禄 牛肉面

蘭州ラーメンのみ。↑より完成度は高いと思う。初回時ラー油が入りすぎてて味がわからなくなってたので、 ラー油別皿にしてくれるように頼み、まず素でスープを飲むのを推奨。 もとのスープの油分が少ないのでラー油の効きが強い。

ロシア:海燕(春日)

海燕 (カイエン) - 春日/ロシア料理 [食べログ]

ビーフストロガノフは酸味があってやや軽め。洋食ナイズされている気もする。 ロシアンティーのジャムがちゃんと別皿で出てくる。店内は狭いが綺麗で居心地が良い。 ピロシキも食べられる。

ロシア:ろしあ亭(神保町)

ろしあ亭 (ロシアテイ) - 神保町/ロシア料理 [食べログ]

ボルシチとつぼ焼きクリームはここが自分の中のスタンダード。うまい。 ボルシチは甘く(トマトが主張しすぎてない)、つぼ焼きは濃厚(カロリー濃度高そう)。 ディナーも一度行ったが前菜がうまくてよかった。 繁忙期にLOギリギリに行くと入れないことがあるので注意。

ロシア:サラファン(神保町)

サラファン

食べログ サラファン

丁寧な接客、というより店が地階で狭いので客の動線をコントロールしないと厳しい。 つぼ焼きを食べたが、チキンが多く入っていてクリームが負けており、個人的にはろしあ亭のほうが好み。

ロシア:スンガリー(新宿三丁目

格調高め。値段も高め。何食ったか忘れた…確かつぼ焼き。 ロシアンティーのジャムが多種類出てきて面白い。 場所が超絶わかりにくい。ディナー用の別店舗があるらしい。

ロシア:チャイカ高田馬場

チャイカ

食べログ チャイカ

ビーツが後乗せで入っているものの、ボルシチがほぼトマトベースになっている。 ただし濃厚なので食事としては充足度高い。ランチ営業長め+アクセス良好。 メインが何かしらのソテーだったりで洋食ナイズされているが、普通の食事としてはおすすめ。

ロシア(グルジア):カフェロシア(吉祥寺)

Cafe RUSSIA 吉祥寺

食べログ Cafe RUSSIA 吉祥寺

カフェ飯と油断していたところ大皿になみなみと注がれたボルシチがでてきた。 ビーツがガッツリ入っていてきちんと赤い。ちょっと肉の出汁が弱いかも。 つぼ焼きクリームもちゃんとクリームしていた。 「毛皮のコートを着たニシン」(ハッシュドポテトとビーツの間にニシン漬けを敷いたもの)も食える。 なにげにランチ営業がかなり長い。都心からやや遠いが穴場。

クルディスタンメソポタミア(十条)

クルド家庭料理 手芸カフェ メソポタミア - 十条/西アジア料理(その他) [食べログ]

地域一帯定番のシシカバブは大型の焼き鳥っぽい味。味もちょうどいい。 羊飼いサラダ(生野菜と角切りトマトを和えた奴)は他店の相当品よりも食べやすく感じた。 唐辛子、ラー油を多用しているように見えるが、種は除いてあるのかそれほど辛くはない。 ヨーグルトとナスを和えた不思議な冷製スープ(ほぼ半固形)があり、不思議な味。

ブルガリア:トロヤン(銀座)

ランチビュッフェ。ヨーグルトが多用されている。↑とはまた違うヨーグルトスープ(こんどはちゃんと液体)がある。 羊飼いサラダに似たトマト角切り生野菜サラダがあるが、チーズがかかっている。乳製品プッシュ。 ヨーグルトとチーズの中間みたいなやつがポテサラの地位にある。ムサカなるひき肉オーブンを食べたが、 肉の味がトルコのイスケンデルに似ている。で、やはりヨーグルトソースがかかっている。 メゼはなかった。コスパは良い。

トルコ:ヒサル(大久保)

トルコ料理レストラン ヒサル

食べログ トルコ料理レストラン ヒサル

ランチと夕食一回ずつ。駅からアクセスもよく、コスパもいい。 フムスもある。白濁するアニス酒のラクも飲める。メゼは食べてない。 イスケンデルはちょっと味がくどいかも。

トルコ:ボスボラスハサン(新宿二丁目

ボスボラス ハサン 新宿二丁目店 (BOSPHORUS HASAN) - 新宿三丁目/トルコ料理 [食べログ]

夕食。↑よりもちょっと格調高い雰囲気。でも高くはない。 ラム肉がうまかった。肉料理の肉の味付けが結構濃い気がする。ラクもある。 塩味のアイラン(飲む塩ヨーグルト)があり、確かに味の濃い料理と合う。塩分過多なりそう。 メゼ・ペースト系も満足できる味とボリューム。 トルコ料理いろんなメゼをパンでいじりながら酒を飲んでればだいたい完成しそう(偏見)。

イラン:アラジン(六本木)

アラジン - 六本木/西アジア料理(その他) [食べログ]

ランチビュッフェをやっているのでたくさん食べられるが、なかなか料理の癖が強い。 行ったときは日本人がほとんど居なかった。

シリア:ゼノビア(広尾)

ランチを食べた。前菜のサラダだけはちょっと味がキツく、好き嫌いが分かれそう。 それ以外はだいたい食べやすくボリュームもある。 個人的にランチプレートについてるオリーブと野菜の和え物がうまくてすき。 限定10食と書いてあるがランチ終了ギリギリに行っても割とまだ頼めたりした。 店内が凝ってて趣がある。高UX。

スウェーデン:リラ・ダーラナ(六本木)

北欧料理リラ・ダーラナ

洋食と違う味付けが面白い。ボリュームもそこそこあって安くて美味しい。田舎っぽい味。 ピクルスの酸味がところどころ感じられてメインの味を中和している。

チェコ:セドミクラースキー(代々木上原

Sedmikrasky(セドミクラースキー)

これも洋食とは違う味付け。メニューは少ないが、メイン皿料理が安心する味で完成度高い。 ローストポークザワークラウトと茹でパンのディッシュがすき。完璧な1皿。 天気のいい日にベヘロフカを舐めながらこれを食べることで優勝できる。

クロアチア:ドブロ(京橋)

Dobro

食べログ Dobro

これも洋食とは微妙に違う。ランチは値段の割に格調高い食事ができる。海産物が推しらしい? ボリュームは普通。ランチ時間が短いのでアクセスは厳しめ。店の構造がかっこいい。

ハンガリー:パプリカドットフ(白金高輪

パプリカ ドット フ

食べログ パプリカ ドット フ

また洋食と別物な家庭料理。店名通りパプリカを推している。 味は優しいが、ちょっと印象が弱いかも。豚肉が名物(国宝)らしい。

イスラエル:タイーム(恵比寿)

TA-IM (タイーム) - 恵比寿/地中海料理 [食べログ]

ランチでイスラエルケバブ(ピタサンド)みたいなのが食える。よくあるケバブ屋の奴と比べると フムスが入っている、味付けの方向性が異なる、などの違いがある。

イスラエル:デビッドデリ(六本木)

デビッド・デリ (DAVID'S DELI) - 白金高輪/西アジア料理(その他) [食べログ]

羊飼いサラダ(トマトときゅうり角切り)あり。 ミートボールシチューを食べたが、そんなに特徴を感じなかった。 レストランかと思っていたら一階はカフェっぽい雰囲気でスイーツもあったのでその向きの利用もよさそう。

エジプト:コシャリ屋さん

エジプトめしコシャリ屋さん

キッチンカーなので出没地要確認。最近食えてない。 コメ、パスタ、スパゲッティ、豆などの穀物系を雑に混ぜてチリソースとフライドオニオンをゴシャッとした何か。 ほぼでんぷん質のジャンク飯だが満足度はある。プロテインを添えろ。

とりあえずのランチおすすめ:

確率解析すごい

 気まぐれで伊藤積分と伊藤公式を理解したいなーと思い立って いくつかの本を眺めていたのですが、

確率微分方程式入門 ―数理ファイナンスへの応用― (数学のかんどころ 26)

確率微分方程式―入門から応用まで

理学オタクの性として結局行間が気になってしまい、図書館で

確率微分方程式

確率過程入門 (確率論教程シリーズ)

などをチラ見してウンウンした結果、最終的に「アッアッアッこれはやばいやつや…」となって

巨大な憧憬と将来課題が発生してしまったのでその感想文を書きます。(結局以上の本ほとんど読んでない)

 ちゃんとした議論は今後勉強してなんとかやっていく…というか同志いませんか…?

 というわけで、今把握している限りのおおまかな概要を書いてみます。

 測度論的確率論は、可算要素の「かつ、または」をゆるしたBoole的な束構造を持つ事象の集合に、 確率を整合的に(可算加法的に)割り当てることで表現されます。 この事象束をσ加法族といって、通常ある集合の部分集合族として表現されています。ここでは\mathcal{F}と書きましょう。 この束構造を集合演算で表現した空間を可測空間といい、さらに測度が割り当てられているときに確率空間と言います。つまり3つ組(\Omega,\mathcal{F},P)です。ここで\mathcal{F}\subset \mathcal{P}(\Omega)です。

 確率変数とは、可測空間の間の写像で、その逆像がσ加法族の準同型になるものを言います。例えば、X:(\Omega_1,\mathcal{F}_1)\rightarrow (\Omega_2,\mathcal{F}_2)が確率変数であるためには、X^{-1}:\mathcal{F}_2\rightarrow \mathcal{F}_1が束構造の準同型になっている必要があります。 このσ加法族の準同型という構造は、もともと束構造に事象としての意味があることを考えれば自然なことです。 確率変数は可測写像ともいいます。今は実数値の確率変数を考えます。 実数側のσ加法族は、通常開集合を含むようなものを取ります(これをボレル族といいます)。

 実数値確率変数であれば、ルベーグ積分によって期待値を考えることができます。これを \mathbb{E} [ X] と書きましょう。また、一般に条件付き確率、条件付き期待値を、 \mathcal{F}の部分σ加法族\mathcal{G}\subset \mathcal{F}に対して考えることができます。 条件付けにつかう観測が、\mathcal{F}よりも小さい、つまり部分的な観測であることを考えれば自然なことです。 これを\mathbb{E} [ X|\mathcal{G}] と書きましょう。

 確率過程は、適当な時間パラメトライズされた確率変数の族X(t):\Omega\rightarrow \mathbb{R}といってよいのですが、 この場合は時間の経過とともに新しい現象が起きる=新しく問い合わせ可能な事象が増えていくので、 背後にあるσ加法族自体が時間とともに大きくなっていくと考えるのが自然です。つまり時間順序に従った包含関係にあるσ加法族の族があると考えます。

\{\mathcal{F}_t\}_t,\mathcal{F}_s \subset \mathcal{F}_t \; (s \le t)

 これをフィルトレーションといい、確率過程X(t)がフィルトレーションに適合する、とは、時刻tの確率変数X(t)\mathcal{F}_tについて可測なこととします。 確率変数X(t)に関する性質の問い合わせが時間t以降には可能になっている、と考えれば自然なことです。

 確率過程を考えるのはもちろん何か表現したり解析したりしたいものがあるからですが、 それらに連続性を期待できる場合があります。そこで連続な確率過程というものを考えます。 定義としては、確率1で(\lambda t.X(t)(\omega))がtについて連続になるようなものです。 さらにここから二種類の確率過程のクラスを考えます。

 ひとつはマルチンゲールといって、 任意の時刻sからのt>sまでの条件付き増分の期待値がゼロになるものです。 つまり、ある意味でフェア、任意の時点から次の瞬間どちらに転ぶかは期待値の意味で50:50であるような過程です。

\mathbb{E}[M(t)-M(s)|\mathcal{F}_s]=0

 もう一つは局所有界変動、つまり任意の時間区間で、変動が有界になるものです。 変動とは、直感的にはその関数が正負にどれだけ動いているかという量です。

|| A(\omega)||_{[s,t]} \lt \infty

 そして確率解析が扱う過程として、この2つが組み合わさったものを考えます。

X(t)=X(0)+A(t)+M(t)

 これをセミマルチンゲールと呼びます。 セミマルチンゲールのこの表式は、実は曖昧さなく決まります。 局所有界変動かつ連続マルチンゲールな確率過程は、定数しか無いことが知られているためです。

 セミマルチンゲールはいわば、「概ねゆるやかに推移していく」A(t)と、「平均ゼロだが激しく震える」M(t)による過程です。 震え、といいましたが、確率過程の「激しい震え」をどのように評価すればいいでしょうか? マルチンゲールの変分dM=M(t+dt)-M(t)を考えましょう。これは平均すればゼロですが、 分散を計算するときのように、二乗して総和をとったらどうでしょうか?

\sum_i dM_i^2

もし、このdMdt程度であれば、\sum_i dt^2は細分極限で消えてしまいます。 しかし一般に確率過程では、「激しく震える」部分が蓄積されてのこります。 これは標語的な言い方ですが、停止時間などを駆使することで、マルチンゲールMに対して

\langle M \rangle = \int dM^2

のようなものを定義することができます。これは同一のMだけではなく、一般に

\langle M_1, M_2 \rangle =\int dM_1 dM_2

のようなものを定義することができます。このとき\langle M,M\rangle = \langle M \rangleです。これを二次変分過程と呼びます。

 そして二次変分過程は、局所有界変動になります。つまりマルチンゲールの微小変化を掛け合わせて蓄積すると局所有界変動に戻ってきます。

 さて、様々な文脈で、確率過程で確率過程を積分したい、ということが出てきます。 もし確率過程ではなく関数であれば、これはリーマンスティルチェス積分を定義したい、ということになります。 つまり、関数f,gにたいして \int f dgを考えればよいです。 これはどのように構成したかというと、時間を区分分割して、gの差分とfの区間代表値の積の総和の極限を取りました。

 \int  f dg  = \lim_{|dt|\rightarrow 0} \sum_i f(s_i)(g(t_{i+1})-g(t_i)),\; (s_i\in [ t_{ i } ,t_{ i+1 } ] )

f,gがある程度良い性質を持っていれば、(例えばfが区分的連続でgが連続有界変動) このときの代表値のとり方や区分分割のとり方によらず、細分極限で積分値が決まります。

 確率過程のときはどうでしょうか? もし局所有界変動であれば、普通の関数のときと同じことを\omegaごとに行えば大丈夫です。 しかしマルチンゲールのときはどうでしょうか?今度は有界変動ではありません。 そして実はこのせいで、同じようにリーマンスティルチェス積分をしようとすると、 被積分過程の区間代表値の選択に依存してしまうのです。 したがって、区間代表値のとり方を固定しなくてはいけません。 これを各区間の左端に固定した結果として伊藤積分が定義されます。

I_M(\phi)(t)=\int_0^t \phi dM=\lim_{ |dt|\rightarrow 0 } \sum_i \phi(t_i)(M(t_{i+1})-M(t_i))

マルチンゲールによる伊藤積分は常にマルチンゲールになることが知られています。

そして、伊藤積分と二次変分過程に次の関係が成り立ちます。

\langle I_M(\phi),I_N(\psi)\rangle(t) = \int^t_0 \phi\psi d\langle M,N\rangle

おわりー!(CV鳩羽つぐ)

 以上はいくつかの本を見て拾った事実の羅列ですが、おそらくピンと来ないと思います。

 そこで、これらの「解釈」、オハナシをしたいと思います。

これ本当は普段(物理とかの)フワッと議論をdisってる身からすると言動不一致じゃねぇかと言われそうなんですが、

 不完全な言い方であることは重々承知である、という但し書きはした、という言い訳をした上で(?)

 あるいは以下の標語的なオハナシが上のように実現されることこそが重要、という立場なんだ、とした上で(??)

 おもくそフワッとした解釈をしようと思います。許せ。

 マルチンゲールと局所有界変動は、「制御できない純粋なランダム性」と「大まかな挙動」を表しています。 この内、マルチンゲールが問題です。マルチンゲール微分できません。 先に述べたように、非自明なマルチンゲール有界変動ではありませんから、 どれだけ短い時間で見ても、ずっと確率的に揺らいでいるために微分が定義できないのです。 しかし現実に確率過程で表現したい系は、何らかの発展方程式を持っていて、つまりどういうわけか「微分」できて、 「制御できない純粋なランダム性」つまりマルチンゲールの、「微分」に毎時影響されて発展しているように見えます。

ここでやりたいことはいくつかあります。

手元に別の確率過程や、あるいは過去の観測結果によって現在の系への働きかけをするためのポートフォリオがあるかもしれません。 それによって、このマルチンゲールを変換ないし、相互作用させた結果を知りたいとしましょう。 これは毎時毎時の相互作用、ないし操作ですから、発展方程式を書き換えることになります。 あるいはマルチンゲールによるノイズ源の影響下で、系の発展方程式自体を提案しているという状況かもしれません。 いずれにせよ、ここでは系の発展方程式に現れる、マルチンゲールの「微分」に、 手元にある確率過程を「掛け算」する、という操作をしたいわけです。 いわば標語的には

\phi(t) \frac{d}{dt}M(t)

が意味をもってほしい。しかし\frac{d}{dt}M(t)を得ることができないので、実際にはこの蓄積

\int_0^t \phi(s) \frac{d}{ds}M(s) ds = \int_0^t \phi(s)dM(s)

を定義することで相応のことを実現するのです。これが伊藤積分です。 つまり伊藤積分は、マルチンゲールの「導関数への掛け算」です。

もう一つ、ランダム性は、例えば熱浴の温度のように、「パワー」があります。 言ってしまえばランダム性の強さみたいなものです。これをどうやって測ればいいでしょうか? つまり、マルチンゲールの「微分」係数の大きさ(2乗)がほしいのです。 もっというと、微分」のL2内積がほしいのです。 マルチンゲール微分は、ある瞬間の、「時間あたり系に加わる確率ゆらぎ」のようなものでしょうから、 もし複数のマルチンゲールがあれば、その瞬間の「時間あたり系に加わる確率ゆらぎの相関」みたいなものが計算できてほしいのです。 これを自己相関にとれば、パワーにほかなりません。 しかしここでもやはりマルチンゲール微分できない。 そこで標語的に \int^t_0 dM^2,\int dM_1 dM_2に相当する二次変分過程

\langle M_1, M_2 \rangle(t)

を使います。これは標語的に\int^t_0 dM_1 dM_2と言いましたが、これによって本当に実現したいものの気持ちは

\int_0^t \frac{d}{ds}M_1(s) \frac{d}{ds}M_2(s) ds

です。つまり二次変分過程は、マルチンゲールの「導関数のL2内積です。

それでは、

\langle I_M(\phi),I_N(\psi)\rangle(t) = \int^t_0 \phi(s)\psi(s) d\langle M,N\rangle(s)

という公式は一体なんでしょうか? これは数式の見た目が内積の記法に似ていますね。 この式がtで微分できたら一体どんな式になるでしょうか? ここまでにゴタゴタ抜かした「オハナシ」が成り立っているとしましょう。

左辺の微分

\frac{d}{dt}\langle I_M(\phi),I_N(\psi)\rangle(t)

=\frac{d}{dt} (\int_0^t \phi(s)\frac{d}{ds}M(s) \psi(s)\frac{d}{ds}N(s) ds)

=\phi(t)\frac{d}{dt}M(t) \psi(t)\frac{d}{dt}N(t)

右辺の微分

\frac{d}{dt}\int^t_0 \phi(s)\psi(s) d\langle M,N\rangle(s)

=\frac{d}{dt} \int^t_0 \phi(s)\psi(s) \frac{d}{ds}\langle M,N\rangle(s)ds

=\phi(t)\psi(t) \frac{d}{dt}\langle M,N\rangle (t)

= \phi(t)\psi(t) \frac{d}{dt}M(t)\frac{d}{dt}N(t)

!?

自明では??????????

というわけで確率解析をやりましょう(同志募集中)。

ベクトルバンドルのリー微分

先日 http://www.asahi-net.or.jp/~fu5k-mths/pdf/bundle_lie_and_noether.pdf

を書いたのですが、ベクトルバンドルのリー微分だけ抜粋します。

解析力学は学科ではドチャクソ重要な理論で、それは場のバージョンでもそうなのですが、 物理学では往々にして

「~という議論ができるんですよ(シンプルなコア議論)」

(永遠の開き)

「あの時のコア議論をここで応用します。こんなアナロジーができますね~」

ということが発生するのですが、

そのアナロジー全然自明じゃねえよ

という気持ちになることがあり、場の解析力学はそういう例の一つです。あとグラスマン数の経路積分とか… 基本的なパターンをやっとけば、その任意の変種がいつでもwell-definedでしょみたいな…願望でものを語るのをやめろ… 場のハミルトン形式もアレですよね…まぁあのくらいは汎関数微分とかをきちんと書けばなんとかなるかもですが…

で、長年場のラグランジュ形式の何が不満だったかというと、 Noetherの定理がクソほどもわからない…「場の理論 Noether」とかでググってもらえると、 いろんなのが出てくると思うんですが、だいたい「次の微小変換を考える」とか言ってこんな式が出てきます。

 \displaystyle{
x\mapsto  y = x + dx \\
 \phi(x)\mapsto  \phi(y)=\phi(x)+d\phi
}

は?????????????????

ってなりませんか?僕はなったし、これだから動的型で数式書くやつは何をやっても(ry

物理学者が場の量書くとき、だいたい型書かないじゃないですか、まぁそれは珍しくないんですけど、 場の量が何から何の関数なのかわからんし、xって時空点なのか、座標なのかもわからんし、\phiって成分なのかベクトル値なのかもわからんし、故に変換というのが座標変換なのか幾何的な能動変換なのかもわからないし、 まず\phi(x)って書いたときに、\phi(x)を値まで評価したものが移されるのか、\phi,xって記法が何らかの量化制約を持ってるのかもわからんわけです。 ちなみにわかった今だからいいますけど、これ本当はここで場の量(バンドルセクション)である\phiって記号が登場しちゃいけないんですよ。この変換は一義的にはセクションの変換じゃなくてバンドル自体の変換なので。

それで、これが一体なんなのかわからん限りには、場Noetherがなんであんな形しているのかもわからんわけです。これがベクトルバンドルの自己同型変換の無限小版として完全に幾何的な能動変換として書けることに気づいてブチ切れたので、以上のノートを書きました。

結論からいうと、ベクトルバンドルの自己同型変換生成子みたいなものを定義することができて、それは上のようなものをちゃんと定めるし、Noetherの定理はそこから出てくるものです。

まずベクトルバンドルを定義する必要があるのですが、wikipediaを見て。

ベクトル束 - Wikipedia

各点にベクトル空間がついてて、局所的に成分表示できるようなもの、と認識してください。 ここで「なんや、単なる多成分場やんけ」と思うのはやめてね…多様体がいつでも\mathbb{R}^nの同次元部分集合と思うが如き…

いや実質局所的にはそうなんですが、我々はいま解析力学をやっていて、解析力学座標普遍であることを散々強調するわけです。じゃあちゃんと自明化写像によらないということ、それがどういう意味でかというのをきちんと述べるべきであって、多様体の多の字も出ない教科書は滅ぼすしか無い…

で、バンドルというのは、基本的に底空間への射影\pi:E\rightarrow Mというのも持っています。 なので、ベクトルバンドルの射がこれについての可換図式を満たすことは自然なことです。 底空間の写像にファイバーの行き先が整合的であるということですね。

そして先の謎\mapstoは、まさにこの可換図式なのです。\phiが出てくるのは間違った書き方と言いましたが、正しい書式はこう。

\displaystyle{
g:E_1\rightarrow E_2\\
v\in \pi^{-1}(x)\mapsto g(v)\in\pi^{-1}(f(x))\\
f:M_1\rightarrow M_2\\
x\mapsto f(x)
}

\pi^{-1}(-)は射影の逆なので、各点ファイバーです。これなら秒でわかる。型注釈、所属集合注釈を惜しんではいけない。

ほいで、では場Noetherはなんだったのか、という話になるんですが、要するにリー微分なんですよね。

これは有限次元ラグランジュ理論の時もそうで、自由度空間に対する変換があって、そのリー微分が、 ラグランジュ方程式比例項とNoetherモーメントの微分で書ける、というのがNoetherの定理なのです。

ところで、ベクトルバンドルのリー微分ってなんでしょうか。なんか上手い定義が必要です。 一番馴染みあるベクトルバンドルといえば、ベクトル場、テンソル場、微分形式ですね。 これらには多様体の1パラメータ変換群(の生成子)があれば、リー微分が定義できます。

f:M\rightarrow N多様体の可微分写像としましょう。これの微分がベクトル場のなすベクトルバンドルの射を決めます。それは次のようなものです。

\displaystyle{
df:TM\rightarrow TN\\
v^i\partial_i \in TM_x \mapsto \frac{\partial f^i}{\partial x^j}v^j \partial_i \in TN_{f(x)}
}

これはfを座標空間に引き戻してからそれで微分した微分係数を使いますが、座標によらず定義できます。 これが無限小だとしましょう。十分小さな[tex;\epsilon]を用意してfの座標表示がx^i\mapsto x^i+\epsilon X^iとなります。 X^iはこの変換の生成子です。するとベクトル場の成分変換は

\displaystyle{
df:TM\rightarrow TM\\
v^i\partial_i \in TM_x \mapsto \left(\delta^i_j+\epsilon \frac{\partial X^i}{\partial x^j}\right)v^j  \partial_i \in TM_{x+\epsilon X}
}

これはベクトルバンドルの微小変換が \frac{\partial X^i}{\partial x^j}のような行列で実行されていることを意味します。

しかし、これは変換規則がファイバーの自己変換のようにはなりません。\partial_iがあるせいで、場所に依存する自明化の変換を施すと 変換行列の微分項がでてきます。

逆に言えば、これを組み込んだ変換規則をもつような行列を考えれば良いことになります。ベクトルバンドルの変換なので、 底空間をどれだけ動かすか、という底空間のベクトル場と、ファイバーの成分変換行列の直和で、バンドルの局所自明化ごとに与えられるものを考えます。

\displaystyle{
\{(X,M_a)\}_{a}, X \in \Gamma(TN_{U_a}),M_a\in \Gamma(U\times \mathbb{R}^{n\times n})
}

ここで、a\rightarrow  bのフレーム変換行列:つまりGL(n)値場\Lambda:U_a\cap U_b \rightarrow GL(n)に対して、 次のように振る舞うことを条件に課します。

\displaystyle{
(X,M_b)=(X,(X\Lambda)\Lambda^{-1}+\Lambda M_a \Lambda^{-1})
}

ここでX微分として作用しています。これを課すことで、自明化によらないベクトルバンドルの微小変換を実現します。 では実際にリー微分しましょう。リー微分は、場の量に対して、ある点の値を無限小変換で別の場所に持っていき、行き先にすでにあった量との比較をします。 V\in\Gamma(E)ベクトルバンドルのセクション、つまり場の量としましょう。局所標構(基底ベクトル場)e_iを使って、V=v^i e_iとなっているとします。

\displaystyle{
v^i(x)\mapsto v^i(x)+\epsilon M^i_jv^j(x)
} から \displaystyle{
v^i(x)\mapsto v^i(x+\epsilon X)
} を引いたものなので、一次のオーダーで、 \displaystyle{
-(Xv^i)(x)+M^i_jv^j(x)
}ベクトルバンドルのリー微分となります。実際、Mの変換規則が、これをwell-definedにしています。

あとはノートを参照してください。

やっておいて気になっているのは、物理学者が一体場の量をなんだと思いっているのかということです。 実のところ合意がないような気もします。僕はベクトルバンドルの概念が気に入っているので、それだと思っているのですが、 本気でただの多成分場と思っているのかもしれない。つまり大域的自明化が可能な。

しかしその一方でゲージ場などで自明化によらない云々というのを後付けで導入したりもします。 ただゲージ場はゲージ群なので、一般的なフレーム変換ではないというのはありますが…

ギターキット/Elm/就/...

1.エレキギターを取得しました。

 高品位なオーディオを吐くDAWシーケンサがいくらでも手に入る今、なぜ人は楽器なんて面倒なものをやるのでしょうか??????? 音楽が情動のメディアであるように、楽器も一種のメディアなのかもしれません。肉体と音の間の。 とりあえず人間には可制御な物が増えると精神に良いという経験則があります。リアタイだとなお良い。

 そんな訳で、そこそこ取り回しの良い楽器というのが手慰みでほしくなるのですが、これには様々な制約が存在します。 当然のように集合住宅に住んでいますから、生楽器はアウトです。 僕は相対音感はともかく絶対音感が極限まで壊滅的なので音程がアナログな楽器はダメです。 ほいで音域が辛いのもいやだし、コードも弾きたい。さらに左利きなので鍵盤が全体的に辛い、となるとエレキギターになります。

 というのはこじつけで、単に友達がギターもってて僕も欲しいなーと思っただけです。 このように人は思い出すついでに様々な文脈を捏造できる。

 僕は仕組厨なので自作厨をしばし合併症として発症します。 で、Googlingするとギターキットというのがあり、無塗装ボディにバラバラのパーツがセットになったやつが出てきます。 はい、君に決めた。

ammoon 未完成のDIYエレキギターキット バスウッドボディー ローズウッド指板 メイプルネック特別デザイン ヘッドストックなし

なんかHOSCOとかいうメーカーの作例は結構転がっているのですが、 こっちのメーカーまだ新しいのか全然でてこない... 販売元は深センっぽい? まぁ製造も中国でしょうね。 ちなみに決めた理由はヘッドレス/24フレット/3PUあたりです。 軽い/音域広い/音色広い、といったとこでしょうか。ミーハーですね。で、その結果。

f:id:phykm:20180509203725j:plain

 塗装は...めんどい...今度で...

 新興中華キット(?)ということで、まぁ様々な事象がありました。

 まずボディーにピックアップ3つとブリッジを固定するんですが、 ピックアップ2つとブリッジが入らないんですよね。サイズ的に。 ボディーにこう、くぼみを入れるの、なんか座くりとか呼ぶらしいですが、 座くりのエッジが甘すぎて、四角い形のダブルコイルピックが普通に入らない... シングルコイルピックもなんか妙に膨らんでいて入らない... さらにブリッジもサイズがギリギリ過ぎて入らない... これフローティングブリッジ(バネで弦張力と釣り合わせているだけで固定されていない)の一種なので、 本当は可動範囲だけの隙間があかないといけないんですが...。 まぁそういうのもあるさ、とカッターとナイフとリューターでゴリゴリして入れました。

 しかしブリッジにはもう一つトラップがあり、そのままつけるとなんと弦長が足りない... オクターブチューニングできません。しかたないので、更に座くりを広げて少し下につけました。

f:id:phykm:20180509203742j:plain
道具がないのでカッターとリューターで削ったことによる手作り感

それから、ネック先端に弦をロックするテールピースがぴったりつかない...同等品の

https://www.amazon.com/ammoon-6-string-Headless-Electric-Locking/dp/B01N6C99RU

にまさにそういうトラップによる悲劇が書かれており、とりあえず噛み合うまで削りました。

   回路ボックスのフタがネジ止め式ですが、明らかにネジ穴の位置を間違えている...

f:id:phykm:20180509203755j:plain

 これ、止めてある二箇所には最初穴が空いてなかったんですよ。空いている二箇所はよく見ると穴の向こうが虚空で、 要するにネジが刺さるための土台が無い...。まぁこの程度は別にどうということは...

いやさすがに組み立てればわかる欠陥ばっかやんけ、ちゃんとチェックして、どうぞ。

   ギター組み立てのネックは、いろいろ調べたところ、まさにネックらしいのですが、 キットについてここだけはちゃんとしてました。ボディとネックがめちゃくちゃタイトに刺さる。 ネック角度が甘いと弦が指板から落ちるなどの致命的な欠陥になるのですが、そのようなことは起きませんでした。

 演奏感ですが、ウーン、よくわかりませんね(ギターが弾けるとは言っていない)。 実際Youtubeなど探すと、安ギターと高級ギターの音色比較、みたいな動画も結構あって、 見てみると、たしかに高いやつのほうがくっきり鳴ってる気はするな…?という感じはありますが、 いかんせん楽器の特性上エフェクターとかでいろいろ変わるものだし、 それらと比べてこの素組みギターがどうかというのはよくわからない... というかそもそもエフェクターもアンプももっていないので、 現状オーディオIFでDAWを通してディストーションをかけるという遊び方になっており、単純比較が困難。 塗装したらまた音色変わるかな?

 いまのところ音域広いし、コンパクトで弾きやすいし、不満はないですね。 自分で組み立てたということで、ギターの勝手もわかり、 なんか起きてもまー作った時みたいに改造すればいいやとなる心理的障壁のなさもよい。 エレキギター、もうとにかくただのアナログ回路なんですよね... 要するにアナログ回路わかっていれば無限に改造できるという...

 エレキギター自作勢というのも特に海外などに一定数存在するようで、 Amazon.comとかだと普通にもっといろんなメーカーがバラパーツを売ってたりします。 弦張力に耐えるられる程度にボディとネックをつなげて、 ナットの調整範囲内で弦をまっすぐつければ何でもギターになる。 あとはピックアップだけギター用のやつを買って、出力はアナログ信号処理、という流れなので、 いい感じにアマチュアにも届く技術水準といえます。

   いずれ改造にも手を付けたい。

2.Elmに入門しました。

 以前HasteとかいうHaskellによるAltJS?を触ったのですが、またHaskellっぽいJS?をちょっと前に知りました。 正確にはJSではないのですが...

home

はじめに · プログラミング言語Elmの薄い本

まんまHaskellやんけ。

 いや、ところどころ違うのですが(後述)、一般構文は殆どHaskellとかOCamlのそれですね。REPLすらある。 最大の特徴は、これは汎用プログラミング言語ではなくてDSLで、 The Elm Architectureに従ってWebページを記述するのに特化している点でしょう。 プログラムのエントリポイントの型がそもそも独自のものに決められていて、 それが要求するフィールドを定義する、というスタイルのようです。 コンパイルするとページをまるごと吐くので、HTML/JS/CSSの一石三鳥(ほんとか??????????)

   このThe Elm Architechtureというのがなかなか洗練されており、かなり抽象度の高いことができます。 Hasteは単にJSがHaskellで書けるだけだったので、ページ要素の操作はまんまIOで、 コールバック登録もIOとかで、要するにMVCみたいなことをやろうとすれば全部自分でやる必要があるのですが、 Elmの場合はそのへんも抽象化されており、コールバックの「登録」みたいな操作はしません。定義はしますが...

とりあえずこんなん書いてみました。

http://www.asahi-net.or.jp/~fu5k-mths/elm/elm_block/index.html

入門してみた所感としてThe Elm Architectureの「直観」を描いてみたいと思います。

f:id:phykm:20180509222522p:plain

無理。

なんか紐図( https://arxiv.org/abs/1401.7220 とか)っぽいものができる気がしたが気のせいだったぞ!!!!!!!!

文で書きます。基本的には代数的データ型を駆使して、MsgとModelという型を定義し(これは本当になんでもよい)

init:(Model,Cmd Msg)
update:Msg->Model->(Model,Cmd Msg)
subscription:Model->Sub Msg
view:Model->Html Msg

を定義すれば一丁あがりというものです。

型を適当に解釈できれば、この仕様のイメージがつかめます。

Modelは定義するWebページの内部状態、

Msgは内部のメッセージングです。

Cmd aはメッセージaに基づくコマンド、

Sub aはメッセージaを吐くかもしれないリスナー、Html aも同様にaを吐くかもしれない文書です。

このとき、 定義するフィールドはそれぞれ、 init:初期状態と初期化処理 update:Msgに応じた状態更新と副作用 subscription:Modelに応じたリスナー view:Modelの見え方 と解釈できます。

 Msgはクリックやキーボード、時間経過など、Webページが識別してほしいシグナルを直和などを使って全て書き下し、 ModelはWebページが把握しておいてほしい全ての情報を直積やリスト化などで書き下すことで定義すればよいです。 状態遷移などで把握すべき情報が変わる時はそこを直和にする。オートマトンっぽい。

 Msgがどこかから吐かれるたびに、updateが呼ばれます。updateは起きたことに基づいて状態を更新して、 ついでにCmd Msgで何か仕事をできます。状態は常にviewで表示されます。

上のコードは

github.com

にあります。ていうかゲームプログラム難しすぎるのでは?????????????????

 状態としてReady、または Game (ボール状態とブロック、終了フラグ)、 メッセージとしてクリックとマウス移動を取っています。 描画に用いているCollageというパッケージはCanvasベースらしいので、できること/性能もそれに準じたものと思われます。 あんまり複雑なのをやるとつらそう。ただWebGLのパッケージも存在するっぽい。

Elmの開発環境(?)は結構整っているように思えます。とりあえず公式から処理系をインストールし、

サンプル

examples

をみながらやりたいことを考え、

Elm Packages

で必要なパッケージを調べます。必要なパッケージがわかったら、 elm-pachage install を必要なだけ打って、インポートし、書きます。

 どうも開発ディリクトリに非標準パッケージを直接DLしてくる(elm-stuffというディリクトリができる)っぽいので cabal hellみたいなことは起きにくい? ページ自体はちょっと重め。

 REPLもあるのでこれにロードして関数をチェックすることもできます。 できたページを確認するのにコンパイルしてもいいですが、elm-reactorとかいうドチャクソ便利なものがあり、 これを起動するとローカルサーバーが立ち上がって.elmファイルを直接ブラウザから見れるようになります。ソースファイルを選択すると、 ファイル生成なしに、サーバーがコンパイル後のページを返そうとします。

 エラーがあった場合にはエラー文もブラウザで見えます。地味にコマンドラインよりも見やすいので助かりがあります。 ブラウザをリロードすれば再コンパイルします。

Haskellと微妙に違う、といいましたが、気になった点としては以下です。

  • Cmd Subのような->みたいなカインドはあるが、型クラスはない。
  • ::と:が逆。
  • リスト型は[a]じゃなくてList a
  • 型定義が基本typeかtype aliasだけでスッキリしている。もちろん前者にコンストラクタが要る。
  • 実感は無いが、正格評価らしい?
  • トップレベルのパターンマッチができない(?)。case of で頑張る。

最後のは表現が正しいのかわかりませんが、要は

sum::List Int->Int
sum [] = 0
sum (x:xs) = x + (sum xs)

じゃなくて

sum ls = case ls of
    []     -> 0
    (x:xs)-> x + (sum xs)

としろということです。

感触は結構いいのですが、これ本気でCSSデザインやろうとしたらどうなるのか... 一石三鳥だが要するに三鳥分定義を書かなきゃいけない点は変わらず... あと言語の方向性からして厳しいとは思いますが、他JSやCSSライブラリと連携取れるんだろうか...

なんか来月に日本語の解説書が出るっぽい。

基礎からわかる Elm

当然のごとく予約しました。

3.就をやっている。

就をやっている。助け...

4.論をやらなくていいのか

やばい。