原始ピタゴラス数![]() 原始ピタゴラス数(げんしピタゴラスすう、英: primitive Pythagorean triples)とは、ピタゴラス数のうち3つの数が互いに素であるものをいう。つまり、自然数の3つ組 (a, b, c) であって、
をともに満たすもののことである。 概要3個の自然数の組 (a, b, c) がピタゴラス数であることは、その最大公約数を g として (a, b, c) =: (ga0, gb0, gc0) と表すと、(a0, b0, c0) がピタゴラス数であることと同値である。ゆえに、ピタゴラス数には (a0, b0, c0) のみに着目し、これは原始ピタゴラス数と呼ばれている。 ピタゴラス数が原始的(あるいは素 (coprime) とも言う)であることと、3個の自然数のうちある2個が互いに素であることは同値である(一般に、ピタゴラス数 (a, b, c) について gcd(a, b, c) = gcd(a, b) = gcd(b, c) = gcd(a, c) が成り立つ)。 原始ピタゴラス数には重複なく生成する式、そしてそれを効率良く列挙するアルゴリズムが知られており、そのアルゴリズムによって原始ピタゴラス数全体を三分木で表すことができる。 リスト(三分木を含まない)原始ピタゴラス数 (a, b, c) の3数の表示順は、c を斜辺とするのが一般的であるが、その上で、
a, b は偶奇が異なる(#生成式参照)ので、
がある。 ユークリッドの式では b を偶数辺、ブラフマグプタの式では a を偶数辺としていることが多い。 ここでは a < b < c とし、c の小さい順に並べると、c < 300 までは以下の47通りである:
このうち、第1項が偶数であるものは22個である。
生成式原始ピタゴラス数 (a, b, c) の生成式は、ユークリッドの式とブラフマグプタの式が知られている。ただし a, b の順番は流儀によりまちまちである。
の形のことである。ここで、m, n は自然数で を満たす。 これに対してブラフマグプタの式とは、
の形のことである。ここで、p, q は自然数で
を満たす。 ユークリッド式とブラフマグプタ式には (p, q) = (m + n, m − n) の関係があり、本質的には同じである。ただし、周長は、ユークリッド式では 2m(m + n)、ブラフマグプタ式では p(p + q) となり、ブラフマグプタ式の方が式が簡単になることがある。 『数学ガール』(結城浩著)では、ユークリッドの式は「ピタゴラ・ジュース・メーカー」とネーミングされて取り上げられている[3]。 生成式の導出ユークリッドの式は、以下のようにして導出できる。 3段構成で証明される。
a も b も奇数であると仮定すると、 これは c2 ≡ 0, 1 (mod 4) に矛盾。 故に、a と b は偶奇が異なる。
a =: 2a′(a' は整数)とおく。 ここで c + b と c − b は偶奇が一致するから、(ともに奇数だとすると上の等式を満たさないため)
とおくことができる。 ここで c = u + v, b = u − v は互いに素であるから、u, v は互いに素であることが導ける。さらに u + v, u − v は偶奇が一致するから u − v は奇数である。 逆に、u, v は互いに素で u − v が奇数ならば、c = u + v, b = u − v は互いに素であることも導ける。 u, v は互いに素だから、u = m2, v = n2(m, n は互いに素な自然数)とおくことができる。 このとき c + b = 2m2, c − b = 2n2 u > v より m > n u − v = (m + n)(m − n) は奇数より m − n は奇数。
生成アルゴリズムタイルの操作原始ピタゴラス数全体を分類するために、ピタゴラスの生成式における (m, n)(ただし m ≠ 2)の「退化」を次で定義する[要出典]:
この「退化」は m/n の値により、3タイプに分類される:
こうして得られた新たな (m′, n′) も満たすべき条件:
を満たすことが、ユークリッドの互除法と仮定より従う。しかも、「退化」を1回施すと m は狭義減少する。 この「退化」を繰り返していくと、有限回で (2, 1) になる。
逆に考えると、操作 u, a, d は全単射と分かる。実際に、操作 u, a, d の逆写像「添加」はそれぞれ
となり、それぞれ
に対応している(短辺は広義増加、長辺は狭義増加する)。 故に、全ての (m, n) は (2, 1) に「添加」を有限回施すことで、モレ・ダブリがなく得られると分かる。故に、原始ピタゴラス数全体は、(3, 4, 5) から枝分かれした、モレ・ダブリのない、三分木で分類されると分かる。 上記の議論は、ブラフマグプタの式でも同様にできる。ただしユークリッドの式とブラフマグプタの式では、u, a, d の定義の順序を逆にする必要がある(でないと操作が対応しなくなる)。 細矢治夫は著書で、U は up、D は down、A は across を意味していると述べている[4]。 (例) (m, n) = (14, 9) の (2, 1) からの「添加」列を求める。
故に、(14, 9) は、(2, 1) に操作 D, A, U を順に施したものであると分かる。//
と呼ばれている。
原始ピタゴラス数の変換式全ての原始ピタゴラス数 t(a, b, c)(t は転置を表す)は、t(3, 4, 5) に次の行列 U, A, D を左から有限回掛ける(作用させる)ことで、一意に得られることが、前節の「添加」より分かる: ここから次のことが分かる[5]:直角三角形において、
分数表示による求値(m, n) の操作は、m/n(これは既約分数である)と分数表示すると、関数値の計算により求められる[要出典]。 #タイルの操作で表した「退化」u, a, d を分数表示すると
となる。 (例1) 例えば、(m, n) = (14, 9) の「退化」列は、
となり、e := 2/1 とおくと
と分かる。 (例2)(m, n) = (11, 8)
となり、
と分かる。 (例3)(m, n) = (28, 13)
となり、
と分かる。// この分数表示は計算機に入れやすい。これをプログラミング言語Javaのメソッドとして実装すると、 public static boolean inverseUAD( int m, int n ) { if (!(0 < m) || !(m < n)) { System.out.println(" m と n の値が 0 < m < n になっていません。"); return false; } if (Arithmetic.gcm(m, n) > 1 ) { System.out.println(" m と n の値が 互いに素ではありません。"); return false; } if (((n - m) % 2) == 0 ) { System.out.println(" m と n の偶奇数は異なっていなければなりません。"); return false; } System.out.print("( " + m + ", " + n + " ) = "); System.out.print("{ " + ((n * n) - (m * m)) + ", " + (2 * m * n) + ", " + ((n * n) + (m * m)) + " } = "); return _inverseUAD(m, n); } private static boolean _inverseUAD( int m, int n ) { // e if ((m == 1) && (n == 2)) { System.out.println("e"); return true; } // D if (n > (m + m + m)) { System.out.print("D"); return _inverseUAD(m, n - (m + m)); } // A if (n > (m + m)) { System.out.print("A"); return _inverseUAD(n - (m + m), m); } // U System.out.print("U"); return _inverseUAD((m + m) - n, m); } のようになる。これにより例えば
などが求まる。 由来と歴史原始ピタゴラス数の三分木構造は古代バビロニアにおいてすでに発見されていたようであることが、プリンプトン322から窺われる。ギリシャ数学においては、ピタゴラスおよびユークリッドによって興味を持たれていたものの、一部が失われていたようである。三分木に現れる「プラトン系列」「ピタゴラス系列」などは再発見されたようであるが、もう一本の枝(直角をはさむ2辺の差が1である系列)はクラウディオス・プトレマイオスによって発見されていたかもしれないが、17世紀にフェルマー[6]に着目されるまでヨーロッパ数学界では少なくとも周知はされていなかったようである。直角をはさむ2辺の差が1である系列は古代バビロニアでは知られていたようであることがYBC 7289から窺われる。 操作U・D・A により「原始ピタゴラス数全体は重複なく三分木をなす」ことが、1963年にオランダのバーニング (F.J.M.Barning)[7]、1970年にアメリカのホール (A.Hall)[8]、また1993年頃[9]に日本の亀井喜久男によって独立に発見・発表された[4]。ただし、バーニング、ホール、亀井の何れの発表についても、各操作はどの表現行列に該当するか?という逆問題が未解決だった。実際に細矢治夫は2012年の著書で「バーニングとホールの(中略)理論の大きな泣き所は, 任意の二つの規約ピタゴラスの三角形を選んだときに, その両者を結ぶU, D, A の組合せが存在するかの判定, またもし存在するとしてもその組合せを知る簡単な手だてがないことである」と述べている[4]。 フィボナッチ数との関連フィボナッチ数は幾何学的には、長方形に正方形をくっつけていって出来る長方形の長辺であり、この図形を「(一般の)フィボナッチ螺旋」と呼ぶ(特に初期値が単位正方形の場合は、いわゆるフィボナッチ数列に対応している)。これに対してユークリッドの互除法はフィボナッチ螺旋の逆回しといえる。故に、フィボナッチ数は互いに素である。 ただし、原始ピタゴラス数の生成アルゴリズムについては、(m, n)(あるいは (p, q))の偶奇性の条件も必要であるため、長方形にくっつける正方形が2個ずつであるという点が異なる。 脚注
外部リンク
|
Portal di Ensiklopedia Dunia