Mathematics

2006年02月26日 日曜日

散髪

今週の週末は研究室の後輩の結婚式なので、やっぱり散髪に行ってからの方が良いだろうと言うことで、散髪に。ちょっとだけ髪が短くなった。これで当日ちゃんと整えれば、とりあえず結婚式には参列できるだろう。

ジョージ・G・スピーロ / ケプラー予想

またまた数学の読み物を購入してしまった。科学的な読み物で気になっている本はちゃんと買うようにしているので問題はないのであるが、大概の場合翻訳されている人が青木薫さんで、この本も青木さんの翻訳。青木さんはラテン語メーリングリストでお見かけする方なのですが、翻訳する本の目の付け所が良くて、特に僕の場合はヒット率が高い。次の翻訳本も楽しみな方でもある。(予想してみるのもおもしろいかもしれませんな。)
ケプラー予想はざっくりわかりやすく言えば、果物屋さんがもっとも効率的にリンゴやミカンを台の上に積むのが効率的かというもので、球を正三角形に接するように並べて、そのときできる窪みに球を置くと言う操作を繰り返した構造がそうであろうと言う予想。化学をやったことがある人であれば、六方最密充填構造(HCP)面心立方格子構造(FCC), 立方最密充填構造が、その並べ方である。この2つは見る方向が違うだけで全く同じ構造なのであるが・・・
一見自明に思える話ではあるが、3次元空間に半径が同一な球をもっとも密度を高くして充填(だぶらず埋め尽くすこと)するのが、格子系だけではなく一般の不規則な構造の場合も含めて、六方最密充填や面心立方構造であるというのはつい数年前まで予想であった。ケプラーがこの予想をたてたのは1611年。1997年にトーマス・C・ヘールズによるコンピュータを使った証明に至るまで386年かかった訳であるが、この本はその歴史とおおざっぱに考え方を教えてくれる本で、なかなかおもしろい内容に仕上がっている。
ちなみにケプラー予想は19世紀最後の年に行われた第2回国際数学者会議における有名なヒルベルトの講演「ヒルベルトの23の問題」の18番目の問題の一部でもある。(18番目の問題は「Build spaces with congruent polyhedra (いくつかの多面体と合同な多面体によって空間をうめつくすこと)」) N次元に拡張した問題が解けている訳ではないけれど・・・
数学が分からない人も付録や字体が異なる数学の解説を読み飛ばすことによって、400年に渡ってラグランジュ、ガウス、ミンコフスキー、ニュートンといった数学史に燦然と輝く数学者がこの問題にどのように関わってきたか、また証明の雰囲気というのはこんな物だと言うことが少しでもつかめるのではないかと思われるので、数学に興味がある人は読んでみても良いかもしれない。他に歴史があって有名な問題としてはフェルマーの最終定理とかリーマン予想とかがあるが、前者は問題は理解しやすいが証明過程に現代数学の大部分の理解が必要であることから取っつきがたいし、後者はそもそもζ関数に関する知識特に自明でない零点と言うところが理解できないと思われるので、やはり厳しいと思う。そういう点ではケプラー予想は読める話ではある。
まだ読んでいる最中なのだが、年代の記述順がバラバラであると言う点を除けば非常に読みやすい本であろうかと思う。まぁ話題順に書かれているから仕方ないと言えば仕方ないのであるけれども。是非とは言わないが、なかなかおもしろいので読んでみても良いかと思う。

2006年01月24日 火曜日

P.A.M. ディラック / 一般相対性理論

