Floating Log 2011/10

2011-10-30

玉川上水(立川断層)

玉川上水駅から、少し玉川上水沿いに歩いた。 この前、ブラタモリの新宿の回を再放送していたが、その中で玉川上水は立川断層を云々とタモリが久保田アナに説明していたのを聞いて、一度見に行かねば、と思っていたのであった。 一度見に行かねば、などと書いたが、確か小学生の頃どこかから拝島まで10数km玉川上水沿いを歩く遠足というのがあったので、一度見ていると言えなくもないが、小学生の頃に立川断層の存在を認識してはいなかったと思うので、そう思って見に行くのは初めてということである。

コースは玉川上水駅から隣の武蔵砂川まで。 大曲りと言われる立川断層の高低差を乗り越える部分は確かに流路が大きく曲がっていて、下流側の土手から水面までの高さと上流側のその高さとが変化しているのが見て取れる。 土手とその脇の土地との高低差もその辺りだけはっきりしている(といっても1メートルかそこら)。

ついでなので、武蔵砂川の北側も散歩してみると、大曲りの延長線には坂が並んでいる。 小学校が低い方に建っていて(とはいえこれは建てるときに土地を平らに削るかもしれず大体の目安)、門へちょっとした坂ができていたり、その先の工場跡地沿いの道の坂までは追える。

ついでのついでに立川に出て、立川女子高校の脇の坂も見てきた。 ここも幾つかのサイトで立川断層のものと言及されている地点。 とはいえ、これは本当に目立たない坂で、周りの平行に走る道には影もないので、気付いた人は凄いな。

全体的にわずかな高低差で、言われなければ断層とは全然判らない地形ばかりだった。 そういえば立川でモノレールが横切っているはずだが、対策は取っているのだろうか(耐用年数まで断層が動かない確率の方が高いのかもしれないけど)。

posted at 23:47:28
 
2011-10-27

比較の速さ

i と j が共に 1 のとき、どのように比較したら一番速いか、という重箱の隅をつついてみた。 今回も timeit で時間を計測。

「Python は比較の式を繋げるからいいよね」

$ python -m timeit -s'i = 1; j = 1' 'i == j == 1'
10000000 loops, best of 3: 0.176 usec per loop

「式の意味から一番自然なのは and」

$ python -m timeit -s'i = 1; j = 1' 'i == 1 and j == 1'
10000000 loops, best of 3: 0.123 usec per loop

あれ、意外に and で書いた方が速い。 いや待て。 一つ目が変数同士の比較と変数と定数の比較なのに対し、 二つ目は変数と定数を二回比べているというのが効いていたりしないか?

$ python -m timeit -s'i = 1; j = 1' 'i == 1 == j'
10000000 loops, best of 3: 0.157 usec per loop

ほら速くなった(でも and で書く方がまだ速い)。 ついでに逆パターン。

$ python -m timeit -s'i = 1; j = 1' 'i == j and i == 1'
10000000 loops, best of 3: 0.146 usec per loop

結論: 「変数同士の比較より変数と定数の比較の方が速いけど、それよりまず and で分ける方がずっと効果的」

posted at 20:52:32
 
2011-10-23

中杉通り

非常にローカルな話なのでタイトルの通りが思い浮かぶ人だけ読んでくれればいいです。 思い浮かぶ人でも地図を用意して読まないと判らないかもしれないので前もって警告しておきます。

その1。 中杉通りは現在都道427号線の一部になっており、阿佐ヶ谷駅から南下していくと青梅街道との交差点で行き止まりであるが、この都道はやや300メートルほど東側の交差点から南に入り、商店の途切れるやや太めの道で左折。 道なりに進むと五日市街道を渡るところで20メートルぐらい西にずれた細い路地に進む。 この路地は少し先に行くと松ノ木の商店街で、一応小型のバスが入ってくるぐらいの幅になり、その先は迷わず直進していくのだが、さてなぜこんなに変な道が一本の都道とされているのか。 以下推測で裏付けの無いことを述べるが、この都道、近くの古くからある道を代替するものなのではないか、ということである。 阿佐ヶ谷駅というよりは神明宮から、現在パールセンター・すずらん通りという商店街である道を通って、青梅街道にぶつかる。 この道が大体中杉通りと青梅街道に対して斜めにショートカットしていく。 この青梅街道との交差点がちょうど都道が南下を始める場所で、商店街の延長はその脇を斜めに入っていく細い道になる。 この細い道は東が梅里、西が成田東と町名の分かれる境界線になっていることからも古くからある道だということが推測される。 五日市街道とこの道が交差するところは都道の交差点からは100メートル以上東にずれている。 五日市街道を渡るとやや道幅は広くなり、右にカーブして松ノ木の商店街で都道に合流する。 先は大宮八幡まで一本道。 結局この道が商店街だったりあまりにも狭い道だったりで車を通せないから現在の都道で代替したのかな、と思ったという話。

