やっと夏らしくなってきた。室温も30度超え、朝から冷房入りの日常になっている。冷房を入れると、GNDが共有していること、室外機のすぐ傍にアンテナがあること等で、アマバンドの受信環境は悪くなってしまった。

それよりも来週の日曜に無線試験が待ち構えているので、最後の仕上げを1週間かけてやらないといけない。試験に落ちたら、恐らく2度と受験することはない。つまり、一生の悔いになるので、真剣に取り組んでいる。

受験勉強の合間に、UbuntuにMaximaをインストールし、さらにGUIとして、Gnu TexMacs を被せて、遊んでみた。試験との関係で、複素数の使い方を調べた。複素関数解析というのが得意な科目だが、そこまでMaximaは賢くない。

以下はメモ用のファイル。

complex.pdf

なお、計算の有効桁数は任意に設定可能。たとえば、100桁で計算したければ、
  fpprec: 100;
  bfloat(%pi);
と、円周率を評価すれば、100桁が確認できる。

120506-3.jpg
120506-4.jpg

昨日のフリーマーケットでゲットしたもの。珠、枠、裏板は木でできていて、芯は金属製、裏板は10本の鉄釘で固定されている。天1株、地4株、13桁。梁という枠の左右両側に「十万千百十円」という刻印(汚い文字だが)あり。ソロバンの底にかろうじて、「天下一ソロバン さつまや ◯◯◯田 神保町」という赤いシールが判読できた(汚れで3文字?が不明)。全体的に結構汚れていて、裏板にひび割れが入っている。つまり、保存状態はそれほどよくない。

製造時期については不明だが、地4株が昭和10年(1935年)以降で普及したことを考えるとそれより昔だったかもしれない。

日本のソロバンは当然のように当初は中国のパクリ。裏板を付けたり、株数を減らしたり、小型にしたりして、その後いろいろと工夫が施されてきた。

電卓が普及している今日、ソロバンのできるひとが少なくなっている。幸い、自分は小学生頃ソロバンについて沢山習っていた。いまでも足し算、引き算、掛け算はできる。割り算のほうはやり方が忘れたので、このうち復習したい。

下の写真は小学生当時に使っていたもの。

120506.jpg
120506-2.jpg

計算尺は小さい頃よく使っていたので、まだ作られていることを知り、購入した。ただ、棒形ではなく、円形になっている。内側の円盤が回転するので、対数の原理を活用して、有効桁数3桁の計算ができる。

電卓が100円で買えるし、ケータイやノートPCにも電卓機能がついているので、全く必要性がないと思われるかもしれないが、手帳にしまい、会議中などケータイやPC等が使いにくい場でも、さり気なく使えるので重宝する。

計算尺コレクターがどの国にも結構いるみたい。実用性あり、鑑賞可、長年の保管に適していて、ローテクでいつでも直せる。コレクターアイテムとして確かに魅力的。それに比べて電卓を集めるひとは少ない。HP電卓ぐらいか、良さそうなアイテムとしては。

120229-2.jpg

数式をきれい(あるいはきちんと)表示するには、それなりの苦労が必要。いまのPCにもう一度アスキーのpTeXを入れることにした。昔と違って、TeXインストーラ3というものが用意されているので、ボタンを何か押すだけで手軽に使えるようになった。めでたし。

080907.jpg

ちなみに、円周率Phiを16進100万桁表示するプログラムを作らないといけない。実行上限時間は2秒。厳しいかな。そんなことはないよね。ネット上0.52秒という記録のものがあるぐらい。

ゼロとはなにか。

広辞苑では解説として、1.(数の)零(れい)。2. 零点。零度。3.(数・量・価値などが)全くないこと。皆無。の3つが書かれている。

2番目の零点、零度としての解説はなぜそこにあるか、不思議に思ってしまい、さらにまた調べてみた。

零点 → 1. 得点のないこと。2. 計器で目盛が0の点。セ氏温度計で氷点の称。
零度 → 度数を計る、起点となる度。

なるほど、ゼロの説明に戻すと、目盛の基準・基点という意味のようだ。

