« 2009年9月 | トップページ | 2009年11月 »

2009年10月

2009年10月25日 (日)

興除(岡山市南区)覚え書き帳

興除(岡山市南区)覚え書き帳

興除(岡山市南区)覚え書き帳

Time-stamp: "Wed Oct 28 09:54:09 JST 2009"

ハイパーテキスト化していないメモ書きのプレインテキストファイルです。

ブラウザ(インターネットエクロプローラなど)に表示して文字化けする場合は、
表示メニューからエンコーディングをShift-JISなど他のものに変更してくだ
さい。文字コードをutf-8に変換してアップロードすることにしていますが、
そうでないものがあるかもしれません。

ブラウザのキャッシュを表示しているかもしれないので再読み込み(リロード)
も試してください。

| | コメント (0) | トラックバック (0)

2009年10月18日 (日)

ホームページやブログ(htmlファイル)は数式表現が不手得

ホームページやブログ(htmlファイル)は数式表現が不手得

Time-stamp: "Fri Oct 02 15:44:19 JST 2009"

ホームページやウェブログに使われるhtmlファイルは数式表現に弱い。とこ ろでhtmlとはブラウザに文字や画像情報を表示させるためのプログラミング 言語を意味する。そのプログラムを作るにはテキストエディターを使う。テ キストエディターで書いた地の文章の中にタグと呼ばれるコマンドを埋め込 んでゆく。

普通にコンピュータのプログラムというと、先ず機械に実行させる手順を頭 の中で組み立てる。それは文章に書きおろせるものであるが大抵は直接にコ マンドの並びに翻訳してしまう。そのためプログラムの中には誰でも読めて 内容の分かる文章部分はない。

プログラムを使う人は書かれたコマンドの列を眺めて何をしているかを頭の 中で文章表現に再翻訳する。どんな作業ができるのか、使用する際の注意す べきは何であるかがプログラムから知れる。プログラムは機械に対する命令 書であるとともにプログラムの解説書でもある。

長大なプログラムの解読は容易でない。作者でさえ忘れて分からなくなるか も知れない。そこでプログラムの要所要所に文章で注釈を入れる。

普通のプログラムはところどころに注釈の文章が入るだけで門外漢にはほと んど暗号に見える。これに対してhtmlのファイルは文章として読めるもので あり、ところどころに読むには邪魔な、そしてそれが文章の内容を左右する 意味を持っているのかいないのか気掛りなタグと呼ばれるコマンドが入る。

htmlは文章をブラウザの画面に表示する仕方に関する命令を書いたプログラ ムである。プログラムの処理すべき対象(ファイル)がプログラム本体とは別 の場所にあって、それをプログラムが読み込んで処理したのちに出力すると いう普通のプログラムの経過をとらない。

文章の、ここの部分を見出しとして大文字にしなさいとか、次の短文の並 びを箇条書きとして表示せよという命令にはその作業を行うべき場所(対象)を 指定しなければならない。その指示書きは処理対象である文章の該当箇所に書 き込むのがよい。

処理を担当するプログラムにとっては「20行3列めの文字から21行8列めの文 字までを大文字にしなさい」と命令されたほうが分かりやすい。命令を出す 人間にそれは厄介なことである。もとの文章の該当箇所に指示を書いたタグ (荷札)をぶら下げる方式がよい。

htmlは、先ず平文で地の文章を書く。その後にコマンドであるタグを書き込 んでゆく。処理対象の入力文章がそのままプログラムに変身する。通常のプ ログラムとはかなり様相が違う。そのためhtmlの命令をコマンドとは呼ばず にタグと呼ぶ。

おおもとの文章はテキストエディターで書くから、テキストエディターで書 きにくい数式はhtmlでも扱いにくい。テキストエディターはキーボードから 打ち込まれた文字を順番に左から右へ横一列に並べる。

