Scipy.linalgをMac OS X 10.5.4でimportするのにハマる - "mach-o, but wrong architecture"って一体何.

seihiguchi2008-08-31


実験機器はインタフェースを含めてPython, けどシミュレーションはMATLABと無駄に使い分けているのが面倒ゆえ、どっちか一つに統一したいという要求がでてきました。MATLABで書かれた部分も結局実験装置を動かすときに使うため、実行時にいちいち書き換えるのが面倒です。行列の扱い方など、微妙に違うし。1,2日で終わるかなとおもったら、妙なとこで詰まりました。

問題

例えば、MATLABでいうexpm.mが必要なので、scipy.linalgを呼ばないといけません:

import scipy.linalg as L

とかいうふうに、線形代数のモジュールを使うためにimportすると、

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/scipy/linalg/flapack.so,

no suitable image found.  Did find:

/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/scipy/linalg/flapack.so: mach-o, but wrong architecture

と全くもって意味不明。どうやら、いろいろなページを見たり、fileコマンドを実行して問題の flapack.so などの scipy/linalg/以下のディレクトリにあるファイルを見ると一部、PPC用にしかコンパイルされていないようです。


解決

解決方法は次にありました:

[SciPy-user] Installing Scipy on OS X 10.4 - wrong architecture files:
http://projects.scipy.org/pipermail/scipy-user/2008-February/015547.html

どうやら、fortranコンパイラ、gfortranのバージョンが古いためにPPCにしかコンパイルしてくれていなかった模様です。このMacには4.1が入っていました。


以下のサイトから、Intel Mac用の最新バイナリ(4.4)をインストールし、再度scipyをクリーン・インストールすると成功しました。

http://gcc.gnu.org/wiki/GFortranBinaries


恐らく原因としては、Intel Macへ乗り換えたときに、PPC Macのディスク内容をターゲットディスクモードでそっくりそのままコピーした為ではないかと思われます。そのときにgfortranがPPC用の古いまま移動されてしまったと。意外な落とし穴でした。

MATLAB - NumPy/SciPyの互換表

MATLAB関数をNumPy/SciPyで置き換えるには意外とこういうサイトが役立ちました。

NumPy for MATLAB users:
http://mathesaurus.sourceforge.net/matlab-numpy.html

SciPy Course Outline:
http://www.rexx.com/~dkuhlman/scipy_course_01.html

Who Took My Money?

Robert Kiyosaki著のWho Took My Money?を借りたので読んでみました。

Rich Dad's Who Took My Money?: Why Slow Investors Lose and Fast Money Wins!

Rich Dad's Who Took My Money?: Why Slow Investors Lose and Fast Money Wins!


一点、117~118ページにある以下の記述の内容がすぐに理解できなかった. ていうか、絶対、意味不明.

(assume rental income only breaks even with expenses and the property appreciates at a rate of 5 percent a year.)

Choise 3:
Invest $20,000 and borrow $180,000 from the bank for a pound, you borrow out the appreciation every two years and invest it in a new property at 10 percent down.

After seven years: the total value of your properties will be worth $2,022,218 and your net equity is $273,198, assuming no market fluctuations.

AVERAGE ANNUAL RETURN ON A $20,000 INVESTMENT = 180.9%

不動産価値が年平均5%で増加すると仮定、10%の頭金+90%を銀行から借り入れて$200kの物件を購入。家賃収入は支出とトントンになると仮定。2年ごとに資産価値が増加した分をcash outして新たな物件に投資することを繰り返す。7年後には全ての物件の総価値は$2Mを超える。


2年ごとに、ざっくり$200k強の物件を買い足すのだから、7年後には合計4件の物件を保有、大体$900k程度にならんとおかしいんではないかぁーー、と一人でおかしぃ、おかしぃ、と考えておりました。しかしながら、次の図に示すように、例えば2年後に購入した物件も同様に(仮定に従うと)価値は増加、投資開始から4年後には$200k程度の物件が買えるので、実はどんどんネズミ商法的に増えます。投資開始から4~6年後にはfull time jobになってしまうんかいな。。。?

著者に向かってもうちぃっと詳しく計算の式とか書きなさいよ、と言いたい。


もちろん、これはかなりざっくりした計算でありますから、この数字はかなり理想化された条件ではじき出されるものと言えるかもしれません。この計算はあくまでも、"capital gain"に投資した場合の数字であり、"cash flow"については考えられていません。上手くマネージメントすれば、"cash flow" つまり家賃収入からもかなりの現金収入が得られる可能性が大。さらには、確定申告時には、減価償却費の損失から税金が返ってくる可能性もあり(最低限、課税対象収入は軽減) 。


