02/25 aiueo 01/01 かがみ 01/01 ゼルプスト殿下 01/01 かがみ 01/01 ゼルプスト殿下 05/10 かがみ
3月23日に亡くなられたそうです。 http://www.ams.org/ams/inmemory.html#cohen
コメント
最近眼鏡をかけた状態で本を読むのが不可能な状況に陥り、かといって眼鏡を はずして読むと、10cm 位まで近づけないと読めない。さらにその場合両目で は全く焦点が合わないので、片目で読む必要があるという非常に不便な状況な のです。
さらに PC 上の小さい文字も見づらくなってきたし (MacBook のくるくる画面 拡大のお世話になりっぱなしです)。一番困るのは勉強をするときです。本に 目を近づけないと読めないので、ノートに写しにくいのです。写す分を記憶し てから今度はノートに目を近づけて書く。両方同時に見ることが出来ないので す。これでは余りに不便です。なんか最近いまいち勉強の調子が上がらないの はこれが原因かも (違うかも知れませんが)。
というわけでもう一つ眼鏡を作りました。近視矯正用ですが実質老眼鏡です。 現在使用している眼鏡は矯正後の視力が1.2 程度で (眼鏡をかけないと 0.01 位) 遠くのものを見るにはちょうど良いのですが、近くのものが見えないし、 若干矯正が強過ぎ目が疲れるようです。新しく作ったのは一番良く見えるのが 40cm 位の距離だそうで、遠方に関しての視力は 0.5程度になります。車を運 転しない限り日常生活には困りません。両刀使いでも良いし。割と強い乱視も 入ってるので、出来上がりは来週になりそうですが、眼鏡屋さんのレンズを動 的にいれかえるやつで実際に本を読んだところ、非常に快適です。これで勉強 (あと仕事ね) が進むようになると良いのですが、はてさてどうなることやら、 こればかりは分かりません。
コメント
あちらこちらで選挙をしてるみたいで、神奈川県でも知事選が行われているる ようです。で、ここで候補者についてどうのこうとかは書きませんが、考えて みると私は立候補できないのです。もちろん今回の知事選にはもう出れません が。そういう理由ではなく、さらに出る気があるわけないとか、お金がないと か、出ても当選するわけがなく、恥をさらすだけということよりはるかに深刻 な状況なのです。
肩が痛くて万歳ができない (笑)
いやはやこれでは測度 0 の当選確率とはいえ情けなさ過ぎます。というか本 物の政治屋さんが五十肩になったらどうするのだろう。引退する以外道はない と思うのですが、五十肩で引退という話は聞いたことがありません。その割に 年寄りが多いので、五十肩に見舞われている人も何人かいるはず。選挙当日に は痛み止めでも打つのだろうか。大いなる謎ですな(^^。
コメント_ni-capo [かがみさんが心配?なさっているのは、当選したときの状況でしょうか?だとすれば、万...]
_かがみ [ni-capo さんこんにちは。あれっ、当選した人って万歳してませんでしたっけ。...]
今日から明日にかけて、一泊二日でつくば出張です。
コメント
二年前からおうちにいたハムスター が死んでしまいました。安らかに眠りたまえ。
コメント
2007年3月13日のコメント欄に Standard Model さんからコメントを頂きました。ありがとうございます。で、 Standard Model さんの言われる通り、数学 (内部) で考える場合、「標準的 自然数」はそのコンテキストで考えている、集合論の理論、もしくはモデルに おける で良いような気がしてきました。少なくとも形式的に考える場合、他に選択肢 がなさそうに思います。
で、ここからはある意味数学外の疑問と言うか、単に私が知らないだけなのか も知れませんし、論理学やモデル理論に関し集合論の勉強で必要になるたび、 つまみ食いしている程度の状況なので、本当に見当はずれなのかも知れません。 さらに (ト) 的な内容になってしまうかも知れませんが、ご容赦の程を。
つまり集合論の
を「標準的自然数」と考えた場合、その辺りは (形式化された) 計算理論とも
結びついてくると思いますし、計算可能等の概念にも関連してくると思うので
す。ところが、集合論のおける
について、我々の通常の直感で考える「自然数」を忠実に表現している保証は
全くないわけで、(私自身数学の他方面の応用について、建前上は関心がない
というスタンスをとっていることはおいといて) それが本当に「機械に計算で
きる」という概念と結びつくのか良くわからなくなってしまうのです。この辺
りは「数学的な概念が特に理論物理において大成功をもたらしている」ことと
の類推で考えれば、現実の応用において問題が生じないし、どちらにしろ形式
化されてしまえばその実体がなんであるかはどうでも良い、と考えることが可
能かも知れませんが。うーん...。
ところで、どうしてこんなことを考え始めたかを列挙しますと、
(1) の勉強をしていて、本当の論理式での の有限列と形式化された論理式での同様の有限列に乖離があることを最近知った。(2) ゲーデルが、「数学的には一番分かりにくいと思われる」チューリングマ シンを他の「計算可能概念」に比して、非常に高く評価していたという耳学問。 これは上の疑問とは直接関係なさそうですが。
(3) 自然数の「非標準モデル」についてネットでの話題をいくつか見かけた。
あたりです。集合論もそうですが、論理学やモデル理論は明らかに勉強不足で す。とはいえ、なかなか集合論の基本的な部分で手一杯というのが情けないと いうか、つらいところではあります。
コメント_通りすがり [問題は「標準的自然数」の形式的定義によって、何を期待するかです。Standard...]
_かがみ [通りすがりさん、こんばんは。あれっ、話が通じてないですか? 言及されている部分は...]
_通りすがり [すみません、読み取れませんでした。「我々の通常の直感で考える「自然数」を忠実に表...]
_かがみ [通りすがりさん、こんにちは。こちらこそ分かりにくい表現で申しわけございませんでし...]
_通りすがり [おっしゃるとおり、計算可能性は、実質の話なので、形式的定義に馴染まないでしょう。...]
_かがみ [通りすがりさんこんにちは。確かにこの辺りを考えると案外微妙というか、訳が分からな...]
ちと仕事で 3x3 実対称行列の固有値を求める必要が発生。速度が命です。とある方 が教えて下さった http://math.nist.gov/tnt/documentation.html のテンプレートクラスを使用して実験してみました。で、C++ のテンプレート の作法が良くわからないので、試行錯誤でやっとこコンパイルを通したのが下 のソース。
MacBook の CPU を一つ使って上の計算百万回実行が 4秒程。一秒間に二十五 万回 3x3対称行列の固有値と固有ベクトルを求めることができるわけです。こ れって速いんですか? 良くわかりません(笑)。ちなみに、上の M を 100 と して (100x100 行列) 一回りだけ実行すると 0.03秒程。これって速いんです か? 良くわかりません(笑)。(sample.cc) -------------------------------------------------------------- #include <iostream> #include <stdlib.h> #include "tnt.h" #include "jama_eig.h" using namespace std; using namespace TNT; using namespace JAMA; int main(int argc,char **argv) { const int M=3; int i,j,count; Array2D<double> A(M,M); /* create MxM array */ Array2D<double> B(M,M); /* create MxM array */ Array1D<double> C(M); /* 左上半分を充填 */ for (i=0;i!=M;i++) { for (j=0;j<=i;j++) A[i][j]=random()/(double)(1LL<<31); } /* 対称行列にするため右下半分にコピー */ for (i=0;i!=M;i++) { for (j=i+1;j!=M;j++) A[i][j]=A[j][i]; } /* ベンチマーク */ for (count=0;count!=1000000;count++) { /* cout << A << endl; */ Eigenvalue <double> E(A); /* A の固有値と固有ベクトルを求める */ E.getV(B); /* 固有ベクトル行列獲得 */ /* cout << B << endl; */ E.getRealEigenvalues(C); /* 固有値ベクトル獲得 */ /* cout << C << endl; */ } return(0); } --------------------------------------------------------------
固有値関連の具体的な計算は、学生時代テスト前に、2x2行列のみ仕方なく行っ ただけというのは内緒です。可換環を係数とする加群上の線型写像とそれに伴 うコホモロジー等ははそれなり勉強しましたが、行列って真面目に勉強したこ とないです(弱)。
コメント
結局奥さまに使ってもらうことにしました。そもそも残金精算で損をする以前 の話として、 このような不祥事を起こ してるので、 はい!あれこれ言う資格はありません(笑)。
(関連リンク) 2007年3月19日 PASMO使ってみた
コメント
亀のごとくのろい歩みですが、ゲーデルの に関して勉強中です。いやはやそれにしても時間がかかること。で、やはり何 らかの形で勉強した内容を公開したいとは考えているのです。ただし、 で連続体仮説と選択公理が成り立つ事実までとしても、充足関係とそれに付随 する種々の論理式に対するコード化は必須であり、それを細々書いていると、 私の力ではテキストの丸写しということになってしまいます。この辺り現在考 慮中なのですが、おそらくコード化の定義辺りまでをそれなりきちんと記載し、 細かい証明は省略するという形になると思います。近々何らかの形で開始し、 うまくゆかないようなら、別途方法を考えるということで。それにしても、一 般的にゲーデルの他の二つの業績 (完全性定理と不完全性定理) に比して、 の人気が今ひとつという感じているのは私だけでしょうか。数学的には一番奥 が深い感じがするのですが。
コメント
私の通勤経路は、藤沢から登戸まで小田急線、登戸から分倍河原まで JR です。 定期の場合、一本にまとめることができ、それほど不便ではないのですが、な んせつくばへの出張が多く、その場合定期と Suica だけではまかない切れず、 毎回切符を購入したり、定期の乗り越し清算をしたりと、不便な面もあったの です。
ところがうわさによりますと、最近私鉄で導入された PASMOは Suicaと相互運 用性があるそうで、さらに駅員さんに聞いたところ、定期に関しても小田急と JR の乗り継ぎを一本化できるそうなのです。というわけでさっそく購入 (保証金みたいなの500円) して定期の内容もコピーしました。
世の中何でも便利になれば良いとは思っていませんが、合理性がある範囲で便 利になる場合どうしても手が出てしまいます。意志薄弱です。Suicaの方は解 約して、残金と500円を返してもらう予定ですが、なんせ JR のみどりの窓口 はいつも混んでて、待ち時間が長いのが欠点です。まあこんどひまなときに。
コメント_Y.Kumagai [私鉄って何ですか(笑)なるほど、都会だとそういう悩み事があるのですね。こちらは選...]
_Joe [>かがみさんSuicaやPASMOは、残金がある状態で払い戻しをすると手数料\\...]
_かがみ [Y.Kumagai さんおはようございます。私鉄って電車なんですよ (笑)で、福...]
_かがみ [Joeさんコメントありがとうございます。そうですか、手数料がかかるのですか。確か...]
_通りすがり [細かい話ですが、手数料の\\210ってもともと切符の払い戻しのときのものなんです...]
_ni-capo [PASMOはSuicaと相互利用できると聞いて、じゃあSuicaを持っていれば、...]
_かがみ [通りすがりさん、こんばんは。そうですか。あれは払い戻し手数料なのですか。北海道 ...]
_かがみ [ni-capo さんこんばんは。あれっ、ほんとだ。私が PASMO にしたのは単...]
_Joe [>ni-capoさんSuicaで私鉄や都バスに乗れますよ!ただし、バスの場合は古...]
_ni-capo [>Joeさんお教え下さってありがとうございます。PASMOに買い換えなくてもよい...]
一昨日のコメントでロッサーの不完全性定理について通りすがりさんに教えて 頂きましたが、丁度私自身前原先生の本でざっと眺めたので、結果のみやや表 現を変更し引用します。
(ロッサーの不完全性定理) まず を満たす関数を体系内で定義することが可能で、さらにこの関数は数値別に表 現可能であることが証明できます。そしていつもの通り「 は論理式であり はその証明図である」ことを表現する論理式を とします。そして論理式 を
と定義し に対し対角化を行った論理式を とすると
が成り立ち、 がω無矛盾に無関係に決定不可能な論理式となるそうです。さらに直感的には と は (証明図の途中に否定の証明は現れないという意味で) 似たようなものです が、驚くべきことに次の「クライゼルの注意 (もとねたはウィトゲンシュタイ ンらしい)」が成り立つそうです。
は証明可能妥当であるかどうかは別として、解釈を変更すれば、「自分自身が矛盾しない」 ことが証明可能なわけです。この辺りは15年程前にざっと読んだのですが、全 然理解不足です。今度真面目に読んでみたいと考えています。
(関連リンク) さかいさんの日記 (2007年3月13日)
(参考文献) 前原昭二 著 数学基礎論入門
コメント_通りすがり [体系における証明検査述語BとB*が外延として同じものだとしても、それを体系内で証...]
_かがみ [通りすがりさん、こんにちは。関係 B(m,n) と B*(m,n) は個別の具体...]
_Standard Model [>妥当であるかどうかは別としてこのあたりのことは「確かさを求めて」(培風館)のR...]
_通りすがり [Standard Modelさんに質問ですが、体系内の証明のカット除去可能性は、...]
_Standard Model [>通りすがりさん私は別に特にこういう話題に詳しいわけではないので、通りすがりさん...]
_かがみ [Standard Model さん、こんにちは。反応が遅れて申しわけございませ。...]
いやはや、おおはまりで出張が一日延びてしまいました。
コメント
つくばより。おとといおおざっぱなことを書きましたが、今日もおおざっぱです。 おとといの直感の根拠としては がともに自然数論の公理を満たすモデルとするとき は で定義不可能ということです。実際 で数学的帰納法が成立するので、 を定義したと思った瞬間 です。
ただし、さかいさんの疑問は の中で理論 を定義した場合のことですので、少々事情が異なります。さらにここからいまいち 自信がないのですが、 での証明可能性に対応する論理式を構成するとき、数学的帰納法を使い、 さらに直感的な自然数に対する数学的帰納法と、理論での数学的帰納法との 対応が良好である事実を使用していると思うのですが、上に書いた事情で では良好な関係が成立しないと思われます。 で からの証明可能性を定義しても、 本当に での証明可能性を表現しているか、ということで元の意味は失われそうです。 全く自信なしですが。「本当に有限」という概念が体系内で定義不可能なのが ネックになりそうな。全然違うかも知れませんが。
というかロッサーの不完全定理はどうして成り立つのだろう。忘れました (弱)。 さらに、余り大きな声では言えませんが、どうしてチャーチのテーゼが成り立 つと信じられるのかも分かんなくなってきました (笑)。こちらは勉強不足と いうことで。
(付記) と書き終わったら、さかいさんのところに正解が。形式的にと自分で 言ったのに、意味論的に考えてはまったのは私のようです。
(さらに付記) 上の最後の疑問で、要するに私がはまっているのは、前にも書 きましたが、「標準的自然数」のフォーマルな定義がそもそも存在するのかと いうことなのです。いくら考えても分からないです。
(関連リンク) さかいさんの日記
コメント_さかい [ロッサーの不完全定理がどうして成り立つのか私も不思議です。聞くところによると、ゲ...]
_通りすがり [http...]
_かがみ [さかいさん、こんにちは。どうも色々いい加減なことを書き、申しわけございませんでし...]
_かがみ [通りすがりさん、こんにちは。ローサーの不完全性定理は丁度前原先生の「数学基礎論入...]
_Standard Model [標準的自然数に関してはかがみさんの以前の記事からちょっと考えていたのですが、何と...]
_かがみ [Standard Model さん、コメントありがとうございます。いまいち的確な...]
_かがみ [(2008年6月26日) この日のコメント欄に集中的にスパムが入るので、この日の...]
今日から一泊二日でつくば出張です。
コメント
さかいさんのブログ にあんまり真面目に考えてないつっこみです。いや、少しはまじめに考えたので すが、明確な定式化までは至らず。
理論のモデルを考えることにより (そのモデルでは) 真偽の概念を表現できる というのは確かに正しいのですが、「真偽」という直感に頼りすぎるとはまる かも知れません。あくまでも形式的な議論が必要かと思います。そもそも今回 の場合、モデル内で、(形式化された) 理論がω矛盾とか定義可能なのだろう かと疑っております。いずれにしても、証明不可能論理式に関しては、ω矛盾 の方に拡張した場合、直感的には「超自然数」が証明図になるという感じでしょ うか。
コメント_通りすがり [向こうでも書きましたが、?Gが真であるモデル(ω矛盾)は、「証明可能なのに偽」と...]
_かがみ [通りすがりさん、こんばんは。ω矛盾するモデルは最初はびっくり仰天でした、最近はあ...]
いや、当然のことながら最近とみに神経質になり、自明なことを長考したり色々 あります (汗)。そうは言うものの、自明でないことを自明と思ったり、あま くさえ定義不可能な列を考えないようにしないと。
コメント
おととい の続きですが、教えて頂きまして、こういうプログラムを Quine というそう です。有名な論理学者、 ウィラード・ヴァン・オーマン・クワイン 由来の名前のようです。で、結論ですが、やはり世の中好きものが多いらしく、 こちら (Quine Page) に大量のプログラムが掲載されております。面白いのを引用しますと。
Author: Erkki Ruohtula (eru@tnso04.tele.nokia.fi) ------------------------------------------------------- #define n(v,w) v(#w"\nn("#v","#w")");} n(main(){puts,#define n(v,w) v(#w"\nn("#v","#w")");}) -------------------------------------------------------
そかっ、マクロを使うという作戦がありました。実は上の意味は良くわかんな いのですが、実行するとちゃんとおんなじものが出力されます。ただし、これ は printf() を使ってはいないのですが、なんとなくマクロが反則っぽいです (笑)。
それより驚いたのは次。
(コード中の改行はすべて削除して実行して下さい)Author: Dave English--------------------------------------------------------------------- char x[]=" main() { int i; putchar(99); putchar(104); putchar(97); putchar(114); putchar(32);putchar(120); putchar(91); putchar(93); putchar(61); putchar(34); for(i=0; i<strlen(x); ++i) putchar(x[i]); putchar(34); putchar(59); for(i=0; i<strlen(x); ++i) putchar(x[i]); putchar(10); }";main() { int i; putchar(99); putchar(104); putchar(97); putchar(114); putchar(32); putchar(120);putchar(91); putchar(93); putchar(61); putchar(34); for(i=0; i<strlen(x); ++i) putchar(x[i]); putchar(34); putchar(59); for(i=0 ; i<strlen(x); ++i) putchar(x[i]); putchar(10); } ---------------------------------------------------------------------
なんと putchar() のみで実行できるのですか! これはびっくり仰天で す。というわけでおとといの私の予想はおおはずれだったのでした。実は上の プログラムの意味も良くわからないのが情けないです (弱)
コメント_通りすがり [Quine\'s Paradoxというのがあるそうです。http...]
_かがみ [通りすがりさん、こんにちは。GEB は 20年以上前に読みましたが、たしかに「ク...]
分かってしまえばほとんど自明といういつものパターンでしたが、基数 に対する の「中での」基数に関するまとめです。 このような場合、 の 未満の基数が の基数となるのは本当に自明です。実際 が の基数でないと仮定すると と での全射 が存在しますが、これは での全射となります。基数という性質が 論理式で記述可能である帰結でもあります。以降 を仮定します。逆についてはゲーデルの圧縮レンマが必要と思われます。
(ゲーデルの圧縮レンマ)
を極限順序数し を初等的埋め込みとします。このとき の推移的崩壊 を考えると を満たす極限順序数 が存在する。が での基数ではないと仮定します。このとき と での全射 が存在します。ところで なので が存在し 従って (本当は である)。 とすると なので 従って 今、極限順序数 で なるものをとると が成り立ち は推移的。するとスコーレムの定理により、集合 で を満たすものが存在します。ここで の推移的崩壊 を考えると は推移的であったので、この上で は恒等写像。さらにゲーデルの圧縮レンマにより、極限順序数 が存在し を満たします。 は を動かさないので 従って は での から への全射となり は での基数となりません。
なんか最近 に関して非常に断片的で、さらに自明なことばかり書いてますが、慣れるまで なかなか大変、ということでご容赦の程お願い致します。
コメント
下のプログラムは、前にもこの日記で書いたことがあるかも知れませんが、私 が大分前に作ったもので、自分自身と同じ内容を出力します。
余り見やすくないですが、文字 'L' (=0x4c) は改行に置換され、'Z' (=0x5a) はダブルクオーテーションに置換されます。strsed() は文字列の中の文字 ch1 を文字 ch2 に置換して副作用を返す関数で (どうして戻り値が int なのだろ う? まあ気にしない) strcpy2() は strcpy() と同じです。ライブラリー依存を 極力避けたかったので記述したのだと思います。$ cc same.c $ ./a.out >same.out $ diff same.c same.out $
実際書いてみようと思うと分かりますが、このようなプログラムの実装には 「コード化とメタ機能」は必須のようで、上に書いたように ascii コードに べったり依存していますし、メタ機能としては printf() のフォーマッティン グを使用しています。
(分からないこと) 下のプログラムは出力に printf() という強力なメタ機能 を使用しています。長くなるのでとてもやる気がしないのですが、printf() と同等の関数を自前かつインラインで実装すればなんとかなるのでしょうか。 頑張れば putchar() のみで実装できるとか。なんかだめな気がするのですが、 本当のところご存知の方らおられましたら、教えた頂けると大変うれしいです。
下の記述をそのままファイルにしたのは こちら です。
(File same.c) --------------------------------------------------------------------------- #include <stdio.h> int main() { char ftmt0[]="#includeLLint main()L{L char ftmt0[]=Z%sZ;LL char ftmt[1024];L char str[1024];L strcpy2(ftmt,ftmt0);L strsed(ftmt,0x5a,0x22);L strsed(ftmt,0x4c,0x0a);L strcpy2(str,ftmt0);L printf(ftmt,str);L return(0);L}Lint strsed(char *p,int ch1,int ch2)L{L for (;*p;p++) {L if (*p==ch1)L *p=ch2;L }L}Lint strcpy2(char *d,char *s)L{L for (;*s;s++,d++)L *d=*s;L *d=0x00;L}L"; char ftmt[1024]; char str[1024]; strcpy2(ftmt,ftmt0); strsed(ftmt,0x5a,0x22); strsed(ftmt,0x4c,0x0a); strcpy2(str,ftmt0); printf(ftmt,str); return(0); } int strsed(char *p,int ch1,int ch2) { for (;*p;p++) { if (*p==ch1) *p=ch2; } } int strcpy2(char *d,char *s) { for (;*s;s++,d++) *d=*s; *d=0x00; } ---------------------------------------------------------------------------
コメント
とある場所で、社会人の勉強はそれなり大変なのでは、という話題があったの で。そもそも、私って一応社会人なのかとか、そもそもいまやってることが勉 強というレヴェルなのか、ということはおいといていくつか感想を。
なんのかんので数学好きなのでしょうなあ(^^。
コメント
土曜日の続き。そもそも の内部がどうなっているのか、いままで漠然と考えてきたことに関し、大量の 間違いがあるかも。過去に記載したこと等、真面目に考え直さないと。
(追記) 土曜日の基数の話題について。 そもそも一般になぜ で置換公理が成立するか分析します。まず を論理式とし、 を仮定します。今 とし、各 に対し とすると、 これら全体は での置換公理で の集合となり の上限 をとると
上記を参考に、正則基数 に対し で置換公理が成り立つ証明。 を正則基数とします。上記証明で を に置換した論理式 を考え、束縛の領域等もすべて に制限すると、 は 上定義可能。ところが の での正則性と であることにより、上記と同様の上限 (こんどは での置換公理を使用) 従って が の束縛に関して条件を満たします。
最後に を仮定し (簡単のため) での基数問題です。 に対し での全射 を考えるのですが、 は勘違いしてなければ の分析によりすぐに分かるのですが、 なのかどうか分かりません。上の分析を参考にすればなんとかなるかと思った ら、方向違いのようで。なんかすごく自明なことを見落としているのか? そ れとも案外難しいのか? ところで同様の議論で の場合、 が分かります。ということはへんてこな が存在すれば 以下わからず (弱)。← 大間違い下の方参照 (最弱)。
というか上の議論より例えば の基数、一般に極限基数 に対する の基数は の基数と一致するかも。ということは正則性の観点はまたまた方向違い。
(さらに追記) 上のは完全にレヴェル違いで、
は問題ありません。実際
なので、
が存在して
とすると
を満たす集合
が存在します。
そこで
の推移的崩壊を
とすると
さらに
は
の推移的な集合の要素なので、
レヴェルを一つ間違えてました。情けない。
(結論) とし を基数とするとき の 未満の基数と の基数は一致する。大混乱しているので後で書き換えるかも知れません。
(参考文献) Keith J.Devlin著 Constructibility
コメント
悪化してます (笑)。うーん、Web の色々な文献によると半年か一年で自動的 に直るはずなのですが、日記を見ると発症したのが 去年の 11月の始め頃。 なので、まだ四ヶ月です。ということは最短であと二ヶ月、最長で後八ヶ月 ということで、いやはやまだ先が長いこと。というか今が最盛期なのかも。
最近困っているのは、動かさないでも痛くなる場合があることで、特にキーボー ドを打ってるときに「ずきっ」と痛むと左腕全体が脱力し、キーボードに左手 が落っこちるのです。それから左腕全体がしびれたような感じになる場合があ ること。まあ、私はちょっとでも痛いと大騒ぎする方なので、ほんとはたいし たことないのでしょうが、なにかと不便なことは確かです。毎日PC と本が入っ たかなり重たいかばんを持って歩くのも良くないのかも。左肩にしょって歩く こと多いですから。右にしようかな、と考えないでもないのですが、ほら、万 が一右も痛くなったらまじ不便です。ほんと右だったら大の時不便過ぎますよ。 「不便」かつ「不運」です (殴)。
コメント
を仮定します。漠然と何も考えず が を満たすのは が正則基数の場合と思っていましたが大間違いでした。 を正則基数とすると はべき集合以外の集合論の公理を満たすのは正しいのです。簡単のために とすると、 すると、圧縮レンマにより可算な順序数 が存在して 従って ところで で なので での順序数の増大列 が存在して この列は に依存しているのであたりまえといえばあたりまえなのですが、そのままでは で意味をもたせにくく、実際、上の列を 上定義する論理式 ( なるもの ) が存在すると で置換公理がなりたたなくなり矛盾と思われます。なんというか 上の論理式の表現力の弱さが、逆に成り立つ公理を増やしている感じです。
上も結構悩んだのですが、いま困っているのは、例えば の無限基数は本当に だけなのだろうかということです。自明なのか、それなり証明が必要なのか、 成立しないのかわかないのです。
コメント
デュアルディスプレイにすると Expose や Dashboard がとってもぎくしゃく してかっこわるい MacBook ですが、そういえば、と思い出して Quarts 2D Extreme を有効にしてみました。プロファイラによると機能としてはサポート しているようです。
うーん微妙。やや動きがスムーズになった気もしないでは。分からない (笑)。root もしくは sudo で # defaults write /Library/Preferences/com.apple.windowserver \ Quartz2DExtremeEnabled -boolean YES その後リブート
(追記) 少なくともウインドウの上の方をダブルクリックして、もにょもにょっと 隠れるアニメーションは良くなってる感じ。マウスポインタの動きもスムーズに なった気がします。これも気のせいかなあ。分からない (笑)。
(関連項目) 2005年6月6日 Quarts 2D Extreme を有効にしてみる
コメント
昨日のトラブルの話です。実はそれほど微妙ではなく、UNIX 一筋 15年なのに、 こんな間違いをしたのは恥ずかしいのですが、なかなか面白いので。
(現象) ファイルの内容がある単位で重複して書かれる場合がある。
いやー、ソースのどこを見ても二回書いている感じではないし、メモリーを壊 している感じでもないのです。本当に一回しか書いてないつもりなのに、ファ イルの中身はあたかも同じ内容を二回書いたような状況。
悩んだ...。久々に悩みました。
で、私の作っているプログラムは組み込 Linux 用で、基本的に一秒間に一回 メイン処理を行う無限ループです。メイン処理の遅延は極力避ける必要がある のですが、それなり時間が (といっても 0.2 秒くらいですが) かかる処理を 別途行う必要もあるのです。こういう場合、メイン処理のループを遅延させな いため、fork() を使用するのが好きです。fork() して子供側は exec() しな いで、単に同じプログラムに書いてある関数を呼び出して終了するのです。こ うすればメインの処理と並列に動作しますし、負荷の面でもVM の書き込み時 コピーを考えれば問題ありません。
----------------------------------------------------------------------------- /* 事前にゾンビ防止のコードは書いておく */ ... pid=fork(); if (pid==0) { /* 子供 */ func(...); /* 関数呼び出し (I/O 待ちで0.2 秒くらいかかる可能性あり) */ exit(0); /* 終了 */ } /* 親はそのまま継続 */ ... -----------------------------------------------------------------------------
はい、全然だめなコードですね。だめなことは知っていたのですが、はまった ことがなかったので、油断してました。
実は問題のファイル書き込みはシステムコールではなく、標準入出力系のライ ブラリーを使用していたのです。fopen() 系ですね。ということはファイルポ インタや標準入出力系のバッファは fork() で (論理的に) コピーされます。 さらに exit() はファイル記述子を閉じる前にファイルポインタをクローズし、 その時当然フラッシュ処理 (fflush()) が行われるわけです。この処 理はユーザープロセス内で行われるので、親の方とは独立に行われます。その 後親の方が同じ内容を fflush() します。即ちファイルの内容が重複するわけ です。
正解は次の通りです。
----------------------------------------------------------------------------- /* 事前にゾンビ防止のコードは書いておく */ ... fflush(NULL); /* (A) 開いている標準入出力関連のバッファをフラッシュ */ pid=fork(); if (pid==0) { /* 子供 */ func(...); /* 関数呼び出し (I/O 待ちで0.2 秒くらいかかる可能性あり) */ _exit(0); /* (B) 終了 (後処理を行わない) */ } /* 親はそのまま継続 */ ... -----------------------------------------------------------------------------
修正点は (A), (B) いずれかで良いと思いますが、念のため両方。本当は _exit(), exit() の使い分けは真面目に考える必要がありますが、今回の用途 では_exit() で良いはず。
というわけで、少なくとも fork() する前に標準入出力を flush するのが礼 儀であることは知っていましたが、はまったことがなかったので甘く見ていま した。大恥をさらしましたが、いやはやほんと気がついて良かったです(^^。
コメント
2007年2月
2007年4月
更新履歴と日記の先頭に戻る
日記の目次
集合論雑記目次
はてなリング 数学の輪
トップページに戻る
谷山浩子さんのページ