しかし、数式の中には文字の横並びの列では表現しきれないものがある。 二次方程式$$ax^2+bx+c=0$$に現れる変数xの二乗の表現に困る。上付きの添え 字のうち2や3 は面積や体積の単位記号として使われることから用意されてい るかもしれない。しかし変数の次数は何次までもある。それらの添え字全部を 用意しておくことはできない。そこでプレインテキストにおいて上付き添え字 には「^」を、下付き添え字には「_」を前置して表わす習慣がある。これはた ぶんlatexの流儀によるものだろう。二次方程式なら一つだけの「^2」を頭の 中で上付き添え字「2」に置き換えて済むのでなんとか頭は追い付いていける。

しかし$$a_0+a_1x+a_2x^2+a_3x^3+....$$をプレインテキストで a_0+a_1*x+a_2*x^2+a_3*x^3+....と書かれると頭の中での置き換えは難しい。 目がチラチラしてすぐには分からない。可読性が極端に悪くなる。

htmlでは上付きや下付きの添え字のタグ<sup>、<sub>が使えるの でプレインテキストより見易くなる。

a0+a1x+a2x2+a3x3+....

プレインテキストでは分数も表現しにくい。横線の上下に文字を配置するこ とは面倒である。マイナス記号の並びに一行を使いその上下の行にそれぞれ 分子・分母の文字を配置する。一つの分数に三行を使うことになる。加筆・ 訂正で文字数の増減があると横線と分母子の位置にズレが生じる。一個だけ の分数なら回りを空白で取り囲んで独立させることでその面倒は避けられる。

分数に三行を使うことを諦めて横線の代りにスラッシュ記号を使い一行に圧 縮する手がある。分母子の横幅が短かいなら問題ないが長くなると可読性は 一気に殺がれる。

一番最初に目にするちょっと高級な香りのする数学記号に平方根のルート 記号がある。二次方程式の解の公式に現れるアレである。記号の√は入力でき るが手書きする場合のように根号の中身の上にオーバーラインを引くことはで きない。中身が数字なら√2でも伝わる。√(b^2-4ac)となると中身を括弧で囲 む必要がある。括弧なしでは$$\sqrt{b^2}-4ac$$に見えてしまう。もし三乗根 になると√の前に上付き添え字として3 を付けなければならない。いまだかつ て「^3√」という表現は見たことがない。

mimetexで「^3√」(√を数式の外に出す)を試すと「$$^3$$√2」になる。 $$\sqrt[3]{2}$$に近い。htmlの上付き添え字を使うと3√2になる。 見たことはないがこの無理矢理な表現もアリかな。

数式にはキーボードから直接に打ち込めない文字も使われる。ギリシア文字 や積分記号がある。総和記号Σや積分記号∫は用意されていてもそれらの範 囲を上下に配置するには分数のように三行を使うことになる。

このように数式は左から右へ並んだ一列の文字の列として表現することがで きない場合がある。それでは困るのでむりやりにプレインテキストに押し込 むが、一見では何が書かれているのか分からなくなる。手書きで本来の形式 に直してみる解読作業が必要になる。結局のところ数式を文字の列として処 理するには無理があり画像として扱ったほうがよい。

ところで検索システムにとって文書内にある数式は、それがプレインテキス トで書かれていたとしてもキーワードとしては取り出しにくい。むしろ <img>タグにより画像としてページに貼り付け、数式の内容を表わす代替文 字を「alt=」に指定してくれたほうが有難いだろう。

考えてみれば数学書に現れる数式は文字列というより画像と言ったほうがよ い。たぶん回りを空白で囲まれた場所にポツンと置かれる。本をパラパラめ くるとき目にとまるのは挿絵と大きな文字の見出しである。適度に挿絵がち りばめてあれば何について書かれた本かの見当がつく。

本文が英語で書かれた数学書であったもその数式部分は画像として目に入る。 数式に文字が使われていてもそれはたぶん全世界共通の表現であるから絵と いえる。その絵だけでは数学の何について書かれているのかは分からなくて も、数学のどの分野の話しかくらいの見当はつく。文字で埋め尽された文学 書より数式という挿絵の入った数学書のほうが取っ付きやすい。

htmlファイルで数式が表現しきれない場合は画像として嵌め込む。数式の画 像ファイルをホームページに表示させるには予め画像ファイルをサーバーに アップロードしておきホームページからリンクする「作り置き方式」がある。 その他に数式の画像ファイルが必要になったら泥縄式にその場で作る「その 都度生成方式」がある。