先日本屋の物理関係の書棚を眺めていたら、こんな本が再刊されていました。この本を最後に見たのはもう10年以上前になりますが、一般相対論を非常にすっきり書いている凄い本とと言うべきか、天才が書くと一般相対論はこのように説明されるのかという得難い本である。特殊相対論については3ページくらいで終了という凄まじさである。たとえばパウリの「相対性理論」のような網羅的な本ではないが、筋道を最短経路で追いかけるにはこういう本の方が読みやすい。パウリの本はパウリが21歳の時に書いたある意味恐ろしい本ではあるが・・・
一般相対論はいろいろな本があってピンキリではあるが、「相対論はウソだった」とかいう似非科学モノの本は出版される価値すらないので燃やしてしまって良いとしても、数式をとにかく省いて書きましたと言う本あたりもあまり読むことをお勧めしない。そもそも優しくはないのだから、ただ量子力学よりは理解できる範疇にはあると思う。一般相対論は特に数式がないと何を言っているのか良くわからないように思う。テンソル解析が苦手でありながら、テンソルを駆使して時空の幾何学を作り上げたアインシュタインの仕事を理解するには、こちらもテンソル解析や非ユークリッド幾何学特にリーマン幾何学を理解しつつ、理解につとめるべきだろう。
僕の記憶が確かなら、確かこの本は東京書籍から出ていたと思う。最近東京図書から出ていた教科書が入手しづらくなっているような気がしていて、この手の本の再刊ってもう東京図書さんではやらないのかな?と思っている。 非常に困った状態である。僕が現役の学生だったころも買っておいて読みたい本が入手できなかったように記憶しているが、最近非常に多いと感じる。教育がないがしろにされているのかなと思うところでもある。
それにしても再刊したのが筑摩文庫と言うところが更に良くわからないところだが、素晴らしい教科書が文庫で読めるのもなかなか乙な物かもしれない。(「オイラーの贈物」も筑摩さんが再刊してます。)
学術書のような分野はビジネスにならないのは理解しているが、古典として読み継がれるべき本というのは科学の世界にもあって、定番の教科書が入手できないの学生じゃなくても非常に困るのである。身近な例では、今良く読んでいる本にはクーラン・ヒルベルト(リンク先は1巻目)を参照とか書いているのだが、この本も東京図書で入手しがたくなっている。専門から離れてしまったが、スタンリーの「相転移と臨界現象」も東京図書だ。(Amazonで見たら12000円とか言う値段が付いてる。あり得ない・・・)
そんなわけで、再刊する気がなければ版権を放棄して、オンラインの受注図書サービスあたりが取り扱ってくれると非常にありがたいのだけど・・・(池袋のジュンク堂とかだったら、そんな本も立ち読みして買えたりしますし。) 読めない本は淘汰されてしまうのであるが、読ませたい本は語り継ぐべきだとこの本を買って、つらつら眺めてそう思った次第である。

2005年12月31日 土曜日

今日で2005年もおしまい

毎年こんな見出しで大晦日の日記を書いているわけだが、ついこないだ2004年もおしまいとか言う記事を書いた記憶がと思ったら、2003年もおしまいとか2002年もおしまいとか言った記事を書いたのも最近のような気がするのは気のせいではない。今年は久しぶりに落ち着いた1年と思っていたのだが、4月から勤務地が変わったので、またまた人間関係もがらっと変化して、めまぐるしい変化があった1年だった。気が付くともう今年もおしまい。今年お世話になった方々はいっぱいいて名前を挙げきれないが、今年1年本当にありがとうございました。来年もよろしくお願いします。
大晦日と言うことで、行く年に思いをはせ、今年はどういう戦いの1年だったか、今年の戦術・戦略とその戦いの成果を主要な分野別にまとめておこう。(と、ほぼ毎年と同じ文章にしてみた。こういうのは毎年そろえておいたほうがよいもので、断じて_手抜きではない_。)

2005年の総括

はじめに概況

2005年の戦況がどのような物であったか述べていくことにしよう。今年は年頭にたてた重いとは全く別なところでばたばた対応させられた1年で気が付いてみると私生活では半分引きこもりっぽい1年となってしまった。全く持って何をやってきたんだかという1年であった。まぁぼちぼち今の生活に落ち着いてきた感はあるので、来年こそ前の会社の上司の言葉を借りて、本業もプライベートも_攻めと成果_にこだわっていこうと思う。

2005年11月23日 水曜日

勤労感謝の日

今日は世間的には「勤労感謝の日」なのだが、僕の勤労を感謝してくれるような人なんていやしない。 働いていく上で襲いかかってくるのは、最近はソフトウェアなことしかやってないから、_ソフトウェア特許_とか_アイディア特許_だとかいった考えるだけでもうんざりするようなことしかありゃしない。ちなみに勤労感謝の日は皇室の新嘗祭にちなんだ祝日なので、_一般庶民の勤労を感謝している_と言う日ではないことを忘れちゃならない。

2005年10月26日 水曜日

Visual C++ ToolkitでSTLPortとBoostを使えるようにする