となると、ゼロとは、
  1. 数としての零(れい)
  2. 目安(目盛)の基準・基点
  3. 数・量・価値などが全くないこと
という意味。

2番の目盛の基準・基点として、近代では確かにゼロがふつうに使われているが、歴史上1を基準として考えていたこともよくあった。もっとも身近な例は年代。

紀元1年、平成元年、平成1年はあるが、紀元0年、平成0年はない。紀元0年はふつう紀元前1年という。

また、中国では生まれて2日しか経っていない赤ちゃんが2歳と数えられるケースがある。この場合は数え年が使われている。

メモ: 数え年とは、年齢の数え方の一つ。生まれた時点を「1歳」とし、以降1月1日を迎えるたびに1歳加えるという方法。単に数えともいう。

つまり、数え年として年齢を数えると、生まれて一日目に、1歳になる。つぎの2日目が元旦(中国では昔は旧正月)であれば、一気に2歳になるわけだ。

平成元年の初日が1月8日だったので、大した問題ではなかったが、初日が例えば12月20日であれば、10数日経てば平成2年になるのと同じ理屈。そう考えれば、二日間たっただけで2歳と呼ばれても不思議ではない。

さて、基準・基点としてのゼロの意味ははよく考えれば、それは定義の問題に帰着できる。つまり、基準・基点一旦決まればいいわけだ。

問題なのは1と3との区別。つまり、存在しない意味でのゼロと、存在しているが量・数としてのゼロとの区別。

例えば、試験にまったく出席していない場合の試験点数と、試験に出席したが、零点しか取れなかった試験点数との違いはやはり区別しないといけない。

両者の違いを言葉では区別され、片方を欠席と呼ぶわけだが、数字のみを扱う場合多くのケースでは区別しないで扱ってしまう。

例えば、点数をExcelやデータベースではふつう数値型として考える。これでは欠席扱いができなくなる。正確に欠席を表すのであれば、もうひとつの項目(フィールド)を立てるしかない。

記号としての0に一旦直されると、本来のゼロの意味を問うことができなくなるので、多くの哲学の問題や数学での多くの難問に繋がってしまう。

哲学的思考はここでは考えないことにしても、数学での0は確かに唯ひとりの異端児だ。プログラムを書く際もつねに0で割ることを恐れ、習慣としてチェックするようにしてある。

数学では、演算不可能を可能にすることで、自然数を負数(減算を可能にするため)、整数を分数(除算を可能にするため)、有理数を無理数(開平を可能にするため)、実数を複素数(2次方程式を解くようにするため)に拡張してきたが、唯一つ可能でない計算はいまだに現在の数学に存在する。ゼロでの除算。

  1/0

はなぜできないか。

0をかけて1になる数xが存在しないから、計算できないという説明はよくある。

0x = 1 になる x がないから、1/0 はできないというほかの説明では、例えば時間・速度=距離の例もあったりする。

しかし、虚数(複素数)がなぜ生まれたかを考えれば理屈としてその説明はおかしいと考えざるを得ない。どんな実数も、自乗(2乗)すればゼロかプラスになるので、虚数にならない。だから虚数は必要ない、という考え方では、虚数の存在意味は理解できなくなる。

また、ある雑誌の特集では、1/0 = a と置き、1 = a * 0 = 0 となり、だから、1/0 をしてはいけないというふうに説明されている。しかし、aとはなにかが問題。定数のような考えでは当然矛盾するけど、無限大とかふつうの定数ではないaであれば、矛盾でなくなる可能性もここで敢えて指摘しておきたい。

また、微積分のように、0に無限に近づく考え方では、1/プラスの無限小=無限大、1/マイナスの無限小=マイナスの無限大となるので、1/0は定義不可という解説もあるが、それにも全く同感できない。特異点としての0の側面はその説明でわかるが、1/0が定義不可との結論にはならないと思う。

結局、1/0 を可能にする存在理由はどこにあるか、可能にするとしたら現存する数学体系と矛盾は生じないか、それらのことが判ることがすべてだと思っていまうのだが。