作り置き方式は面倒である。数式の個数だけの画像ファイルを用意しなけれ ばならない。ページの更新で画像ファイルを作り直す必要がでるかもしれな い。

なお、インターネット上にある画像ファイルにリンクするページをロー カル(自分のパソコン)に保存するときは「htmlファイルのみ」では画像が抜 け落ちる。画像込みか拡張子が「.mht」のシングルファイルとして保存しな ければならない。

その都度生成方式にはmimetexがある。これはホームページをアップロード するサーバー上にあるmimetex.cgiによってhtmlファイルを表示するときに 数式の画像ファイルを生成させる。

htmlファイルとは別に数式の画像ファイルを事前に用意しておくのではなく、 その場でhtmlに書かれた数式部分の内容により数式の画像を自動的につくる。 ページの更新ではhtmlの数式部分さえ変更すればよい。

その都度生成方式ではインータネット上にあるhtmlファイルをローカルに保 存して、インターネット接続を切った状態で見るとき不都合がある。ブラウ ザに残っている数式の画像ファイルのキャッシュファイルが使えればよいけ れど、それが無い場合はmimetex.cgiにより数式画像を作ろうとする。

数式画像を作る仕掛けはインターネットでつながった先のそのhtmlファイル が在ったサーバーにある。ところがすでにインターネットにはつながってい ない。このときは数式部分が抜け落ちた文章部分だけの表示になる。

また、インターネットにつなげてないパソコンでhtmlファイルを作るときに は、数式の「その都度生成方式」ではその仕上がり具合のチェックができな いという窮屈もある。

有難いことに現代はインターネット常時接続が当たり前になっている。その ためホームページをアップロードする前のローカルでの作成段階からサーバー 上にあるmimetex.cgiを使うことができる。



| | コメント (0) | トラックバック (0)

財産を二倍にする72の法則(rule of 72)

財産を二倍にする72の法則(rule of 72)

Time-stamp: "Sun Sep 27 09:18:52 JST 2009"

利率rのn回複利(compound interest)で元本Pの2倍が得られる場合を考える。 2P=P(1+r)nから

$$r=\sqrt[n]{2}-1$$

$$n=\frac{\ln 2}{\ln (1+r)}$$

となる。利率rは関数電卓で容易に求まる。期間数nは分数の形であってしか も分母、分子がともに桁数の多い少数のため計算は面倒になる。

プレインテキストファイルで根号は表現しにくい。nを根号に上付き文字と して前置できないこと、そして根号内に収まる数字の上にオーバーライン を引くことができないという二重苦がある。さらなる極めつけは、根号は外 字風の扱い(ちゃんと表示される保証がない)になることである。まったくパソ コン泣かせのルート記号である。

ルート記号を使わないのであれば、冪乗を表わす「^」を使って「利率 2^(1/n)-1」なるヘンな表現にするか、または文章で「利率rは2のn乗 根から1を引いたもの」とするしかない。

(1+r)n=2を期間数nについて解くとn=ln 2/(ln (1+r))になる。 両辺の対数を取るときはその底を10とする常用対数でもネイピア数eを底とす る自然対数のどちらでもよい。ここから押し進めてln (1+r)をrで近似できる ことは解析学(微分・積分)の成果を使うものである。解析学の世界における対 数といえば自然対数を指す。そこで対数はすべて自然対数で考えて必要なら最 終結果を常用対数に変換する。

結果はrn≒ln 2=0.69314718055994530941723212145818になる。なお、2の 常用対数はlog102=0.30102999566398119521373889472449であり、 ネイピア数eの常用対数は log10e=0.43429448190325182765112891891661である。対数の底の 変換公式によりln2=loge2=log102/log10e=0.693147...とな る。