まず最初に、お手軽にBoost+STLPortを使うなら、断然Debianでapt-getすることをお勧めします。apt-getさえしたら自動的に使えるようになります。それにもかかわらずVC++2003 Toolkitをインストールしてみた理由は、_VC++2003の方がC++98の準拠度が高そう_という単純な理由だったりする。Boostのサンプルプログラムを何個かgcc4でコンパイルしてみたのだけど、コンパイルできない物があったので、リファレンスとしてもう一つコンパイラが欲しくなったというわけだ。
そんなわけで、役立つかどうか知らないけどインストールのメモ。基本的にドキュメント通りインストールすればいいのだが… いろいろ落とし穴はある。

2005年08月27日 土曜日

Lightweight Language Day (and Night)

今年もLightweight Languageの年に一度のお祭りであるLightweight Language Day (and Night)に参加してきました。チケットの発売に気がつかなかったので、何とか買えた昼間の部のみ参加。
今年の僕が感じた目玉のひとつ目は、GNU awk(gawk)のXML拡張であるxmlgawkであろうか。僕がgawkやnawkを使っていたのは学部の4年目のころで、あのころは日本語化パッチを当てたjgawkをメインに使っていた。(今にして思うとperlのプログラムも結構書いたけどawkほど使ってないな。) 気がつけば国際化されて、キーワードが増えてXML文書をSAXっぽく扱えるようだ。この拡張はgawkの先端開発版という位置づけで、コンパイルオプションで無効にできるそうだ。awkは行指向ツールとしてはperlやrubyより使いやすいところはあるので、まだ開発が行われていて進化が続いているのかと言う驚きとともに、昔師匠のawkの技でうんざりしてしまいやめてしまったawkであるが、再び遊んでみたいなあと思ったのである。(僕の師匠(指導教官ともいう)はawkとかPostScriptのプログラムをサクサクと・・・)
二つ目は全然追いかけてもいなかったけどPerl6周辺の話。昨年のLLでは北京オリンピック頃と言っていたPerl6であるが、この1年でPerl6のHaskellによる実装(Pugs)を行ったという天才が登場して、突如として開発が加速しているようだ。それにしても1ヶ月でHaskellを覚えて、Perl6の仕様を具現化してしまうとは。若い天才的な人物の登場というのはなかなかエキサイティングなことだったのだと思う。小飼さんのPerl6のデモを見ていたのだけれど、Perl5との互換性を捨てているせいか、言語自身がリファインされて、どことなくrubyに近づいているような・・・ 似たような機能を影響しながら追加していくと、結局PerlとRubyとPythonを足して3で割ったような言語ができるのだろうか? もうちょっとPerlの良いところであり悪いところでもある毒々しさを残して置いて欲しいのだけれど。
他の言語に関しては特に進展があったわけではないのでここで述べる必要もないと思う。ざっと10個の言語プレゼンを聞いたのであるが、聞いた結論としてLightweight Languageとは何だろうかと思ってしまう。個人的なLightweightであることの定義付けであるが、まず最初に軽い記述で高度な処理ができること、次にたいていの人にとって理解しやすい概念のみでプログラム可能であることかなと思う。そういう点でエヴァンジェリストの方々には大変申し訳ないが、monadsとか、Curry化とか、継続とかが一般に理解されるようになるとはとうてい思えない。(一応分かりやすいと思う解説へのリンクは貼った。) むろん関数型プログラミングの威力は理解できるのだが、果たしてLightweightなのか? 誰しも知っていて当たり前なのか? と言うあたりが僕は知りたい。(Scheme的にはSICPを読めと言う話だと思うのだが、みんなしなければならないもんでも無かろう。) ちなみに僕自身はLightweightに関係なく関数型な言語の1つはプログラマを志す人は教養レベルでも良いからやっておくべきだと思ってはいる。第一、面白いし。
フレームワーク対決については、Kahuaは昨年のLLで面白いツールだと思っていろいろ調べていたので、面白くデモを拝見したのだが、もう少しうまく説明できればなという場面が多かったかも。Ruby on Railsについては、一度デモを見ておきたいと思っていたので、今回のプレゼンは参考になった。みんなが凄いというだけあるな。うちのサーバにインストールというのはバックエンドDBをインストールしたくないので保留としても、試験動作環境のDebianマシンには入れてみてもいいかも。ちょっと検討してみよう。Sledgeについては今更Perl Baseなシステムを持ちたくない(我が家の環境でPerl依存なものはもうほとんどない)ので、意見は保留。
「君ならどう書く」というセッションは、漢数字を扱う電卓ということで、面白く眺めさせてもらった。今回の漢数字の定義自身が、一般的ではない(世間的には無量大数まで万進のはず。今回はどの桁か忘れたけど万万進に切り替わる)こともあり、パースをどうするかというところが面白かった。(万万進の場合は人間が聞いてもよくわからなくなるので、少なくとも国内では廃れている。) 桁数が多くなれば誰しもがやるように、下の桁から勘定すればいいのよね。今回は個人的にはプログラム可能な電卓を作りこんでいたPythonのチームが秀逸であったと思う。
あと自由演技のsfの小林さんなのだが、科学技術計算という論点では特に行列計算ができる計算機という位置づけだったかと思う。この手の計算は特に実験系の人は常に悩ましいと思うのだが、測定器が吐き出すテキストデータをなんとかパースして、どう配列に取り込むかという点でいつも悩むところがあるが、このプログラムの場合データを表のようなものに落としこんでテキストファイルとして、テキストファイル自身が行列やベクトルをあらわして、ファイル名を記号として使えるような計算に特化したシェルのようなものという風に読めたのであるが、あの場で量子力学の固有値計算をするのはどうかと思う。説明によっては面白いと思うのだけど。ちなみに僕はあの規模の計算は普通にCで書くべきだと思う。いろいろ悩ましいけど。