これは、人生の第2四半期の指標とするべきかもしれません。なんらかの形で得たお金は、ぜひともいまいる学校とか、お世話になっている家族とかに還元できるようになりたいものです。10% downを準備するのがちぃっと大変かもしれませんが、Rocket Scienceの100倍は楽でしょう。


就職後に間違ってもやってはいけないのは、次の2つ。

明日から休暇

明日から短い休みをとりました。とはいっても、書き物を集中的に進めたいと思っているので、単に学校に顔を出さないだけになるので、休んでいるのかどうかよくわからなくなるかもしれませんが。けど、短期集中してリラックスもしてきます。いいかげん80切りたいし。。。

最後の成果物は学校指定のテンプレートに切り替えて、見栄えだけはよくなりました:

http://help-csli.stanford.edu/tex/suthesis/

実験装置が大改修されてしまったので、以前に書いた実験装置やモデルの章はかなり改訂が必要。とにかく半年待ちで装置ができてよかった。また、学校指定の論文用の紙など、意外と印刷代が高いらしい(自腹?)ので、ページ数は100枚ちょっとに留めるのがいいらしい。

初めてきたPG&Eからの請求書

今月から初めて電気代 (PG&E) を自分で支払うわけですが、請求書を開けてみて仰天。

2008/7/16 - 2008/7/29 の2週間で、$5.30

ちょっとこれは今後の予算を立てる参考値になりにくい。


$5.30 x 30/13 = $12.23? うーん、微妙。

今日は誕生日でした

今日は誕生日、ということで近くのビール屋で乾杯。

本日は注文してませんが、Gordon Biersch のcheeze burgerは意外と旨い。個人的にはPoppy RidgeのThe Grillのburgerが最高。



また、今日は夏休みにインターンで研究活動に参加した高校生たちのポスター発表会でした。高校生とは思えないくらいよくできています。どうして皆、あんなにプレゼンテーション(話す事、スライドやポスターに書く事)が上手なのだろうか。

ここのところ日本で騒がれているのは学力、学習内容(いかに難しい試験問題が解けるか)ばかり注目している気がするけれど、コミュニケーション能力を育てるとか、人と仲良く協力してゴールを達成するとか、もっと数値化されない部分を鍛えることに注目しても良い気がする。かといって、アメリカでも「やれ、ACTのスコアだ」、「SATの平均点が、」とか点数を稼ぐことに躍起する部分もありますが、私の経験の範囲ないではまだまだ偏りすぎているかも。だから「偏」差値なんてものばかり気にするのかな。

僕がmentorをさせていただいた子は来年から大学へ進学、Physics,特にAstrophysicsを専攻したいそうです。アメリカ人の理科離れを外人がサポートするって面白い構図だなと思いました。

天ぷら

この地域で天ぷらをいただくとなると、超高級日本食料理屋へいかないと食べれないらしいです。レストランに関しては知識がとぼしいのですが、天ぷらってなかなかいただけないですよな。日本でも家で作って貰う以外は、外で食べたことはないような。。(天ぷらうどんなどは除いて)


というわけで、料亭の質には遠く及びませんが、屋外で揚げたてをその場ですぐにいただくということをしました。天ぷらの腕も上がってきたかもしれませぬ。衣は氷水と冷蔵庫から取り出した直後の卵、小麦粉をいい加減に混ぜるのがポイントかと。

今回は基本的なもので野菜中心でした。

  • なす
  • ピーマン
  • にんじん
  • しいたけ
  • タマネギ
  • さつまいも
  • カボチャ
  • ズッキーニ (これが意外と旨いのです。ウリ科の食べ物だし)
  • エビ


次回は、

  • しめじ
  • ごぼう、ネギ、にんじん、干しえびのかき揚
  • たこ、いか
  • かれい、たら

などいきたいですな。。


屋外で行うメリットは油の飛散を心配しなくていいことと、後は揚がった直後に食べられるということです。台所や店内(カウンターを除く)でいただくときは、どうしても調理場と食卓の距離が離れてしまいますので、そこで時間のロスが発生します。今回のように屋外ですと、カウンター席で頂くかのように(実際に私はそんな場所へ座ったことはないのですが。。。)目の前で食すことができる点においてよいようです。