windows付属の関数電卓で自然対数の底(ネイピア数)eを表示させるには 「e1」を計算させる。残念ながらネイピア数eを底とする指数関数を計算さ せる専用のキーボタンはない。面倒にはなるが手段はちゃんと用意されてい る。それは自然対数の逆関数として指定する方法である。先ず、数値xの自 然対数は「数値x」、「ln」とキー操作する。ここで逆関数用のチェックボ タン「Inv」を使って「数値x」、「Inv」、「ln」とキー操作すればネイピ ア数eを底とする指数関数が求まる。ネイピア数eの表示は「1」、「Inv」、 「ln」とキー操作すればよい。ちょっと分かりにくい。

72=2332=8*9から利率8パーセントで9年になる。こ こらあたりで使うのがよいらしい。期間 n=2p3q(p,q=0,1,2,3,...)の場合の利率とそれに期間 数を掛けたもの(法則数)は次になる。

期間数利率法則数
nn√2-1n(n√2-1)
20.4142135623730950488016887242097 0.8284271247461900976033774484194
30.25992104989487316476721060727823 0.77976314968461949430163182183469
40.18920711500272106671749997056048 0.7568284600108842668699998822419
60.12246204830937298143353304967918 0.73477228985623788860119829807508
80.090507732665257659207010655760708 0.72406186132206127365608524608566
90.080059738892306169872930831288597 0.72053765003075552885637748159737
120.059463094359295264561825294946342 0.7135571323115431747419035393561
180.039259226031843399710130083167286 0.70666606857318119478234149701114
240.029302236643492028782371800773922 0.70325367944380869077692321857413
360.019440643702144828169815632631034 0.69986317327721381411336277471722
720.0096735332285108621925214011186051 0.69649439245278207786154088053957

利率は1~5パーセントなら69法則(70法則)がよさそうである。ちなみにn=10 ならr=0.071773462536293164213006325023342である。 n=100ならr=0.0069555500567188088326982141132398になる。

72が選ばれたのはその約数が、1,2,3,4,6,8,9,12,18,36と多くて便利である ということもあるらしい。

72の法則は「アインシュタインが発見した」という記述が多い。wikipedia にアインシュタインの名前は出てこない。アインシュタインが「再発見」し たという周到な逃げ道を用意した通称と思われる。誰も知らない原作者より は超有名人の名をかぶせたほうがよく通る。

114の法則

n回複利で元本を3倍にする「114の法則」がある。この場合n=10なら r=0.11612317403390443444261413837709であり、 n=100ならr=0.011046691937853590655660045445767になる。

期間数利率法則数
nn√3-1n(n√3-1)
20.73205080756887729352744634150587 2.7320508075688772935274463415059
30.44224957030740838232163831078011 1.3267487109222251469649149323403
40.316074012952492460819218901797 1.264296051809969843276875607188
60.20093695517600272667546538734954 1.2056217310560163600527923240973
80.1472026904398770894730586135366 1.1776215235190167157844689082928
90.12983096390975303261216610428284 1.1684786751877772935094949385456
120.095872691135244380160019128072549 1.1504722936229325619202295368706
180.062935070411054333000415744869734 1.1328312673989779940074834076552
240.04683938172732323901321593195961 1.1241451614557577363171823670306
360.030987424952920719667458255484107 1.1155472983051459080284971974279
720.0153755093328382615916910731322 1.1070366719643548346017572655184



| | コメント (0) | トラックバック (0)

2009年10月12日 (月)

連続複利とは何か

連続複利とは何か

Time-stamp: "Tue Sep 22 14:42:50 JST 2009"

元本Pを年利Rで運用した一年後の元利合計FはP(1+R)になる。一年毎の利息 額を元本に繰り入れてゆく複利法では二年目の利息額は最初に用意した元本と 一年目に付いた利息の合計を二年目の元本として利息を付けた額になる。二年 目の元利合計はF=P(1+R)(1+R)=P(1+R)2になる。n年目なら F=P(1+R)n である。

年利Rは半年利にするとR/2になる。半年毎に単利で利息を付けると半年後の 元利合計はF=P(1+R/2)になる。残り半年にも単利法で利息を付ける。半年で 付いた利息を元本に繰り入れることはしないで最初の元本に半年利を付ける。

F=P(1+R/2+R/2)=P(1+2(R/2))=P(1+R)