その2。 先ほども述べた通り、中杉通りを阿佐ヶ谷駅から南下していくと青梅街道との交差点で行き止まりであるが、その先まだ延伸する計画が戦前からあるという噂を子供の頃に聞いたことがあった。 そう思ってみれば、中杉通りの正面はなぜ(周りが中層のビルなのに)2階建てでしかないのだろう、とか気が付くかもしれない。 そう、この計画は生きている。 都市計画道路補助133号という名前であることは図書館の都市計画地図で確認してきた。 ぐぐると目白通り千川通り間で開通した(練馬区)とか、日大の辺りで拡幅工事があった(世田谷区)とか、出て来る。 気になっている杉並区内の話は見当たらなかったが、たとえば 都市計画道路 補助133号線(補133) などという地図が一般の方により公開されていたりして、どこを通かは大体判る。 杉並税務署を通り(図書館で見た地図でも上で挙げた地図でも税務署の前ではない)、東田中学校の裏手をかすめて、善福寺川のすぐ東側で五日市街道と交差。 そのまま川沿いに進んだ後、川が曲がっていくので成園橋辺りで善福寺川を渡り、後はひたすらまっすぐ進んでいく、という路線らしい。

そもそもこの計画はなんのためなのか? というと東京都の防災関係の 資料 に計画中のものも含めて道路が延焼遮断帯という名前で描かれている。 大火事の時に延焼を食い止める線を引こうという大義名分があるらしいことが解った。 一方、都政モニターのアンケート結果 (区部における都市計画道路の整備方針(案)に帯するご意見) に「個別路線に対する要望 内訳」というのが載っていて、補助133号線に関しては整備推進1件、廃止・見直し19件という結果になっている(これは3番目に廃止・見直し意見の多い路線)。 でも、そんな意見は関係なく、多分計画は消えないのだろうな、100年先も。

posted at 01:00:00
 
2011-10-22

prefix からも gx86 が見たい

Gentoo prefix を使っていて、微妙にパッケージが更新されていなかったり、欲しいパッケージが無かったりすることがある。 そんなとき、まず確認するのは Gentoo メインツリー、通称 gx86 である。 メインツリーは prefix でない Gentoo のためのパッケージツリーなので、通常 prefix の環境には無い。

さて、そんな gx86 を見る方法だが、いくつか考えられる。 まず、(一番お手軽に) packages.gentoo.org をブラウザーで眺める、という方法がある。 一時期検索が機能しなくなったときは難儀したが、とりあえず欲しいパッケージ名が判っていれば簡単に探せる。 次に、バーチャル環境に Gentoo Linux をインストールしておく、という方法もある(Gentoo prefix を Gentoo Linux 上で使っている人はまあ、そもそもの問題が発生していないわけだが、ある意味でこのカテゴリー)。 Gentoo Linux が入っているのだから、その中に当然 /usr/portage/ があるわけだ。

最後に、今日の本題である layman を使う方法。 そもそも layman とは Gentoo で overlay を手軽に扱うユーティリティである。 Gentoo Linux の人にとっては gx86 はメインツリーであるが Gentoo prefix では通常 overlay ですらない(普通の意味で overlay 扱いすると多分悲惨なことになる)。 ということで、使い方に多少の工夫は要る。

まず、gx86 を layman にとって overlay だということにしておかないといけない。 そのためには xml ファイルを一つ用意する(サンプル)。 gx86 という名前の overlay で、rsync で同期して…とかそんな情報を DTD に従って書いたもの。 これを適当な所に置いて、layman.cfg の overlay セクションに file://... という形で追加する。 あとは

$ layman -L
$ layman -a gx86

で overlay として追加される。

ところで gx86 を本気で overlay として使うのは無理なので(せっかく prefix のツリーで prefix 対応しているものが見えなくなったり)、その対処が必要である。 個人的には実は layman で同期したものは、眺めて必要そうなのを自分の overlay に引っ張ってきたりするだけで overlay としては活用していないので、問題は無いのだが、layman の通常の使い方として layman の make.conf を etc/make.conf で source している人はそのままだとまずいことになる。 というわけで、対処法は…各自で考えること。

posted at 16:34:24
 
2011-10-21

活断層とは何か

池田安隆/島崎邦彦/山崎晴雄「活断層とは何か」東京大学出版会(1996)。 活断層を見分ける方法みたいなものを探してこの本を見つけた。 航空写真で立体視、その後掘ってみる、というような話なので、素人がどうこうできる方法ではなかったが。 この本自体は、1996年という出版時期から判るように阪神・淡路大震災のすぐ後なので、活断層が急にクローズアップされたのを踏まえて一般向けに解説しておこうというようなものだったのではないかと思う。

