数のイマージュ、形のパサージュ ― 数と戯れ、図形と遊ぶ ― 伊那 闊歩 14.整数のDNA 遺伝子研究の最先端の成果のひとつとして、数年前から流布している話 に、人とチンパンジーの遺伝子配列を比べてみると、98.5 パーセントは同じで、 違いはほんの 1.5 パーセント にすぎないというのがある。しかし、最近の研究 によれば、人とチンパンジーのゲノムには、お互いに大きな違いがあるともい う。おそらく、コンピュータ処理だけに頼っていたのでは何も分からないとい うことではないか。そんな単純なものではないらしい。未知の部分にこそ、も のの本質がひそんでいるにちがいない。 数学にも DNA 研究に似たような事情があると思われる。生化学研究者か らは、見かけだけのことで、何の関係もないと反発されるであろうが、数を生 物と見做して観察するのも面白いと思う。次の2つの数を見ていただきたい: 1702 、 2553 これら2数はお互いに見た目はまるで違うが、それぞれ約数の積に分解して書 けば 1702 = 2 ×23 ×37 2553 = 3 ×23 ×37 となって、これら2数の約数の配列(DNA の塩基配列に対応?)は最初の約数 が、2 か 3 かの(ほんの少しの)違いだけなのだ。 生物の研究において DNA の塩基配列を知ることが現代では必須である ように(見えるが)、整数の性質を知る上で、その約数(の配列)を調べること は同じく重要である。ここでは最後まで負の整数は考えないことにする。 整数 1702 は、8 個の約数(1, 2, 23, 37, 46, 74, 851, 1702 )をもってい る。1 と 1702(自分自身)も約数であるが、特に 1 と自分自身を除いた約数 を真の約数という。1702 の真の約数は、2, 23, 37, 46, 74, 851 である。真の約 数を持たない整数を素数という。1 は素数ではないことにするが、それにはま た別の理由があるのだ( 2 は偶数であるが素数である。偶数なのに素数という ことにすこし違和感を持たれるかもしれない)。2, 3, 23, 37 などは素数である。 真の約数をもつ整数を合成数という。1702 は(2553 も)合成数である。 整数 0 は、0 以外の整数で割りきれて( 0 になるから)無限に多くの 約数を持っていると考えられる。一方、1 はたったひとつの約数しかもってい ない。以上、整数を約数によって分類してまとめると次のようになる: (1)たったひとつの約数をもつもの (2)無限に多くの約数をもつもの (3)約数が 1 と自分自身だけのもの、 1 0 つまり真の約数がないもの (4)真の約数をもつもの 素数 合成数 合成数は、素数の積に分解することができる。分解の結果は、順序はど うでもいいこととして、ただひと通りに書くことができる。それでは、素数は いくらでも存在するのであろうか?とてつもなく大きな素数は存在するのか? 大きな数には約数があって、いずれすべて合成数になるのではなかろうか?と いうのは素朴な疑問であるが、次の定理は、ユークリッドの証明とともに昔か ら有名である: 素数は無限にたくさん存在する。 以下に、ユークリッドの『原論』にある巧妙な証明を簡単に記しておこう: 素数の数は有限であるとして、それらを p, q, ・・・r としよう。そこで、 a = p×q×・・・×r + 1 とする。この整数 a が (1)もし素数ならば、a は明らかにすべての素数よりも大きい。 (2)もし合成数ならば、a は、p, q, ・・・r どの素数によっても割り切 れないから、もっと大きな素数が存在して、それによって割り切れるこ とを意味する。 つまり、素数の数は有限にとどまらず、無数にあることが証明された。 2 つ以上の整数 a, b, c, ・・・に共通な倍数をそれらの整数の公倍数 という。上記の整数 1702 、2553 の公倍数は、5106, 4345206 、など無 数にあるが、そのうち最も小さいものを最少公倍数といい、記号 L であらわす ことにする。1702 、2553 の L = 5106 である。2 つ以上の整数 a, b, c, ・・・に共通な約数を公約数といい、そのうち最大のものを最大公約数と いう。3 整数 a, b, c の最大公約数を G( a, b, c ) と書く。また、最大公約数 を単に記号 G であらわすこともある。 G( 1702 、2553 ) = 851 = G 次の問題は、2整数の最大公約数を求めることであるが、ユークリッドの 考案による「ユークリッドの互徐法」と呼ばれるうまい方法が昔から知られて いる。例として、G( 1702 、2553 ) をユークリッドの互徐法を用いて求めて みよう。まず、2553 を 1702 で割って、次のように書く: 2553 = 1 × 1702 + 851 ここで、徐数 1702 をあまり 851 でわる: 1702 = 2 × 851 + 0 このような計算をあまりが 0 になるまでつづけ、そこで計算をストップする。 このとき、最後の式の徐数、つまり、ひとつ前の式の余りが最大公約数になる。 答は、G( 1702 、2553 ) = 851 となる。もうひとつ、少し大きな数 11804537 と 206863 でやってみよう: 11804537 = 57 × 206863 + 13346 206863 = 15 × 13346 + 6673 13346 = 2 × 6673 + 0 となって、 G( 11804537 , 206863 ) = 6673 であることがわかる。 2整数 a, b ( a は b よりも大きいとする ) の最大公約数 G が 、 ユークリッドの互徐法によって正しく計算されることは、上記の計算例からも 明らかなように、余りの中に G が受け継がれるためである。 a = s × b + t と書いてみると G は a 、b の約数であると同時に t わかる。つまり、次の式がなりたつ。 の約数でもあることが G( a 、b ) = G( b 、t ) t は余りであるから、当然 b よりも小さな整数であり、つぎつぎに計算すべ き数は小さくなってゆき、こうして互徐法の計算をつづけていけば、ついには 求める G にたどりつくのである。 最後に重要な注意をひとつ書いておかねばならない。上のユークリッド の互徐法を使った計算において、 a = 11804537, b = 206863 として余りを書き下していけば、 13346 = a - 57b 6673 = b - 15×(a - 57b)= -15 a + 58b となる。つまり、最大公約数 は、 a と b の一次式として必ず書けることを ガッテンしておいていただきたい。さらに、一次方程式: 11804537 X + 206863 Y = 6673 と -15 a + 58b = 6673 とを比べてみる。なにをしているのか、いぶかしく思われるかもしれないが、 驚くべきことがここに起こっているのだ。つまり、この複雑な一次方程式を満 たす整数解のひと組みがいとも簡単に求められているではないか。答えは X = -15, Y = 58 なのだ。 参考文献 (1)高木 貞治 「初等整数論講義」(共立出版) (2)J.H.シルヴァーマン 「はじめての数論」(ピアソン)
© Copyright 2024 ExpyDoc