年利Rと半年利R/2の単利を二回繰り返した結果は同じという当たり前になる。 一年間預けるつもりだったが都合により半年で解約するならF=P(1+R/2)を受 け取れることになる。

半年利R/2で複利法をとると一年後の元利合計は

F=P(1+R/2)(1+R/2)=P(1+R/2)2

になる。複利法のほうが毎期に利息を元本に繰り入れるので将来金額は R2/4だけ単利法より大きい。同じ元本なら年利R(半年利R/2)はちょっぴ り小さくて同じ元利合計にできる。

F=P(1+R/2)2=P(1+R+R2/4)

なお、年利がRのとき、半年利はR/2、三半期年利(四ヶ月利)はR/3、四半期 年利(三ヶ月利) はR/4、一ヶ月利(月利)はR/12、日利はR/365になる。

年利Rによる一年後の元利合計と年利rで半年複利とした一年後の元利合計が 同じになる条件は次になる。

1+R=(1+r/2)2

これから半年複利の年利はr=2(√(1+R)-1)になる。なお、根号√の後ろに ある括弧書きは根号記号のオーバーラインの下に収める部分を表わす。

右辺を展開した1+R=1+r+r2/4からR=r+r2/4>rとなり複 利法の利率は単利法より小さい。

一年を三期に分けて四ヶ月毎に単年利Rの三分の一の四ヶ月利R/3で複利法を 三回繰り返すなら1+R=(1+r/3)3からr=3(3√(1+R)-1)になる。

これを一般化する。一年をn期に分け年利Rを(1/n)期利でn回の複利法で一年 後を考えると1+R=(1+r/n)nからr=n(n√(1+R)-1)になる。

年利Rはそのままにして半年複利R/2で二回、月利R/12で十二回、日利R/365 で三百六十五回の複利とするときの元利合計を求める。具体例を上げる。

100万円を年利3パーセントで一年間の複利運用したときの元利合計は次にな る。

複利計算付利回数元利合計等価年利
 n(1+0.03/n)nn(n√(1.03)-1)
一年複利11,030,000 0.03
半年複利21,030,225 0.029778313018443893729704023787175
四月複利31,030,301 0.029704902149882942971404374821581
三月複利41,030,339 0.029668287110931808420751820083733
二月複利61,030,378 0.029631732187181870465004996529711
一月複利121,030,416 0.029595237267643199759659836771592
一日複利3651,030,453 0.029559999154388241440778744203628
一時間複利87601,030,454 0.029558852111622752483944296823993
一分複利525,6001,030,455 0.029558803072711455941902797123995
一秒複利31,536,0001,030,455 0.029558802255397186697416963110498
連続複利無限回1,030,455 0.029558802241544402732619405684712
(=e0.03) (=ln 1.03)

100万円の年利3パーセントの元利合計は103万円である。付利回数を無限回 に増やしても元利合計の増加はわずかに455円でしかない。

等価年利は、n回複利で元本100万円を103万円にするための年利である。一 年複利ではちょうどの3パーセントである。複利回数が増えれば増えるほど 次第に小さくなる。2.995588パーセントから3.0の間になる。

windows付属の関数電卓でeln 1.03を計算するとピッタリ1.03がでる。当 たり前が当たり前に得られることに感動する。「1.03」、「ln」、「Inv」、 「ln」とキー操作する。

複利回数が多いほど最終的な受取元本は大きくなるが、複利回数を増やした 場合の増え方は鈍ってくる。複利回数をふやして行けば増える程度は小さく なって行く。実は複利回数を増やしたときの元利合計額は、青天井で増える のではなく、ある一定の値に近づく増え方をする。その「一定の値(複利回 数がどんなに多くともある有限の数であるかぎりその値になることはないが、 複利回数をふやすほどその値に近づいていく値)」が示す複利のことを「連 続複利(Continuous Compound)」という。

