スキップしてメイン コンテンツに移動

投稿

12月, 2013の投稿を表示しています

جَيْب (jayb)

From India the sine function was introduced to the Arab world in the 8th century, where the term jya was transliterated into jiba or jyb. Early Latin translations of Arabic mathematical treatises mistook jiba for the Arabic word jaib, which can mean the opening of a woman's garment at the neck. Accordingly, jaib was translated into the Latin sinus, which can mean "fold" (in a garment), "bosom," "bay," or even "curve." Hence our word "sine." The birth of trigonometry また新説が。 the opening of a woman's garment at the neck とは女性の服の首回りの開いたところぐらいの意味だろうか。 さて 前回 の結論としては、アラビア語を調べないと判らない、ということだったので今回はアラビア語。 今まで出てきたどの説もアラビア語は jaib としているが、それらしい単語はむしろ جَيْب (jayb) という形のようだ。 (もちろんアラビア語の transliteration の方式に依るのかもしれないが素直に読めば y に当たる字が入っている) ここで脱線してアラビア文字について述べておこう(もちろん俄知識である)。 アラビア語の文字は右から左に(主に)子音だけ書くというスタイルで、しかも各文字に語頭、語中、語尾の形があるため、なかなか読みにくい。 今回の単語は ج (jīm) が語頭の形で右側の角張った部分と下の点(ここまでが文字そのもの)と上の´(アの音を表す記号)まで、 次の ي (yā) は語中の形で上に一回持ち上がった部分と下の二つの点...

sin の語源?

インドの言葉 "jya-ardha" (高さ)が似た発音のアラビア語 "jiba" になり、母音を省いて "jb" のように書く習慣から "jaib" (胸)と混同されてラテン語では "sinus" (胸)に化け、それが今のサイン "sin" のもとだそうです 野﨑昭弘「算数・数学24の真珠」日本評論社 2012 jyā は弦を意味する言葉であり、もともとは半弦を意味する jyā-ardha が使われていたがそれが省略されて jyā が使われるようになったと考えられている。用語 jyā はアラビア語訳されるときにそのまま発音を写して jiba と訳されたが、アラビア語では母音が記されないため jiba と jaib とは同じ綴りとなりいつのまにか「湾」を意味する jaib が使われるようになった。そのためアラビア語の著作がラテン語訳されるときに湾を意味する sinus が使われ、そこから今日の sine が誕生した 上野健爾「円周率が歩んだ道」岩波書店 2013 胸と湾が同じ単語? sin·us,-ūs m indentation, curve, fold, hollow; fold of toga about the breast, pocket, purse; breast, bosom, lap; bay, gulf, lagoon; winding coast; valley, hollow; heart (e.g., of a city), interior; intimacy John C. Traupman, Ph.D., The New College Latin and English Dictionary, third edition, Bantam books 2007 両方の意味がちゃんと載っていた。 アラビア語の jaib の意味を調べないとどちらの説が正しいのか(あるいはラテン語同様広い意味をカバーする言葉でどちらも正解か)不明である。

右から割り算

自然数 n と素数 p が与えられて、np で割り切れるかどうか判定したいとしよう。 ふつうは余りを求めて、それが 0 だったら割り切れる、それ以外なら割り切れない、と判断する。 しかし、暗算でそんな計算をするとき、思い返してみると右から桁を減らしていくことが多い。 たとえば 21113 で割り切れないことを確かめようとする場合、1の位の 1 を打ち消すために 91=7×13 を引き、残りが 120 だから 13 では割り切れない、と思考を進めるわけである。 再帰的にこんな手続き f(n,p) を定義すればいい。 1. n=0 ならば True を返す。 2. n10 で割り切れるならば f(n/10,p) を返す。 3. n の1の位と同じ1の位を持つ p の倍数(のうち最小のもの)を kp とするとき、nkp ならば f(nkp,p) を返し、n\(p10 と互いに素の場合にだけ適用できる。 その 10d-進数の d だと思って良い(プログラムで実現するときは 2-進数で考えることだろう)。 kp は事前にテーブルを用意しておいて辞書引きすれば良い(というか p の1の位で k は決まってしまう)。 特に2-進数ならばkは常に1なので話が簡単である。 他の人、あるいは既存のプログラムで、この方法で割り切れるかどうかの判定を行っている例があるのかどうか知りたいところである。