マンガでわかる微積分2009-08-02 11:44

rp関数の性質
著者 小島寛之 十神真(作画) ビーコム(制作)
発行 オーム社 2008-07-10 1版4刷
価格 1,900+税
ISBN4-274-06632-0

rp(lambda{|a, b| a ** b}, x, n)) の関数の性質を追うべく、微積分を思い出すために買いました。しかし、rp関数に対しては性質を調べるための有効な公式が見つかりませんでした(もう少しちゃんと読み直せば何かあるかも)。
本の内容としては微積にしては珍しく、物理ネタを前面に出すのではなく、経済問題を中心に扱っていました。この手の本は数式に疲れてきたらマンガを追っていればいいので楽しいです。やっぱハッピーエンドでないとね。

rp関数は解析的にはうまくとけなかったのですが、Octave を使いグラフ化すると面白いことがわかりました。rp関数の逆関数と思われた、y = x ** (1/x) を x/y 逆転してプロットし、さらに n が偶数回の rp関数と n が奇数回の rp関数を重ねてプロットすると、奇妙にも (1 / E) ** E より下の領域で rp関数が一筋縄ではいかなくなります(二筋に分かれます)。逆関数はなめらかなのに。つまり rp関数が普通に収束する値を持つ関数でいられるのは (1 / E) ** E と E ** (1 / E) の間ってことですか。冪が繰り返されるという操作がどうしても離散的な性質を内在し、なめらかでいられる範囲を限定しているんでしょうか。
(以上、Ruby表記)


Octave で表現すると以下のようになります。

% 偶数回の rp関数
function y = rpx0(x)
n = 1000;
y = x;
while (n > 0)
y = power(x, y);
n--;
end
end

% 奇数回の rp関数
function y = rpx1(x)
n = 1001;
y = x;
while (n > 0)
y = power(x, y);
n--;
end
end

% rp関数の逆関数と思われるもの
function y = rpy(x)
y = power(x, 1 ./ x);
end

x = 0:0.01:4;
y = rpy(x);
hold off;
plot(y, x, 'b');
hold on;

x = 0:0.01:2;
y = rpx0(x);
plot(x, y, 'r');

y = rpx1(x);
plot(x, y, 'r');


上記ソース
http://www.taifu.jp/svn/mole/trunk/math/rpx.m
結果グラフ
http://www.taifu.jp/svn/mole/trunk/math/rpx.png

数学ガール 下2009-08-10 01:53

副題 聞かせてよ君の答えを
著者 結城浩(原作) 日坂水柯(作画)
発行 メディアファクトリー 2009-07-31 1版1刷
価格 590+税
ISBN978-4-8401-2586-4

フィボナッチ数列の一般項を求める話題が出てくる。
ruby 表記だと以下のようになると思う。

def fb(n)
 r5 = 5 ** 0.5
 return (1/r5) * ((((1 + r5)/2) ** n) - (((1 - r5)/2) ** n))
end

離散的な数列と思われていたものを表すのに無理数が出てくるなんて!
それはともかく、原作も読んでいたので当初はミルカさんのイメージが違って少々とまどいました。でも慣れるとコミックのがミルカさんのイメージになって来てしまうのが不思議。
もし実写化するならミルカさんは多部未華子さんでお願いします。




# "molt" ←ぜんぜん更新してない