これはwindows付属の電卓(関数電卓)で計算できる。なおx^yは先にxを入力 してから「x^y」ボタンを押し、次にyを入力してリターン(イコール) を押 す。e^xを出すには先ずxを入力してから「Inv」にチェックを入れた後に 「ln」ボタンを押す。なお、「Exp」ボタンは指数形式の数値を入れるとき に使う。先に仮数部を入力し「Exp」ボタンを押した後で指数を入力する。 「Exp」ボタンはネイピア数を底とする指数関数を求めるものではない。

windows付属の関数電卓でn乗根を求める方法はややこしい。

先ず2の三乗は「2」、「x^y」、「3」、「=」の順番にキー操作をする。次 に8の三乗根は「8」「Inv」「x^y」「3」「=」の順番になる。「Inv」を前置 することで「x^y」ボタンは「x1/y」すなわち「y√x」 に変身するわけである。冪乗根の操作は分かりにくい。結果を知っている計算 がちゃんと行われるかどうかでキー操作が正しいことを確かめるしかない。

二乗根と三乗根は専用のボタンがある。4の二乗根は「4」、「Inv」、 「2^x」と押す。「x^y」ボタンを使う場合は「4」、「Inv」、「x^y」、「2」、 「=」のように「2」のあとに「=」を押さなければならない。それは後で入れ る冪乗根の指数の区切りを計算機に指定するためである。「2^x」ボタンの場 合は、これを押したことで操作が完結するのですぐに答えが表示される。なお、 関数ボタンを右クリックするとヘルプが表示される。

年利rに対して一年間をn期間に分割して各期間毎に複利法(一期間あたりの 利率r/nをn回繰り返す)で利息を付ける。元利合計が年利Rの一年複利に等し くなるn期間複利の年利rを求める。n期間複利のほうが一期間毎の利息を元 本に繰り入れることから、n期間複利の年利rは一年複利の年利Rより小くな る。

(1+r/n)nでの回数nを無限に大きくする。それが1+Rに等しくな るようにする。

n=rmと置くと (1+r/n)n=(1+1/m)rm={(1+1/m)m}r になる。r>0だからn→∞ならm→∞になる。

ネイピア数の定義によりm→∞ならば(1+1/m)m→e(ネイピア数、 自然対数の底)になるからer=1+Rを得る。

nが有限回であれば1+R=(1+r/n)nからr=n(n√ (1+R)-1)である。nを無限回にしたなら1+R=erよりr=ln(1+R)となっ たわけである。

ここに現れた年利rを年利Rの連続複利という。連続複利3パーセントは単利 3.04545パーセントに相当する。

e0.03-1=0.030454533953516855612439953831198
これをwindows付属の関数電卓で求めるには「0.03」、「Inv」、「ln」、 「-」、「1」、「=」と操作する。

単利Rの連続複利をrとすると1+R=erである。年利Rの一年複利 でn年間運用した元利合計は(1+R)n=(er)n で計算される。

元本P、連続複利rの付利期間nにおける元利合計の計算式Pern を連続複利式と呼ぶ。現場での実際の利息計算をこれで片付けているのではな い。離散式である金利計算式を連続式にすることにより、解析学的考察が可能 となる利点がある。しかし数学理論に浸かりすぎてはいけない。結果を現実の 泥臭い現場に翻訳して手元にひきもどす。そうしないと何をやっているのかが 分からなくなる。

単利率Rを表社会での利率(表利率)とし、その連続複利率rを裏社会での利率 (裏利率)と呼ぶことにする。表利率の掛け算が裏利率では足し算になること を導く。連続複利は数学上の空理空論ではなく実際の金利計算に役立つもの である。

期間を10年(n=10)とし年利の単利率を3パーセントとする。表利率3パーセン トを裏利率に直すと

r=ln(1+0.03)=ln 1.03=0.029558802241544402732619405684712

になる。この裏利率で10年間運用するならe10rが元利合計額に なる。

e10r=e0.29558802241544402732619405684712 =1.34391637934412192049

windows付属の関数電卓では「1.03」、「ln」、「*」、「10」、「=」、
「Inv」、「ln」で計算できる。

裏利率を10倍を指数とし、ネイピア数を底とする指数関数の値が元利合計額 になる。10倍というと掛け算のようにおもえるかもれないが冪乗の性質によ り裏利率rの10個分を足し合わせたものである。