ゼロとはなにか?私にいまだに判らない。

社交数というのは友愛数を拡張したもので、aの約数の和がbに、bの約数の和がcに、cの約数の和がaになるような3数の組をいう。

社交数は未だに一組も見つかっていない。だからといって社交数が存在しないと証明されてもいない。ちなみに4数での社交数などは見つかっている。

4つからなる社交数の例 1264460,1547860,1727636,1305184
5つからなる社交数  12496,14288,15472,14536,14264

こうして見ていると、自然数のなかに多くの謎が残されているのだね。

友愛数に似た別の関係として、婚約数がある。1を約数として数えないところが友愛数と異なる。1はシングルを表す意味があるので、理にかなっているといえよう。

たとえば、48と75は婚約数。

    48の約数 ={1,2,3,4,6,8,12,16,24,48}
    2+3+4+6+8+12+16+24 = 75
    75の約数 ={1,3,5,15,25,75}
    3+5+15+25 = 48

これまでに発見された婚約数はすべて奇数(男性)と偶数(女性)のペアであって、「同性間の婚約数は存在しない」のか否かは現在もまだ不明。

紀元前6世紀頃の数学者ピタゴラスが、ある人から「友人とは何ですか?」と開かれた時、「それはたとえば220と284のようなもの。」と答えた。220と284とはどんな数なのか。

これは、220の約数(ただし220は除く)の和が284になって、284の約数(ただし284は除く)の和が220になっているから。

    220の約数 = {1,2,4,5,10,11,20,22,44,55,110,220}
    1+2+4+5+10+11+20+22+44+55+110 = 284
    284の約数 = {1,2,4,71,142,284}
    1+2+4+71+142 = 220

このように、一方の数の約数(自分自身は除く)の和が、他方の約数の和に等しくなるような1組の数を 友愛数 または 親和数 という。

友愛数は現在では550組も発見されているが、その中で一番小さい数の組が220と284。1184と1210も友愛数。

これまでに見つかった友愛数は全て偶数同士(女性)もしくは奇数同士(男性)らしい。「異性間の友愛数は存在しない」のか否かは現在もまだ不明。

数字の6は、自分自身を除く約数の和が,自分自身と等しくなる。

     6の約数 ={1,2,3,6}
     6以外の約数の和 = 1+2+3 = 6

このような数を「完全数」という。6が最初の完全数で、2番目の完全数は28。このことから古代の人たちは、神様が6日間で世界をつくった(月,火,水,木,金,土のつぎは休み)のは、最初の完全数が「6」だからであり、月が地球のまわりを、約28日で1周するのは、28が完全数だからである、と考えていたといわれている。

1世妃のころには、6,28,496,8128の4つが完全数であることが発見されていた。コンピュータが使われるようになって、完全数を発見しようと多くの数学者が努力したが、現在でも38個の完全数しか発見されていない。しかも、すべて偶数の完全数ばかり。奇数の完全数が存在するのかどうかは、いまだに謎のままになっている。

041021.jpg

昨日の「盗賊の人数」という算数の問題をプログラムで解いてみる。

プログラムの解き方はとても自然というか、誰でも思いつくものだ。

つまり、xを1から39まで変化させる。それで y=40-x でyが決まり、盗んできた金貨と銀貨の数をそれぞれ 7*x、6*y になり、最後に余り計算をし、余りのないペアが答えとなるわけだ。

Cプログラム または Perlスクリプト ← ダウンロードの際、ファイル名を適切に直して下さい

プログラムの答えは勿論筆算と同じ。

さて、ここからが面白い。

プログラムなので、盗賊の人数を適当に増やしてやって、答えのペアが1組のみのものを探すことが簡単にできる。

例えば、盗賊の人数を2001としたとき、(x,y)=(1334,667) になる。1ペアしかないので、5の倍数云々とか余計な条件もつけなくていい。

このように、筆算ではパラメータによって難しさがだいぶ変わるが、プログラムのほうでは同じアルゴリズムで解ける。

なにかプログラムのほうが自然的というか、論理的だね。