posted at 23:32:32
 
2011-10-20

日本経済改造論

野口悠紀雄「日本経済改造論」東洋経済新報社(2005)。 なぜかこんなものを読んでいる。 実行されている経済政策は誤解に基づいた筋違いだ、と言ってみても流れを変えさせる力はない、というような、なんとも無力感しか覚えない本だ。

posted at 23:43:12
 
2011-10-18

絶対値最小剰余

最近、とある計算で絶対値最小剰余を求める必要があった。 普通に a % m とすれば正最小剰余は求められるのだが、絶対値最小剰余はさらに一手間加えて求めなければならない。 法 m の半分を超えたら m を引く、というロジックそのままにこう書いた。

r = a % m
if r > m // 2:
    r -= m

長いとは思ったが用は足りるので、それでいいことにしておいた。

ところで、切り捨て除算(trunc)しかないときに四捨五入を求める方法として、trunc(x + 0.5) という式を使う方法がある。 というのを思い出して、絶対値最小剰余も同様の一つの式で書けることに思い至った。 h = (m - 1) // 2 として、(a + h) % m - h とすれば良い。 (ここで h = m // 2 としなかったのは m が偶数の時にちょうど半分がプラス側に来るように、つまり -m//2 < r <= m//2 が成り立つように、ということで定義の好みの問題)

さて、これで簡単に書けたが、このコードは速いのだろうか。 万が一遅くなっていたらどうしよう、といささか慎重に比べてみた。

$ python -m timeit -s'p=101;h=(p-1)//2' 'a=[i%p for i in range(p**2)]
> for i in range(p**2):
>   if a[i]>h:
>     a[i]-=p'
100 loops, best of 3: 4.11 msec per loop
$ python -m timeit -s'p=101;h=(p-1)//2' 'a=[(i+h)%p-h for i in range(p**2)]'
100 loops, best of 3: 2.44 msec per loop

速いらしい。

posted at 21:11:44
 
2011-10-12

グレブナ—道場

JST CREST 日比チーム(編)「グレブナ—道場」共立出版(2011)。 短い間だったがお世話になった JST CREST 日比チームによるグレブナー基底の入門書。 初歩的、ということではなく、多彩な広がりを紹介するものという意味で。 特に、コンピューターでどう扱うか、という点を丁寧に扱っているところが、他の本と比較して特徴的だ。 2章で KNOPPIX/Math を紹介し、7章で(その KNOPPIX/Math に収録されているような)ソフトウェアを縦横に駆使して(その間の章の)練習問題を解いてみせる。 何とも実践的な一冊である。

posted at 22:20:00
 

地震と活断層の本

小出仁/山崎晴雄/加藤碩一「地震と活断層の本」国際地学協会(1984,第3版)。 断層についてときどき話題にするのに、その割にまともに勉強したことがないので知識の補充。 地下で横ずれが起きたときそれが地上にどう現れるかという説明で、板の上に乗せた粘土がどう変形するかというモデルでいくつもの細かい亀裂が並ぶ雁行断層などを説明している辺りが、初めて聞く話として興味深かった。

posted at 09:02:08
 
2011-10-02

初めて台湾語をパソコンに喋らせた男

田村志津枝「初めて台湾語をパソコンに喋らせた男」現代書館(2010)。 タイトルから受ける印象はこの男の台湾語をパソコンに喋らせる業績に関する本だが、実際はほぼ著者とその男との交遊の思い出話の本。 もし映画関係者で田村志津枝という名前を知っていたならば、そんな誤解もないのかもしれないが、肩透かし感はかなり酷い。 図書館(で借りたんだけど)の棚が 828 でなくて 914 とかにあればまだ納得するかな。

ソフトの名称は MLTTS (本文中表記は MLTTSB だが B はβバージョンの意味とか書いてあるので推測はできた)。 調べると Taiwanese Speech Notepad 台語語音筆記本 という(古めかしい作りの)サイトにあるようだ。 Windows 用みたいなので試せないけど。

posted at 18:59:28
 
2011-10-01

列挙学校 (再放送)

列挙学校 (再放送) に参加してきた。 場所は逗子からバスで登った山の上の湘南国際村というところ。

出力の遅延を揃える(いつでも多項式時間とか定数時間とか)というポイントは今まで考えてこなかった種類の細かい詰めがいるのでちょっと難しいと感じた。

posted at 00:21:36
10月 2011
       1
2 3 4 5 6 7 8
9101112131415
16171819202122
23242526272829
3031     
9月
2011
 11月
2011

浮遊する思考・浮遊する言葉を拾い集めて記録しておくページ。

Python
Desktop
Server

© 2011-2013, Matsui Fe2+ Tetsushi