(er)10=ererer...er=er+r+r+...+r

表利率で計算するなら表利率に1を加えたものを10回掛け合わせたものが元 利合計になる。

1.0310=1.34391637934412192049
裏利率を使わずwindows付属の関数電卓で直接に計算するなら「1.03」、 「x^y」、「10」、「=」で済んでしまう。
8桁電卓で1.0310は丸め誤差により1.3439159になるようである。いちばん 困るのは何回掛けたかが途中で分からなくなる。

「表利率Rを使うときはそれに1を加えたものを10回掛け合わせる。裏利率r を使うなら10回足し合わせたものをネイピア数の冪乗の指数にしたものにな る。」

表利率では掛け算だが裏利率なら足し算になる。ただし表利率を裏社会の利 率に換算したうえで足し合わせそれをネイピア数を底とする指数関数に持ち 込んで表社会に引き戻さなければならない。

連続複利を知ったとき、それが何の役にたつのかと不審に思う。数式の変形 は分かるが、それから先のことが説明されない。このようにすれば金利計算 の役にたつという実例が示されない。ネイピア数が出てきたところで息切れ している風である。

こういう実例が示されると連続複利という理論上だけで実際には役にたちそ うに見えない裏利率が金利計算を楽にすることが分かる。少数部が20桁もあ るような数を10回も掛けることは楽でない。普通の小型電卓は8桁くらいだ からどだい無理がある。繰り返し掛けることで丸めの誤差がどんどん膨らむ。

裏利率を使う際はそれを表利率から変換するときとネイピア数の指数関数を 計算するときに誤差を生じる。自然数個の裏利率の足し算の誤差は問題にな らない。関数電卓が必要になるが裏利率の連続複利を使った金利計算のほう が便利である(もちろん直接計算のほうがはるかに早い。連続複利を無理矢 理に表に引っ張り出してその裏方振りを明かにするために使っている)。

その昔に掛け算を迅速正確に行なうために常用対数が考えられた。対数を使 うと表社会での掛け算を裏社会では足し算で行なえるようになる。ただしそ れぞれの表社会での数値を裏社会用の対数に換算して裏社会で加減算をする。 その結果を表社会の数値に逆換算しなければならない。これと同じ手順にな る利率が連続複利率である。

上記では同じ裏利率の10回分の足し算だったが一年目の表利率は1パーセン ト、二年目は2パーセント、三年目は3パーセント、四年目は4パーセント、 五年目は5パーセントというような場合も同様の計算ができる。 表利率だけでは掛け算で

(1+0.01)(1+0.02)(1+0.03)(1+0.04)(1+0.05) =1.158727752

となる。8桁電卓を使ってこの通りの掛け算で正確に出る。裏利率を使うな らそれぞれの表利率を裏に換算して

r1=ln 1.01=0.0099503308531680828482153575442607
r2=ln 1.02=0.0198026272961797130260290668851
r3=ln 1.03=0.029558802241544402732619405684712
r4=ln 1.04=0.03922071315328129626920089657112
r5=ln 1.05=0.048790164169432003065374404223165

全部を足し合わせると

r1+r2+r3+r4+r5=0.14732263771360549794143913090836

これを逆換算して同じ結果になる。

e(r1+r2+r3+r4+r5)=1.158727752

昔の金利計算では常用対数表を使ったらしい。その場合は連続複利を経由し ないで直接に掛け算したほうが早い。常用対数の大部なものはあるが自然対 数の表には貧弱なものしかない。連続複利を使うと手数が増え面倒になるだ けでまったく利点はない。

| | コメント (0) | トラックバック (0)

2009年10月 5日 (月)

operaがアンインスールできない

operaがアンインスールできない

Time-stamp: "Thu Sep 17 16:41:20 JST 2009"

ふと気かつくとコントロールパネルのアプリケーションの追加と削除に opera 9.63とopera 9.64の二つがある。現用operaのバージョンを確認する と9.64 と出る。使っていないバージョン番号が追加と削除に残っているの は格好が悪いので削除しようとする。アプリケーションの追加と削除から opera 9.63 のアンインストールを開始するとC:\WINDOWS\TEMP\_is9141(_is 以下の数字はそのときどきにより一定しないようである)が参照できないと いうメッセージが出て進めなくなる。