2005年08月13日 土曜日

No Photo, No Life

時期を外してしまったが、最近の富士フイルムの宣伝で聞くフレーズなのだが、「No Photo, No Life.」だそうな。Tower Recordの「No music, No Life.」とのタイアップらしいんだが、写真も撮るし、音楽は聴くけれどという僕にとって、こうどっちも魂に訴えないんだな。音楽も写真も好きだし趣味ではあるが、それなくては生きていけないといったものではない。
僕にとってなにならば、「No Life」なのか… 考えてみた。「No Science, No Life.」とか「No Math, No Life.」でどうか。なんかしっくりきそうである。普段の生活で技術的なお仕事はしているが、Engineeringは魂をかき立てる存在ではなくてお仕事の対象。純粋なScienceとかMathematicsとかPhysicsの方が魂をかき立てるに値する存在だったりする。綺麗な方程式にまとまっていると、そこに写真や音楽以上に自然や論理の美を見いだすことができるからだ。普段思い出すことはなかなか無いんだけど、接する機会を失ったら、数学や物理を志した科学少年としての僕が僕でなくなる気がするのだ。

2005年05月15日 日曜日

Donald E. Knuth / 「コンピュータの数学

そんなわけで昨日からの続き。解析学が好きな自分としては、連続関数を対象とした関数論や微分方程式も面白い(あくまで現実の物理現象とつながりが必要)のだけど、数列や漸化式(懐かしい響きだ)、級数といった離散数学もなかなか面白い。(しかもこっちの方がコンピュータのアルゴリズムに通じている。) この手の話題は、行き着く本があって、Knuth先生のThe Art of Computer Programming vol.1に始まる百科事典というか歴史書のような本に行き当たるので、2年ほど前の新訳登場時から、_買わねばならない本だ_と思っていたので、昨日大宮ジュンク堂に出かけていったわけだ。
お値段もお値段なので、買おうか買わないか悩んでいたのだけど、The Art of Computer Programmingのとなりにこの本は置いてあった。題名は「コンピュータの数学」。原書のタイトルは「Concrete Mathematics」だから抽象数学ならぬ「具象数学」という変わった題名の本。ざっくり見てThe Art of Computer Programming vol.1の最初の半分を詳しく書いた本のようだ。お値段は同じくらいなので、こっちを買うことにする。
The Art of Computer Programmingの場合はいつも本棚に置いておいて参照すべき本のような気がする(それゆえ、必要なときにいつも立ち読みして読みふけっておしまいなのだけど)。やっぱりやはり教科書ではないと思うので、教育に適しているとは言えないと思う。ちょうど間を埋めるような本が欲しかったと言うわけだ。
スタンフォード大学では、Concrete Mathematicsという科目(1970年から, 86年までの半分の年はKnuth自身による講義)があるらしく、The Art of Computer Programming vol. 1のFundamental Algorithmsを使って講義していたらしいのだけど間を埋めるような本として、Knuth先生はこの本(だいたい600ページ)を約1年で書いたという。後ろに付いている参考文献の量を見てもただならぬ分量なだけに、やはり超人なのである。
1年以上は遊べる本だろうと思って購入してみた。いやぁ1ページ目から凄く面白く読んでいる。昨日の話題の和分・差分については、「2.6 離散系と連続系の微積分学」という所にまとまっている。あと手続きとかパズルの解法としての漸化式というのも問題としては面白い。語り口もなかなか良いので、お金と時間がある人にはお勧めするし、特にコンピュータサイエンスを志す(物理でも数学でもOKだけど)大学生は読んでかなり得るところは多いと思うし、変わった本で面白いので読んでおけと言いたい。また高校生から大学の初年度付近の世話をする人にはネタ本としておすすめかもしれない。僕としては、久しぶりに数学の面白い本を買ったので楽しみたいと思うのである。

