2008年6月 |
x = pow (x, y);と書くべき所を
pow (x, y);としただけで、のんびりしていた。 bug なんてこういうものだよね、 という教訓のために明記しておこう。
ボルツマンは「優美にすることは靴屋と仕立屋にまかしておけばいい」と言った。
では最後に自慢話をひとつ。
ぼくは自分が科学にまったく携わってこなかった者としては、 いちはやくアインシュタインの相対性理論を理解できた 数少ない一人だったのではないかと思っている。 これは湯川秀樹博士とのちょっとした蜜月が支えになったからなのだが (このことについてはまた書くことにするが)、 明けても暮れても相対性理論に集中した濃厚な日々も役立っている。
ずっとのちになって、当時、大阪大学理学部教授だった内山龍雄さんが 岩波新書に『相対性理論入門』(1978)を書くことになったとき、 内山さんから「どういうふうに書こうか悩んでいるんで、相談にのってよ」と言われ、 二人であれこれそのシナリオを練ったことがあるのだが、 そのとき内山さんは「君はどうしてそんなにおもしろく相対性理論のことが考えられるの?」 と聞かれた。正確ではないが、こんなふうに応えたのではないかとおもう。
「アインシュタインがおもしろそうに考えたということばかりが気になってましたから」。
かつてぼくは「炭男」(すみおとこ)と称していたことがあるんだね。 「半巡通信」というたった8ページのパーソナルメディアを、最初は300人に、 最後は4000人に無料で送っていたころのことです。7年ほど続けたかな。 その「半巡通信」のなかで、「ぼくは炭男だ」と書いた。 その炭男が発火すると火元になる(笑)。
(his) music falls somewhere between post-bop, funk-edged jazz, and R & B.とある(し、一般論としてそうなんだ)けど、この面子 (Steve Swallow - bass, Bill Stewart - drums)で、それは無いでしょうね。 このトリオの CD "en route" は持っているな。あんまり愛聴盤ではないが。
E-|-----------------|---------------|------------|--------------- B-|-8-7-6-5-4-3--3--|--6------------|---7--8---?-|-??--?-??---?-- G-|-9-8-7-6-5-4-----|-7-757---7-7---|-79-97----?-|-??--?-??---?-- D-|-7-6-5-4-3-2-----|---------5-4---|----------?-|-----?------?-- A-|-8-7-------------|---------------|----------?-|-----?------?-- E-|-----6-5-4-3--0--|-------5-----5-|--------6---|----8-----8----
長瀬「僕はもう、大衆芸術家の道をひたはしってるからw。 でも、こびるのとはちょっと違うんだよね。また考え方が変わった。
……中略……
作曲家になりたての頃は、とにかく「大衆にうける」ってことだけしか考えてなかった。 逆にいえば、大衆をばかにしてたんだよね。
……中略……
大衆というものを勝手に自分で設定して、ここで落としとけばいいやってやってて、 でも、それが全然決まらなかった。 3年くらいやってて、大衆なんてものを勝手に作ることは間違ってるんじゃないかと思い始めた。
……中略……
なんかね、ほんとに自分の心からでてるものじゃないな と実感するようになったの。これやればうけるだろうとか、そう思った時点で 自分の価値観の範疇をでてるんだよね。
……中略……
大衆というものを客体化しちゃいけないということかな。
……中略……
自分が大衆にならなきゃいけないということだね、簡単にいえば。 大衆としての自分が、大衆として、「大衆的」じゃないものを作る、 そう思うようになってから徐々に認められるようになった。
……中略……
自分が大衆になって、今まででは売れそうもないものを作るというニッチの理論だね、 誰もが言ってることだけど。
江島「新人だと、奇抜さに走ると見透かされちゃうことが多いじゃない? 目立つためにやったんだろうなって。」
長瀬「だからね、それは目立つためだけに奇をてらってて、底があさいからだよ。
……中略…… なんていうかな、「あれ?これ、今までやっててもおかしくなかったし 本人にすごくあってるけど新しいね」というところにもっていくということかな。 なんでいままでやってなかったの?っていう。」
貧しいとき、病めるときには、 かつての知友は知らない顔をして通り過ぎてゆき、 どこの家のドアも開かない。というようなこと。
何度かその前を通っているうちに、ふと表札を見ると「中西悟堂」とある。 引っ越して5年もたってからのことだ。それまではまったく気がつかなかった。 ああ、あの鳥センセーだと懐かしく、よほど覗いてみるか、 「こんにちは」とでも言ってみたかったのが、その勇気がないままになった。 それからしばらくしての昭和60年(1985)、89歳で悟堂センセーは逝ってしまった。 ぼくが表札を見たころは77歳か78歳くらいのときだったろう。松岡さんもこういうこと をしていたのだな、と。
こうして私の愛読書は、一巡してふたたび遺稿『精神指導の規則』にまいもどってきた。 ここにはデカルトの生涯にわたる「精神と事物との格闘の軌跡」が読める。 この格闘というのは、自然物や事物に犯されそうになった風前の精神が、 いっそ犯されるままのほうがどれほど気楽であろうかとあきらめた矢先、 相手の一点を凝視したとたんにこれをはねかえしていくという、その格闘のドラマである。 これはほとんど「数学の倫理主義」ともいうべき緊張力である。
規則第八に曰く、「探求すべき事物の系列に於いて、 我等の悟性の充分に直感しえぬ何ものかがあらわれたならば、そこに停まるべきである」。
まったくその通りだ!デカルトは「街をうろつく前に街をうろつく方法」 を知っていたのではなく、「街をうろつけなくて街をうろつく方法をつくった哲学者」 であったのだ。
人間としても、自分の頭が自覚以上に出来が悪いことを、 僕はもっと認める必要があるのかもしれない。(みなさんご承知のことだとは思いますが、この「引用」は自分用に切り刻んでいるので、 正しい文脈とかは本文に当たってくださいね。)
そこを励ましてくれるのが川上弘美氏の言葉で、 この小説は「小説ってのはこういうことを書くとばかにされるものかな」と思っていない、 そこがいい、という意味のことを書いてくれている。 …… 川上氏はまた、集中しなさいとも書いてくれた。
辻原登氏の選評は大半を費やして『棺桶』を激賞してくれている。 過褒です……というのは表向きの謙遜で、ほんとうはうるっと来るくらい有難かった。 …… これを読むと真面目な気持ちになる。
diff -ruN superedit.bak supereditI made a patch file with "-rcN", the context output rather than the unified one (following my own old tips memo). I should update it.
common /nitprint/ iplvl, ipunitへのアクセスは、構造体
extern struct { int iplvl; int ipunit; } nitprint_;を介して行える。
nitprint_.iplvl = 1; nitprint_.ipunit = 6;
subroutine nitsol(n, x, f, jacv, ftol, stptol, $ input, info, rwork, rpar, ipar, iterm, dinpr, dnorm) implicit none integer n, input(10), info(6), ipar(*), iterm double precision x(n), ftol, stptol, rwork(*), rpar(*) double precision dinpr, dnorm external f, jacv, dinpr, dnormというものがあった場合、 つまり void 型の関数 f と jacb と double を返す関数 dinpr と dnorm があって、それぞれ FORTRAN では
subroutine f(n, xcur, fcur, rpar, ipar, itrmf) implicit none integer itrmf, n, ipar(*) double precision xcur(n), fcur(n), rpar(*) subroutine jacv(n,xcur,fcur,ijob,v,z,rpar,ipar,itrmjv) implicit none integer n, ijob, ipar(*), itrmjv double precision xcur(n), fcur(n), v(n), z(n), rpar(*) subroutine dinpr( n, x, sx, y, sy ) integer n, sx, sy double precision x, y subroutine dnorm( n, x, sx ) integer n, sx double precision xと定義されている場合を考える。
void nitsol_ (int *n, double *x, void (*f)(int *n, double *xcur, double *fcur, double *rpar, int *ipar, int *itrmf), void (*jacv)(int *n, double *xcur, double *fcur, int *ijob, double *v, double *z, double *rpar, int *ipar, int *itrmjv), double *ftol, double *stptol, int *input, int *info, double *rwork, double *rpar, int *ipar, int *iterm, double (*dinpr)(int* N, double* X, int* incX, double* Y, int* incY), double (*dnorm)(int* N, double* X, int* incX)); void fbratu_ (int *n, double *xcur, double *fcur, double *rpar, int *ipar, int *itrmf); void jacvbratu_ (int *n, double *xcur, double *fcur, int *ijob, double *v, double *z, double *rpar, int *ipar, int *itrmjv); // BLAS functions double ddot_(int* N, double* X, int* incX, double* Y, int* incY); double dnrm2_(int* N, double* X, int* incX);
int n = MAXN; double *x = (double *)malloc (sizeof (double) * MAXN); double *rwork = (double *)malloc (sizeof (double) * LRWORK); double *rpar = (double *)malloc (sizeof (double) * LRPAR); double ftol = 1.0e-6; double stptol = 1.0e-6; int input[10]; int info[6]; int ipar[2]; int iterm; nitsol_(&n, x, f_, jacv_, &ftol, &stptol, input, info, rwork, rpar, ipar, &iterm, ddot_, dnrm2_);
void f_c (int *n, double *xcur, double *fcur, double *rpar, int *ipar, int *itrmf);という関数を書いて、以下のように普通に呼び出す。
nitsol_(&n, x, f_c, jacv_, &ftol, &stptol, input, info, rwork, rpar, ipar, &iterm, ddot_, dnrm2_);
Copyright (C) 1997-2018, Kengo Ichiki
twitter: @ichiki_k |