幸いなことにopera 9.63のインストーラであるOpera_963_en_Setup.exeを保 存してあるので同じディレクトリにもう一度インストールしようとする。そ の際にもC:\WINDOWS\TEMP\_isxxxxが有効でないのメッセージで中断する。 ここで行き詰まってしまう。windowsのアプリケーションの追加と削除から はアンインストールできないし再(修復)インストールもできない。

インストールディレクトリをバッサリ消去したのではアプリケーションの追 加と削除にopera 9.63は残ってしまう。その名前を窓の手などで消すことは できる。それは最後の手段として通常の手続きでアンインストールしたい。

Opera_963_en_Setup.exeを実行すると確かにC:\WINDOWS\TEMP\_isxxxxが作 られてその中にOpera installer.msiがある。なにゆえかアプリケーション の追加と削除はこれとは名前の違うディレクトリを探そうとする。そしてそ のディレクトリは存在しない(ここでディレクトリを現在のインストーラが 展開されているディレクトリに指定する手もある)。アプリケーションの追 加と削除を使うのはあきらめて、このテンポラリディテクトリに展開された Opera installer.msiの右クリックメニューからインストールを選択してみ る。そうするとrepairとremoveが現れる。そこでremove を選んだら見事に アンインストールできた。

アプリケーションの追加と削除からアンインストールできない場合は、同じ ディレクトリにもう一度インストールしてみる。そうすればその後にアンイ ンストールできるようになることがあるとその昔に聞いたことがある。

試作品ならともかく完成品ソフトならインストーラには必ずアンインストー ラが付いている。今回のようにアプリケーションの追加と削除からのアンイ ンストールが失敗すると打つ手がなくなる。こういうときにインストーラが あれば修復インストールとかアンインストールの機能により何とかなるかも しれない。

インストールが済んだからOpera_963_en_Setup.exeはもう不要と削除するの ではなくアンインストーラとして保存しておいたほうがよさそうである。

おそらくインストーラよりアンインストーラのほうが強力である。細心の注 意が必要な建設作業よりも更地に戻す取り壊し作業のほうが簡単に進む。な にしろ邪魔なものを根こそぎに取り払えばよいのだから。勢い余って他人の 財産を壊すこともある。それがインストーラに対して快適な建設環境を提供 することになるかもしれない。

インストーラのうちとくに現用のものはハードディスクから削除しないで残 している。大抵は何世代も前のものまでを溜め込んでハードディスクを浪費 している。

今回はインストール完了後もそのまま実行ファイルOpera_963_en_Setup.exe を残しておいたことが役にたった。それでも、再インストールがコケたので 少しうろたえる。行き詰まったら何でも駄目モトで試してみることである。

opera 10.00のインストールでOpera_1000_en_Setup.exeを実行すると C:\WINDOWS\TEMP\ディレクトリに中括弧の{}で囲まれた長々しい名前のディ レクトリが作られてその中にインストール関連ファイルが展開される。その 中にOpera installer.msiがある。これの右クリックメニューにインストー ルや修復、アンインストールが現れる。なお、インストールなどの操作が正 常に終了するとウィンドウズのテンポラリディレクトリに作られたこのディ レクトリは消えてなくなる。そういう一時退避とか作業用のディレクトリと してC:\WINDOWS\TEMP\がある。

普通の正常なインストールやアンインストールではこのような場所(テンポ ラリディレクトリ)を覗くことはないが、トラブルのときのために裏側を見 ておくと役にたつことがあるかもしれない。

ウィンドウズのテンポラリディレクトリを見つける簡単な方法が次にある。

普通の方法はコマンドプロンプトからsetコマンドを実行して表示される 「TEMP=」や「TMP=」の後ろを見る。上記アドビのサイトの方法ではファイ ラーであるエクスプローラでtempフォルダが開く。

| | コメント (0) | トラックバック (0)

« 2009年9月 | トップページ | 2009年11月 »