2005年05月14日 土曜日

三角関数の離散系バージョン

結城 浩さんの読み物は非常に親切で読みやすく、きっちりと書かれているので、書籍もWebにおける文書・日記などもよく参考にさせていただいている。
そのなかで最近アップされた読み物「ミルカさんの隣で」から始まる離散系の解析の話がなかなかノスタルジックで楽しい。(ノスタルジックなのは多分僕だけ? 高校時代にこういう計算してみたことがある。) 連続関数における微分・積分に相当する差分・和分の導入、離散系バージョンのべき関数を探して、下降階乗べきにたどりつく。ゾクゾクするように楽しいのである。
さらにその続編「離散系バージョンの関数探し」では、さらに離散バージョンの指数関数・対数関数・三角関数と話が広がっている。鉛筆を持てば計算を追いかけることができるので、試してみるとなかなか楽しい。一つの演算規則から、これまで知っている世界の関数の対応物を探していくことはすごく楽しくて、数学を感じるところであるかもしれない。(こういう原体験は本来高校時代にあるべきなのだが。)
表題の「三角関数の離散系バージョン」は更にその続編であるが、離散系の三角関数がどうしても直感的に三角関数に思えないと言う話(周期性はあるが、絶対値がどんどん大きくなる発散数列)で、純粋な周期関数としての三角関数はどこに行ってしまったのだろうという疑問だと思われる。
僕も計算してみようと言うことで、三角関数に絞って計算をしてみた。出発点を波動方程式に対応する2階の差分方程式にしてみた。計算結果は結城さんが得ているものと同じになっているはず。残念ながら結局ちゃんとした周期関数にはならない。原因はどこにあるのだろうと考えてみたのだが、おそらく差分というものが持つ離散的な性質から来るものだろうと思っている。「ミルカさんの隣で」計算している差分はhを1にしたものだけど、hをそのまま残して、極限を取らない方法もあるはずで、hを0にした極限が連続にした関数ということにしておけば、自然につながると思うのだが…
僕の計算ではEularの式へのつながりが少し見える段階で止まっている。指数関数をどう導出し直せばいいものか悩んでいるところなのだが、良いアイディアはあるだろうか?
数式がいっぱいなので、

2005年05月13日 金曜日

Donald E. Knuth / 「至福の超現実数—純粋数学に魅せられた男と女の物語

Knuth先生が書かれた「小説」。旧訳があったはずなんだけど本屋で見かけなくなっていた本で、やっぱり版元から切れていたようだ。新訳となってリニューアルしていたようだ。学生時代(多分大学の1年か2年の頃)に読んだ本だけどちんぷんかんぷんでした。僕は数学が_全く_できない人なので…
今読んでみるとコンウェイの理論(で良いのかな)を元に、切断のような概念で数をどんどん作っていくのだが、何にもないところから論理的に実数の体系を作っていく。石版に聖書のはじめの文句のように書かれた文書を解読しながら、数というものはどう言うものかを考えさせてくれる感動的な本だ。ただ論理に付いていくのはかなりきついと思う(僕自身やっぱり半分くらいようわからん)ので、読むには気合いいるけどそんなに長くない本なので、繰り返し論理を追いかけてみよう。非常に面白いと思う。