7 : 15 平方剰余の相互法則

← 7‒14 p↑ もくじ i 7‒16 n →

平方剰余へいほうじょうよの相互法則

2003年 3月26日
記事ID d30326

平方剰余へいほうじょうよというのは難しそうな名前だが、 早い話が「平方数」のことだ。 ふつうの整数で 4, 9, 16, 25, ... などは平方数(ある整数の二乗)だが、3, 6, 14, 23 などは平方数でない(ある整数の二乗にならない)。

7を法とする世界で考えよう。7を法とすると、
02 = 0 ≡ 0
12 = 1 ≡ 1
22 = 4 ≡ 4
32 = 9 ≡ 2 (9を7で割ると2余る)
42 = 16 ≡ 2 (16を7で割ると2余る)
52 = 25 ≡ 4 (25を7で割ると4余る)
62 = 36 ≡ 1 (36を7で割ると1余る)
となっているので、この世界では、0, 1, 2, 4 が平方数だ。 また、3, 5, 6 は平方数でない。「7を法とする平方数」「7を法とする平方数でない数」のことを、 「7の平方剰余」「7の平方非剰余」というのだが、言葉遣いが難しいと分かりにくくなるので、ここでは「平方数」で通す。

以下で説明する平方剰余の相互法則は、古典的整数論においては「基本」であると同時に「数の神秘」であり、ひとつの山場ともなっている。 イデアル論の立場からは別に神秘的でなく透明に理解することができるので、二次体を導入してから平方剰余の相互法則に進むのが現代的かもしれない。 しかし、平方剰余の相互法則の意味そのものは中学生にも理解できる。 巨大素数を扱う暗号学の立場からは、相互法則はヤコビ記号を使うソロベイ・ストラッセン・テストの基礎となっている。 確率的素数判定であるから、このテストをすりぬける「オイラー擬素数」の概念も生じる。

RSA暗号系から派生したネタとして、 フェルマーの小定理擬素数ラビン・ミラーのテストと強擬素数についてすでに書いた。 これらは暗号システムそのものというより「どうやって暗号に使う巨大素数を用意するのか」という下準備のような話だった。 話のついでなので、擬素数つながりで、ソロベイ・ストラッセン・テストとオイラー擬素数にもふれよう。 そのため、今回は平方剰余の相互法則を導入しておく。次回ルジャンドル記号とヤコビ記号を導入してオイラー擬素数まで行く予定だ。 なお、ここでは具体例の観察だけで証明はつけないので、詳しくは将来、自分で勉強してほしい。

ある数が平方数であるかないか

上でみたように、7を法とすると、0, 1, 2, 4 は平方数、3, 5, 6 は平方数でない。このことを次のように略記しよう:
0 R 7
1 R 7
2 R 7
4 R 7
3 N 7
5 N 7
6 N 7

a R b とは x2≡a (mod b) を満たす x が存在するということであり、 a N b とは x2≡a (mod b) に解がないことを言っている。

問題: 17 R 13 か?
解答: はい。mod 13 では 17≡4 だから x2≡4 (mod 13) に解があるか考える。2を二乗すれば4なので解がある。22 = 4 ≡17 (mod 13)
問題: 13 R 17 か?
解答: はい。82 = 64 ≡ 13 (mod 17)(64を17で割ると3余り13なので)

第一の例から分かるように、13を法として4が平方数か?ということと17が平方数か?ということは、同じ意味になる。 4≡17 (mod 13) だからだ。つまりAが平方数かどうか?と尋ねているとき、実際にはAという特定の数について尋ねているというより、 Aと合同なすべての数から成る集合(剰余類)について尋ねている、と考えても良い。

問題: 6は17を法として平方数か? 言い換えれば 6 R 17 か、それとも 6 N 17 か?
ちからまかせにやるには、全部の可能性をかたっぱしからチェックすれば良い。
02 ≡0
12 ≡1
22 ≡4
32 ≡9
42 ≡16
52 ≡8
62 ≡2
72 ≡15
82 ≡13
92 ≡13
102 ≡15
112 ≡2
122 ≡8
132 ≡16
142 ≡9
152 ≡4
162 ≡1
……17を法とする世界では何を平方しても6にはならないことが分かる。したがって答は「いいえ」だ。6 N 17 である。

ところで、さらによく観察すると、この場合、1の平方と16の平方は等しく、2の平方と15の平方は等しく……以下同様に、 nの平方と(17-n)の平方は等しくなっている注1。これは当たり前のことで、
(17-n)2 = 172 - 2·17·n + n2 ……①
の右辺第一項、第二項は17で割り切れるので、17で割った余りという観点ではこれらは0に等しく、
(17-n)2 ≡ n2 (mod 17)
だからだ。ということは、1の二乗、2の二乗……と計算していくと、半分の17/2より先では新しいものは出ない。 言い換えれば、上の計算結果では、0は別にして、右辺には同じ数がぜんぶ2回ずつ現れる。 したがって、17を法とする世界では、すべての元が平方数ということは不可能で、0を除外した16個の要素のうち半分が平方数、 残りの半分が非平方数だ注2。実際、上の結果から、0は別にして、1, 2, 4, 8, 9, 13, 15, 16 の8個が平方数である。 法が17でなくても①と同様の式は成り立つので、かたっぱしから調べるにしても法の半分までで止めて良い。

注1: 正確な用語を使えば「等しい」のではなく「合同」だが、わざとぼかしている。

注2: 平方と非平方の個数が半々になることをきちんと言うには、1以上・法/2以下の二つの数 a, b について、a2≡b2 ⇔ a=b を証明する必要がある。実際には、法が素数ならこれが成り立つ。

ここで、与えられた整数 a が b を法として平方数になるかならないか、ちからまかせに調べる関数をとりあえず作っておく。

function test( a, b ) {
    a %= b;
    for( var i=0; i <= b/2; i++ ) {
        if( i*i % b === a ) return "R";
    }
    return "N";
}

この関数は、与えられた2数 a, b について、a R b なら "R" を返し、 a N b なら "N" を返す。

交換法則が成り立つか

与えられた2つの数 a, b が、a R b であるか a N b であるか。 つまり、a は平方数 (mod b) であるかどうか。 あとから説明するように、a, b はともに3以上の素数と仮定して良い。 それ以外の場合も、3以上の素数の計算に帰着させられるからだ。

a, b を3以上の素数として、a R b なのか a N b なのか一覧表を作ってみよう。 とりあえず20未満の範囲で実行する。

var Primes = [ 3, 5, 7, 11, 13, 17, 19 ];

var d = document;

d.write("<table>");
for( var i = 0; i < Primes.length; i++ ) {
    var a = Primes[i];
    d.write("<tr>");
    for( var j = 0; j < Primes.length; j++ ) {
        var b = Primes[j];
        if(test(a,b)=="R") d.write( "<td style='background:#cff'>" + a + "R" + b + "<\/td>");
        else d.write( "<td style='background:#fcc'>" + a + "N" + b + "<\/td>");
    }
    d.write("<\/tr>\n");
}
d.write("<\/table>");
3R33N53N73R113R133N173N19
5N35R55N75R115N135N175R19
7R37N57R77N117N137N177R19
11N311R511R711R1111N1311N1711R19
13R313N513N713N1113R1313R1713N19
17N317N517N717N1117R1317R1717R19
19R319R519N719N1119N1319R1719R19

この表を観察すると、左上から右下への対角線にそって、だいたい対称になっている。 a R b なら b R a 、a N b なら b N a であることが多いようだが、多少、例外もある。 この問題をハッキリさせるため、次の形式で表を出力してみる。

var Primes = [ 3, 5, 7, 11, 13, 17, 19 ];

d.write("<table>");
for( var i = 0; i < Primes.length; i++ ) {
    var a = Primes[i];
    for( var j = 0; j < i; j++ ) {
        d.write("<tr>");
        var b = Primes[j];
        if(test(a,b)=="R") d.write( "<td style='background:#cff'>" + a + "R" + b + "<\/td>");
        else d.write( "<td style='background:#fcc'>" + a + "N" + b + "<\/td>");

        if(test(b,a)=="R") d.write( "<td style='background:#cff'>" + b + "R" + a + "<\/td>");
        else d.write( "<td style='background:#fcc'>" + b + "N" + a + "<\/td>");

        d.write("<\/tr>\n");
    }
}
d.write("<\/table>");
5N33N5
7R33N7
7N55N7
11N33R11
11R55R11
11R77N11
13R33R13
13N55N13
13N77N13
13N1111N13
17N33N17
17N55N17
17N77N17
17N1111N17
17R1313R17
19R33N19
19R55R19
19N77R19
19N1111R19
19N1313N19
19R1717R19

(7, 3), (11, 7), (19, 3), (19, 7), (19, 11) の組み合わせでは、 式の2つの数字を入れ替えると R か N か?の性質が変わる。 これらの数が入っていても、(7, 5) や (13, 7) は問題なく交換できている。 同じ素数でも、5, 13, 17 が入っている場合は交換法則が成り立ち、3, 7, 11, 19 同士では成り立たない。 いま、5, 13, 17 を「バニラ素数」と呼び、 3, 7, 11, 19 を「チョコレート素数」と呼ぶと、

交換できない、といっても、では予想がつかない結果になるのか?というと、そうではなく、 ここで「交換できない」という意味は、a R b なら b N a になり、a N b なら b R a になるということ、 つまり R と N が正確に入れ替わることを意味している。

4で割って1余る素数、4で割って3余る素数

5, 13, 17, ... のような「バニラ素数」の正体は、4で割って1余る素数であり、 3, 7, 11, 19, ... の「チョコレート素数」は4で割って3余る素数だ。 (素数なので4で割れば必ず余りが出る。2を除外して奇数を考えているので、4で割って2余ることはなく、必ず1か3余る。) 目で見て分かりやすくするために、バニラ素数とチョコレート素数を区別して表示させてみよう。

function display( a, b ) {
    var test1 = test( a, b );
    var test2 = test( b, a );
    var A = flavor( a );
    var B = flavor( b );

    if( test1 === "R" ) {
        d.write('<td style="background:#cff">' + A + 'R' + B + '<\/td>');
    } else {
        d.write('<td style="background:#fcc">' + A + 'N' + B + '<\/td>');
    }

    if( test2 === "R" ) {
        d.write('<td style="background:#cff">' + B + 'R' + A + '<\/td>');
    } else {
        d.write('<td style="background:#fcc">' + B + 'N' + A + '<\/td>');
    }

    if( test1 === test2 ) {
        d.write('<td style="background:#fff; color:green">入れ替えても同じ<\/td>');
    } else {
        d.write('<td style="background:#ffd; color:red; font-weight:bold">入れ替えると逆転<\/td>');
    }

    if( a % 4 === 1 || b % 4 === 1 ) {
        d.write('<td style="background:#fff; color:blue">バニラを含む<\/td>');
    } else {
        d.write('<td style="background:#ffd; color:maroon; font-weight:bold">チョコレート同士<\/td>');
    }
}
function flavor( n ) {
    if( n % 4 === 1 ) return '<em style="color:blue; background:white">' + n + '<\/em>';
    else return '<strong style="color:maroon">' + n + '<\/strong>';
}

var Primes = [ 3, 5, 7, 11, 13, 17, 19, 23, 29 ];

d.write('<table>');
d.write('<tr><th>元の式<\/th><th>入れ替えた式<\/th><th>R か N か<\/th><th>式の内容<\/th><\/tr>\n');
for( var i = 0; i < Primes.length; i++ ) {
    var a = Primes[i];
    for( var j = 0; j < i; j++ ) {
        d.write("<tr>");
        var b = Primes[j];
        display( a, b );
        d.write("<\/tr>\n");
    }
}
d.write("<\/table>");
元の式入れ替えた式R か N か式の内容
5N33N5入れ替えても同じバニラを含む
7R33N7入れ替えると逆転チョコレート同士
7N55N7入れ替えても同じバニラを含む
11N33R11入れ替えると逆転チョコレート同士
11R55R11入れ替えても同じバニラを含む
11R77N11入れ替えると逆転チョコレート同士
13R33R13入れ替えても同じバニラを含む
13N55N13入れ替えても同じバニラを含む
13N77N13入れ替えても同じバニラを含む
13N1111N13入れ替えても同じバニラを含む
17N33N17入れ替えても同じバニラを含む
17N55N17入れ替えても同じバニラを含む
17N77N17入れ替えても同じバニラを含む
17N1111N17入れ替えても同じバニラを含む
17R1313R17入れ替えても同じバニラを含む
19R33N19入れ替えると逆転チョコレート同士
19R55R19入れ替えても同じバニラを含む
19N77R19入れ替えると逆転チョコレート同士
19N1111R19入れ替えると逆転チョコレート同士
19N1313N19入れ替えても同じバニラを含む
19R1717R19入れ替えても同じバニラを含む
23N33R23入れ替えると逆転チョコレート同士
23N55N23入れ替えても同じバニラを含む
23R77N23入れ替えると逆転チョコレート同士
23R1111N23入れ替えると逆転チョコレート同士
23R1313R23入れ替えても同じバニラを含む
23N1717N23入れ替えても同じバニラを含む
23R1919N23入れ替えると逆転チョコレート同士
29N33N29入れ替えても同じバニラを含む
29R55R29入れ替えても同じバニラを含む
29R77R29入れ替えても同じバニラを含む
29N1111N29入れ替えても同じバニラを含む
29R1313R29入れ替えても同じバニラを含む
29N1717N29入れ替えても同じバニラを含む
29N1919N29入れ替えても同じバニラを含む
29R2323R29入れ替えても同じバニラを含む

バニラ素数同士や、バニラ素数とチョコレート素数は、ひっくり返しにしても R ないし N の性質は変わらないが、 チョコレート素数同士の場合、ひっくり返しにすると R だったものは N に、N だったものは R に変わる。 以上が「平方剰余の相互法則」の内容だ。

今回のまとめ

2つの素数 p, q について、
x2 ≡ p (mod q) …… ①
が解を持つかどうか?は、ひっくり返した
x2 ≡ q (mod p) …… ②
が解を持つかどうか?と神秘的な関係にある。

すなわち、p, q が両方とも ≡3 (mod 4) 型の素数であるときには、 ①と②のどちらか一方にのみ解があり、他方には解がない(つまり、①と②は「解を持つか持たないか」という属性が逆になる)。 p または q の少なくともどちらか一方が ≡1 (mod 4) 型の素数であれば、 ①と②はどちらも解を持つか、または、どちらも解を持たない(つまり、①と②は「解を持つか持たないか」という属性が一致する)。

例題

x2 ≡ 3 (mod 23977) …… ① には解があるか?

答: 3はチョコレート素数だが、もう一方の数23977は4で割ると1余り、バニラ味だ。 したがってひっくり返しても判定結果は変わらない。
x2 ≡ 23977 (mod 3) …… ② には解があるか?

23977≡1 (mod 3) だから、要するに
x2 ≡ 1 (mod 3) には解があるか?
と尋ねている。ということは ② には x = 1 という解があるので、①にも解がある。

ちなみに、①の具体的な解は 6033であり、60332 = 36397089 を 23977 で割ると3余る。 ソロベイ・ストラッセン・テストによる素数性判定では、①の形の式を実際に解く必要はなく、単に解があるかないかだけ知りたい。 したがって泥臭い数値計算をする必要はなく、今回説明した平方剰余の相互法則と、次回以降に説明するヤコビ記号の性質によって、 高速に判定を実行できる。 なお、両方とも4で割って3余る形の数でも、 判定のアルゴリズム上、支障はない。 その場合、ひっくり返すと「平方数か平方数でないか?」の性質が入れ替わる。

更新履歴

  1. 2003年3月26日: 初版
  2. 2013年6月16日: 「交換法則が成り立つか」のコードサンプルに含まれていた "</td>""<\/td>" に修正(6カ所)。
  3. 2013年12月16日: (1) 誤字脱字の修正: 「法が7でなくても」→「法が17でなくても」。「Aと合同なすべて剰余類」→「Aと合同なすべての数から成る集合(剰余類)」。 (2) 「平方数 vs. 平方剰余」は「数 vs. 剰余類」に対応する、という趣旨の記述を削除。そう定式化しても問題はないが、用語の説明としては正しくない。 (3) 結びの部分の、真意が分かりにくい表現を改善: 「計算上、支障はない」→「判定のアルゴリズム上、支障はない」。
  4. 2014年2月9日: “一方にのみ解があり、他方には解がない”という部分に、“つまり、①と②は「解を持つか持たないか」という属性が逆になる”という言い換えを追加。その他、微調整。
  5. 2014年6月9日: 「17-nの平方」→「(17-n)の平方」。補足説明のための注を2個追加。

この記事のURL

パブリックドメイン


ばびっと数え歌 シリア語編

2014年 2月 9日
記事ID e40209

「古典シリア語の数詞の1~10」を覚えるための数え歌。

歌詞は「ばびっと数え歌」専用ではなく、aḏ — Trēn の行を省けば「ごんべさんの赤ちゃんがかぜひいた/おたまじゃくしはカエルの子/まあるい緑の山手線」のメロディーでも歌えます。その場合、行の前半末尾が7音のものは【ごんべ版】のように5音に縮めてください。「ともだち讃歌」風にも歌えますが、その場合は【ともだち版】のように偶数の数字の歌詞の末尾も短縮してください。

母音記号の付け方はカラバシ方式

数え歌

(1) aḏ — Trēn — aḏ, trēn, tlāṯā — aḏ

ܚܰܕ (aḏ) ードに息を吐く 初めの一歩はモーマンタイ

(2) aḏ — Trēn — aḏ, trēn, tlāṯā — Trēn

ܬܪܶܝܢ (trēn) TRAIN 電車に乗って 二人で旅行は楽しいな

【ごんべ版】 ܬܪܶܝܢ (trēn) TRAIN 汽車の旅 二人で旅行は楽しいな

【ともだち版】 ܬܪܶܝܢ (trēn) TRAIN 汽車の旅 二人で旅行 (ハッド トレーン!)

(3) aḏ — Trēn — aḏ, trēn, tlāṯā — Tlāṯā

ܬܠܳܬ̥ܐ (tlāṯā) トラ(L)~サ(th)~ このつらさ さんざん数詞にゃ苦労する

(4) aḏ — Trēn — aḏ, trēn, tlāṯā — ʾArbʕā

ܐܰܪܒܥܐ (ʾarbʕā) あるバー やけ酒飲むぞ 4時から酔っぱらって良いご身分

【ごんべ版】 ܐܰܪܒܥܐ (ʾarbʕā) あるバー やけ酒だ 4時から酔ってる良いご身分

【ともだち版】 ܐܰܪܒܥܐ (ʾarbʕā) あるバー やけ酒だ 4時から酔っちゃった (ハッド トレーン!)

*****

(5) aḏ — Trēn — aḏ, trēn, tlāṯā — amšā

ܚܰܡܫܐ (amšā) ムシャー ハムスター 5匹のムしゃ~ かわいいな

(6) aḏ — Trēn — aḏ, trēn, tlāṯā — Štā

ܫܬܐ (štā) だ シュターだ ロックシュター(ロックスター) ロックシュターはろくろ首

【ともだち版】 ܫܬܐ (štā) だ シュターだ ロックシュター ろくろ首 (ハッド トレーン!)

(7) aḏ — Trēn — aḏ, trēn, tlāṯā — Šaḇʕā

7時に ܫܰܒܥܐ (šaḇʕā) を浴びました シャヴシャヴ シャヴア゙ー(シャワー)を浴びました

(8) aḏ — Trēn — aḏ, trēn, tlāṯā — Tmānyā

8時のテレビは ܬܡܳܢܝܐ (tmānyā) (つまんねえや) 女優が出ても ܬܡܳܢܶܐ (tmānē)

【ともだち版】 8時のテレビは ܬܡܳܢܝܐ (tmānyā) (つまんねえや) 女優も ܬܡܳܢܶܐ (tmānē) (ハッド トレーン!)

(9) aḏ — Trēn — aḏ, trēn, tlāṯā — Tešʕā

9時は眠いぞ 茶を飲むぞ 茶こしがないから ܬܶܫܥܐ (tešʕā) あ゙~ (※「ティッシュで代用したら失敗」という意味)

(10) aḏ — Trēn — aḏ, trēn, tlāṯā — ʕesrā

とうで とうとうラスボス出たぞ ܥܶܣܪܐ (ʕesrā) デスラー 好敵手

【ごんべ版】 とうとうラスボス おでましだ ܥܶܣܪܐ (ʕesrā) デスラー 好敵手

【ともだち版】 とうとうラスボス 好敵手 ܥܶܣܪܐ (ʕesrā) デスラー (ハッド トレーン!)

お好みで

ばびっと数え歌 シリア語編 > 更新履歴

  1. 2014年1月30日: メモした。
  2. 2014年2月5日: 記事作成開始。
  3. 2014年2月9日: 初版公開。
  4. 2014年2月16日: 「お好みで」に「4時から酔っぱらったら世の中良くならん!」を追加。
  5. 2014年2月23日: 「お好みで」に「ロックシュター(ワウ!)」、「ろくろ首(ワウ!)」を追加。
  6. 2014年3月2日: 太字の使い方を一部変更。
  7. 2017年12月24日: 表記変更「ゴンベエ/ゴンベ」→「ごんべ」

この記事のURL


まあるい緑の単位円 (三角関数覚え歌)

2017年12月24日
記事ID e71224a

「ごんべさんの赤ちゃん」のメロディーで。「単位円」=「半径1の円」。

まあるい緑の単位円
半径 斜辺の三角形
「高さ」の「さ」の字はサインの「サ」
サインは 対辺 高さ
PNG画像01: 原点Oを中心とする半径1の円を考える。Aを点(1, 0)とする。円周上の任意の点Pについて、角AOPを反時計回りに測ったものをθとする。PからOAに引いた垂線と、OAの交点をTとする。sin θは、直角三角形OPTの「高さ」PT。この辺は角θから見て向かい側にあるので「対辺」と呼ばれる。
「よこ」の「こ」の字のコ・サイン
角度のすぐ横 隣辺は
角度がゼロでも極大値
やる気まんまん ゴーサイン

「高さ」の自乗と「よこ」自乗
和は1自乗だ 三平方
サインの2乗とコサインの
2乗の和は 1になる
PNG画像02: PNG画像01と同じ設定。cos θは直角三角形の「よこ」の辺OTの長さ。この辺は角θに接しているので「隣辺」と呼ばれる。
「かなた」の「た」の字のタンジェント
垂直接線 その交点
値はワイドに無制限
対÷隣辺 サイン÷コス

真ん中 直線 傾きは
x ゼロから 1 までの
y の増分 AQ よ
それが正接 タンジェント
PNG画像03: PNG画像01と同じ設定。Aで円に接する垂直線を考える。OPを延ばした直線と、この垂直線の交点をQとすると、AQがtan θに当たる。三角形OTPと三角形OAQは相似なので、OA:AQ=OT:TP。OA=1に注意すると、tan θ = sin θ/cos θとなる。

直角三角形の斜辺以外の2辺のうち、「考えている角度 θ のある場所」につながっている辺が隣辺。「θ のある場所」の向かい側にある辺が対辺

サインとコサインは、それぞれ「斜辺を 1 としたときの対辺・隣辺の長さ」に当たる。

タンジェントは、斜辺の傾き。「その線上では、x-座標が☆☆増えるとき、y-座標がこれだけ増える」という割合。「y がこれだけ増えますよ」という増加量を、☆☆(いわば増加の所要時間)で割った比(増加の速さ)。つまりタンジェントは「対辺÷隣辺」で、「サイン÷コサイン」ともいえる。

タンジェントを純粋に「サイン÷コサイン」と考えると TP / OT だが、3番目の画像の △OPT△OQA は相似なので、AQ / OA でも同じ比になる。OA = 1 なので、AQ / OAAQ そのもの。「tan θ というのは、この青い部分」とイメージできる。

サインとコサインは単位円上の座標なので、[−1, +1] の範囲から抜けられない。タンジェント(3番目の画像の青い部分)は円の外にあるので、無限に大きくなることができる(負の無限大に向かうこともできる)。

単位円を使った普通の定義では「コサイン=横=横方向」だが、むしろ「コサイン=横=角度のすぐ横=隣辺」と考えた方がいい。例えば ∠OPTα とすると cos α = PT。見掛け上 PT は縦方向だけど、α に隣接している。

sin 45° を求めてみよう

PNG画像11: PNG画像01と同じ設定。θ=45°なら、三角形OTP・三角形OAQは、どちらも直角二等辺三角形。

θ(シータ)が 45° のとき、OP を斜辺とする直角三角形は…。三角形の内角の和は 180° だから、直角以外のもう1個の角も 45° になるはず。二等辺三角形だ。

この場合、「高さ」 TP と「よこ」 OT は等しい。sin θ(サイン・シータ)の定義はこの「高さ」、cos θ(コサイン・シータ)の定義は「よこ」。言い換えれば、Px-座標と y-座標。その二つが等しいのだから:

ピタゴラスの定理によって:

  1. TP2 + OT2 = OP2
  2. (sin 45°)2 + (cos 45°)2 = 12 = 1

sin 45°cos 45° は等しいので、それらの平方、つまり (sin 45°)2(cos 45°)2 も等しい。値が等しくて、足すと 1 になるんだから、それぞれ 1/2 のはず。

2乗すると 1/2 になる数。それは ±√1/2。この場合、点 Px-座標と y-座標はプラスなので、符号はプラスだろう:

  1. sin 45° = cos 45° = +√1/2
  2. = 1 / √2 ……… (☆)
  3. = 2 / 2 ……… (★)

(☆) と (★) は同じ意味。

ところで AQ も大きな二等辺三角形の一辺になっていて、OA = 1 と長さが等しい。このことから、tan 45° = 1 は一目瞭然。sin 45° = cos 45° からも、tan 45° = sin 45° / cos 45° = 1 と結論できる。

θ = 30° の場合

PNG画像12: PNG画像01と同じ設定。θ=30° のとき、TPEが正三角形になるように、OP上に点Eを作る。TP=PE=ET。このとき角OETは120°、角OTEは30°なので、OETは二等辺三角形で、OE=ET。従ってOP=OE+EP=2TP。

θ = ∠AOP = 30° とする。△TPE が正三角形になるように OP 上に点 E を書き込むと、△OET は二等辺三角形。このことから、sin 30° = TP は、半径 OP = 1 のちょうど半分。つまり:

ピタゴラスの定理を利用して:

  1. (1/2)2 + (cos 30°)2 = 1
  2. (cos 30°)2 = 3/4
  3. 0 < cos 30° = +√3/4
  4. = 3 / 4 = 3 / 2

タンジェントの値は:

  1. tan 30° = sin 30° / cos 30°
  2. = (1/2) / (3/2)
  3. = 1 / √3
  4. = √3 / 3

番外編: 逆数トリオ

三角関数には他にも種類がある。以下の三つは「逆数に名前を付けただけ」で、はっきり言って存在価値が怪しい。実際、普通のプログラミング言語ではサポートされていない(逆数くらい自分で実装すればいい)。

セカント 「セ」の字は「延ばせ」の「せ」
半径延ばしたその長さ
だから 絶対(絶対値)1以上
後ろに延ばせばマイナス

余弦の逆数 セカントは
大きい三角 斜辺だぞ
だから セカント平方は
タンジェント平方プラス1
PNG画像04。PNG画像03と同じ設定。OQがsec θに当たる。
「コ」タンジェントに「コ」セカント
「コ」のない兄貴の横バージョン
水平接線 その交点
横と斜めの長さ
PNG画像05: (0, 1)を点Bとして、Bで円に接する水平の接線を考えよう。この接線と直線OPの交点をRとすると、BRがcot θに当たり、ORがcsc θに当たる。

この記事のURL

パブリックドメイン


アルファとベータが角引いた (加法定理・図解の歌)

2017年12月24日
記事ID e71224b

まあるい緑の単位円 (三角関数覚え歌)」の続き。「ごんべさんの赤ちゃん」のメロディーで。「アルファさんとベータさんが麦畑」でもOK。

【距離の2乗】
α と β が角引いた
PQ平方 ピタゴラス
マイナスくくって 中 プラス
2引く 2掛け「ここ・さっさ」
PNG画像21: 原点Oを中心とする半径1の円を考える。Aを点(1, 0)とする。円周上の2点P, Qを考える。角AOP=α、角AOQ=βとすると、P, Qの座標は、それぞれ(cos α, sin α)と(cos β, sin β)。ピタゴラスの定理から、PQ^2 = (cos β−cos α)^2 + (sin β−sin α)^2 = 2−2(cos α cos β+sin α sin β)。「cos α cos β+sin α sin β」を略して「ここ・さっさ」と呼ぶことにしよう。
【距離2乗 再計算】
マイナス β 大回転
点Q (1, 0) こりゃ楽ちん
PQ平方 再計算
2引く 2掛け「差の余弦」
PNG画像22: QがAと重なる位置まで円を回転させる。回転後のQの座標は(0, 1)、Pの座標は(cos (α−β), sin (α−β))。ゆえにPQ^2 = [cos (α−β)−1]^2 + [sin (α−β)−0]^2 = 2−2 cos(α−β)。
【和・差の cos】
和・差の余弦は「ここ・さっさ」
4限が終われば飯さっさ
「ここ」で符号を入れ換えて
あとは「さっさ」と 済まそ
PNG画像23: PNG画像21と22で得た二つの式は、どちらもPQ^2を表していて、等しい。このことからcos (α−β) = cos α cos β + sin α sin β。左辺にはマイナスがあるが、cos α cos βの後ろで符号がプラスになることに注意。これを余弦の減法定理と呼ぶ。この公式のβを(−β)に置き換えると、cos (α+β) = cos (α−(−β)) = cos α cos β − sin α sin β。これを余弦の加法定理と呼ぶ。
【和・差の sin】
サインは「余角のコ・サイン」
「余角のサイン」はコ・サイン
和・差のサインが欲しいとき
最高! コスプレ・サイン会
PNG画像24: sin X = cos (90°−X), sin (90°−X) = cos Xという関係がある。ゆえにsin (α+β) = cos (90°−(α+β)) = cos ((90°−α)−β)。これを余弦の減法定理で展開し、前記の関係を使って、(90°−X)の形の角を簡単な形に書き換えると、sin (α+β)=sin α cos β + cos α sin β。これを正弦の加法定理と呼ぶ。右辺を覚える語呂合わせは「最高! コス(プレ)サイン(会)」。この式のβを(−β)で置き換えると、sin (α−β)=sin α cos β − cos α sin βとなる。
【和・差の tan】
角度の和・差のタンジェント
正弦・余弦の商でしょう
分子と分母を書き込んで
「ここ」で割ったら できちゃった
PNG画像25: tan θ=sin θ/cos θだから、tan (α+β)=sin (α+β)/cos (α+β)。正弦の加法定理、余弦の加法定理を使ってこの分子・分母をそれぞれ展開し、分子・分母をそれぞれcos α cos βで割ると、tan (α+β) = (tan α+tan β)/(1−tan α tan β)となる。同様に、tan (α−β) = (tan α−tan β)/(1+tan α tan β)。

cos 15° を求めてみよう

  1. cos 15° = cos (45° − 30°)
  2. = cos 45° cos 30° + sin 45° sin 30°
  3. = (2 / 2) × (3 / 2) + (2 / 2) × (1 / 2)
  4. = 6 / 4 + 2 / 4
  5. = (√6 + √2) / 4

6 の近似値は 2.4492 の近似値は 1.414。これらを使うと:

  1. cos 15° = (√6 + √2) / 4
  2. ≈ (2.449 + 1.414) / 4
  3. = 3.863 / 4 ≈ 0.966

角度の絶対値が小さいとき、コサインは 1 に近い。コサインの定義から、当然そうなるだろう。

sin 15° も求めてみよう

  1. sin 15° = sin (45° − 30°)
  2. = sin 45° cos 30° − cos 45° sin 30°
  3. = 2 / 2 × 3 / 2 − 2 / 2 × 1 / 2
  4. = 6 / 4 − 2 / 4
  5. = (√6 − √2) / 4
  6. ≈ (2.449 − 1.414) / 4
  7. = 1.035 / 4 ≈ 0.259

角度の絶対値が小さいとき、サインは 0 に近い…ことは確かだが、「コサインが 1 に近い」ほどの近さではない。サインもコサインも、値 ±1 付近では緩やかに変化し、値 0 付近では急激に変化する。どのくらい急激かというと…。90° かけて 値が 0 から 1 まで増えるのだが、30° でもう 50% 地点。たった 15° で、既に 25% を超えている

倍角の公式

正弦の加法定理の、角 α と角 β が等しい場合を考えてみよう。

α = β = x とすると:

  1. sin (x + x) = sin x cos x + cos x sin x
  2. sin 2x = 2 sin x cos x ……… (1)

余弦の加法定理で、同じことをやってみよう。

α = β = x とすると:

  1. cos (x + x) = cos x cos x − sin x sin x
  2. cos 2x = cos2 x − sin2 x ……… (2A)

ここで cos2 x というのは、 (cos x)2 と同じ意味。sin2 x も同様。

ピタゴラスの定理 sin2 x + cos2 x = 1 の左辺の項を1個だけ移項すると、こうなる。

(P1)(2A) に代入すると:

(P2)(2A) に代入すると:

正接の加法定理α = β = x とすると、正接の倍角の公式が得られる:

(1) ÷ (2A) の分数を考えて、その右辺の分子・分母を cos2 x で割っても、(3) が得られる。

倍角の公式(その2)

ピタゴラスの定理 sin2 x + cos2 x = 1 の各項を cos2 x で割ると:

  1. tan2 x + 1 = 1 / cos2 x ……… (P3)
  2. tan2 x + 1 = sec2 x

(1) の右辺を「分母が 1 の分数」と見なして分子・分母を cos2 x で割り、(P3) を使うと:

  1. sin 2x = (2 sin x cos x) / 1
  2. sin 2x = (2 sin x cos x / cos2 x) / (1 / cos2 x)
  3. sin 2x = 2 tan x / (1 + tan2 x) ……… (4)

同様に、(2A)(P3) から:

  1. cos 2x = (cos2 x − sin2 x) / 1
  2. cos 2x = [(cos2 x − sin2 x) / cos2 x] / (1 / cos2 x)
  3. cos 2x = (1 − tan2 x) / (1 + tan2 x) ……… (5)

注: tan x が定義されない場合(同じことだが cos x = 0 の場合)には (3), (P3), (4), (5) は意味を持たない。

(4)(5)2x をあらためて θ と置き、さらに tan x = tan (θ/2)u と書くと:

次のようにすれば、倍角の公式を使わずにこの関係を導くことができ、幾何学的意味もはっきりする。

PNG画像32: 原点Oを中心とする半径1の緑の円を考える。点(−1, 0)をC、円周上の別の点をPとし、CPは青い直線で結ばれているとする。OPと正のx-軸が成す角をθとする。Pからx-軸に下ろした垂線の足をTとする。CPとy-軸の交点をDとし、線分ODを「赤い部分」と呼ぶ。点Dの座標を(0, u)とすると、「赤い部分」はuに当たる。

[1] 原点 O を中心に、緑の単位円(半径1の円)があるとする。座標 (−1, 0) の点 C、緑の単位円上の点 P、その2点を結ぶ青い直線を考えよう。ここでは P が第1象限にあるとする(それ以外の場合についても、同様に考えることができる。PC が一致する場合だけは具合が悪い)。△COP は二等辺三角形。∠COP = (180° − θ) に注意すると、この二等辺三角形の、二つの底角の和は θ。従って、1個の底角は θ/2∠OCP = θ/2 となる。

[2] 青い直線 CPy-軸の交点を D とする。C を中心とする別の単位円を考えると、y-軸は、この単位円に接する垂直線となり、タンジェントの意味から、ODtan (θ/2) に等しい。この赤い部分の高さを u = tan (θ/2) としよう。この u は、青い直線の傾きでもある(x = −1 から x = 0 までで、yu 増加している)。

[3] 青い直線の方程式は、こうなる(傾きが u で、x = 0 のとき y = u だから)。

P の座標を (pq) としよう。点 P も青い直線上にあるので、その座標値は (6) を満たす:

[4] △OTP についてのピタゴラスの定理から:

(7)(8) を組み合わせれば、pqu で表すことができる。p = cos θ, q = sin θ なので、結局、半角のタンジェント u = tan (θ/2) を使って cos θ, sin θ を書き表すことができる。

(7)(8) に代入すると:

  1. p2 + (upu)2 = 1
  2. p2u2p2 + 2u2pu2 = 1
  3. (u2 + 1)p2 + (2u2)p + (u2 − 1) = 0 ……… (*)

(*)p についての2次方程式で、その解は (7)(8) を同時に満たす点(要するに、青い直線と緑の円の交点)の x-座標。これを解くと:

  1. p = [−2u2 ± √D] / [2(u2 + 1)]
  2. D = (2u2)2 − 4(u2 + 1)(u2 − 1)
  3. D = 4u4 − 4(u4 − 1) = 4
  4. D = 2
  5. p = [−2u2 ± 2] / [2(u2 + 1)]
  6. p = (−u2 ± 1) / (u2 + 1)

±」のうち、マイナスを選択すると p = −1 になるが、これは点 Cx-座標に当たる。点 C も確かに直線と円の交点だが、知りたいのはそっちではなく、点 P の座標。プラスを選択しよう:

  1. p = (−u2 + 1) / (u2 + 1)
  2. = (1 − u2) / (1 + u2) ……… (**)

これで p = cos θu = tan (θ/2) で表された。

付記: (*) を解くとき、分子・分母を最初から半分にして、根号の中を4分の1にする方法もある。

[5] q を求めるため、(**)(7) に代入しよう。

  1. q = u[(1 − u2) / (1 + u2)] + u
  2. = [u(1 − u2) / (1 + u2)] + [u(1 + u2) / (1 + u2)]
  3. = 2u / (1 + u2)

これで q = sin θu で表された。

半角の公式

PNG画像33: PNG画像32に加えて、点(1, 0)をAとする。

[6] 半角の公式は下記 [9] の代数計算により簡単に導かれるが、幾何学的に考えれば、その意味はさらに明快。図で直角三角形 TCP∠C に注目しよう。対辺 TP の長さは q = sin θ。隣辺 CT の長さは、CO + p つまり 1 + cos θ。従って、タンジェントの意味から:

ただし θ = ±180° の場合、この式は両辺とも定義されない。θ = 0° の場合、三角形はつぶれてしまうが、式 (9.1) 自体は問題なく成立する。p, q は負にもなり得る。

右辺の分子・分母を cos θ で割れば tan (θ/2) = tan θ / (sec θ + 1) とも書ける。

[7] ∠CPA は直角。このことは、例えば次のように証明される。△AOP は、2辺の長さが単位円の半径に等しい。従ってそれは二等辺三角形で、その2個の底角の和は 180° − θ。1個の底角はその半分の大きさなので、∠OPA = 90° − θ/2∠OPC = θ/2 ということは既に分かっているので、∠CPA = ∠OPA + ∠OPC = 90°

△TCP△PCA△TPA は、相似な直角三角形。実際、直角三角形 TCP を考えると、∠P = 90° − θ/2。直角三角形 PCA を考えると、∠A = 90° − θ/2。これは直角三角形 TPA∠A でもある。従って、三つの三角形はどれも、少なくとも2個の内角が等しい。2個の内角が等しければ、自動的に3個の内角が等しい。

小さい直角三角形 TPA∠P を考えると、対辺の長さは TA = OA − p = 1 − cos θ。隣辺の長さは q = sin θ。従って、タンジェントの意味から:

この式も、θ = ±180° の場合、両辺が定義されない。さらに、θ = 0° の場合も、右辺が 0/0 になってしまい定義されない。

右辺を分数の引き算の形にすれば、tan (θ/2) = csc θ − cot θ とも書ける。

[8] 大きい直角三角形 PCA∠C に注目しよう。斜辺の長さは、単位円の直径 2。従って、対辺と隣辺は、それぞれ PA = 2 sin (θ/2)CP = 2 cos (θ/2)

小さい直角三角形 TPA∠P に注目すると、TA = PA sin (θ/2) だが、上記の事実と組み合わせると、= 2 sin (θ/2) × sin (θ/2)。従って TA = 1 − cos θ について、次が成り立つ。

辺の長さ PA = 2 sin (θ/2) の正負の意味が曖昧だが、sin (θ/2) の部分は結局2乗されるので、正でも負でも結果に変わりない。

同様に、直角三角形 TCP∠C に注目すると、CT = CP cos (θ/2) だが、それは = 2 cos (θ/2) × cos (θ/2) なので、CT = 1 + cos θ について、次が成り立つ。

(9.3) の左辺を (9.4) の左辺で割ったものと、(9.3) の右辺を (9.4) の右辺で割ったものは、等しい:

ただし θ = ±180° の場合、(9.5) は両辺とも定義されない。

[9] 正弦・余弦の半角公式は、余弦の倍角公式 (2C), (2B) からも容易に導かれる。(2C), (2B)sin x, cos x について解いて θ = 2x と置くと:

左辺が 0 でない場合、左辺の正負に応じて、複号はどちらか一方のみが正しい。(9.3′), (9.4′) の両辺を2乗して2倍すれば、それぞれ (9.3), (9.4) になる(2乗すれば、符号は関係なくなる)。

(9.3′) の左辺を (9.4′) の左辺で割ったものと、(9.3′) の右辺を (9.4′) の右辺で割ったものは、等しい:

ただし θ = ±180° の場合、(9.5′) は両辺とも定義されない。

(9.5′) の根号内の分子・分母に (1 + cos θ) を掛けると (9.1) が得られ、(1 − cos θ) を掛けると (9.2) が得られる。(9.1), (9.2) は2乗の形を含んでいないが、複号は不要。どちらも、左辺・右辺は自動的に同じ符号になる。なぜなら (1 + cos θ)(1 − cos θ) は決して負にならず、しかも、tan (θ/2)sin θ は常に同符号。実際、0° ≤ θ < 180° のとき tan (θ/2) は負にならないが、sin θ も負にならない。180° < θ ≤ 360° のとき tan (θ/2) は正にならないが、sin θ も正にならない。

「半角のタンジェントでは、符号の心配は要らない」ということ、つまり「u = tan (θ/2)q = sin θ は常に同符号」ということは図から一目瞭然で、「点 Px-軸より上にあれば点 Dx-軸より上にあり、点 Px-軸より下にあれば点 Dx-軸より下にある」ということを言っている。

アルファとベータが角引いた (加法定理・図解の歌) > 更新履歴

  1. 2017年12月24日: 初版。
  2. 2017年12月31日: 倍角の公式(その2): 点 (0, u) の名前を「S」から「D」に変えた。
  3. 2018年1月14日: 「半角の公式」を追加。
  4. 2018年1月28日: 「倍角の公式(その2)」に「注」を追加。

この記事のURL

パブリックドメイン


cos 36° 魔法のにおい

2018年 1月14日
記事ID e80114a

cos  π 5 つまり cos 36° は黄金比の半分に当たり、正五角形を使った幾何学的方法で計算されることもある。手順は例えば以下の通りで、確かにエレガントだが…。

PNG画像: 一辺の長さが1の正五角形OPQRSを座標平面上に配置して、Oが原点、Pが第1象限、Qがx-軸上になるようにする。対角線OQ, ORを赤線とし、その長さをxとする。PからOQに下ろした垂線の足をAとする。「角OQRを2等分する直線」とORの交点をBとする。線分QB, QRを青線とする(長さはどちらも1)。

(例題) cos 36° を求めよ。

(解法の要約) 図のように、一辺の長さが 1 の正五角形 OPQRS を座標平面上に配置して、O が原点、P が第1象限、Qx-軸上になるようにする。求めるものは OA の長さで、赤い線分の長さ x の半分に当たる。

赤い斜辺の二等辺三角形 ROQ の斜辺と底辺の比は、x : 1。一方、OR = x, OB = 1 なので BR = x − 1 であり、青い斜辺の二等辺三角形 BQR の斜辺と底辺の比は、1 : (x − 1)。赤と青の二等辺三角形は相似なので、この二つの比は等しい。

  1. x : 1 = 1 : (x − 1)
  2. x(x − 1) = 1
  3. x2 − x − 1 = 0
  4. x = 1 ± √52

xOQ 間の距離なので負ではなく、x = 1 + √52 が題意に適する。求める長さは、その半分:

(終わり)

…けれど、正五角形の図を描くのは面倒だし、正五角形の一つの内角が 108° であることの証明から始めて、各部の長さや角度をきちんと説明していくと(付録A)、意外と長くなる。そもそもどうやって、上記の巧妙な作図、巧妙な補助線を発見すればいいのだろう。

以下では、作図に頼らず、代数的な計算で淡々とこれを求めてみたい。同じ手間なので、18°, 36°, 54°, 72° などの sin, cos をまとめて考える。

5倍角の公式

加法定理で二つの角が等しいと置くと、倍角の公式が得られる:

(1), (2)α = 2x とすると、4倍角の公式が得られる:

  1. sin 2(2x) = 2 sin (2x) cos (2x)
  2. = 2(2 sin x cos x)(2 cos2 x − 1) = 8 sin x cos3 x − 4 sin x cos x
  3. sin 4x = sin x (8 cos3 x − 4 cos x) ……… (3)
  4. cos 2(2x) = 2 cos2 (2x) − 1
  5. = 2(2 cos2 x − 1)2 − 1 = 2(4 cos4 x − 4 cos2 + 1) − 1
  6. cos 4x = 8 cos4 x − 8 cos2 + 1 ……… (4)

これらを加法定理と組み合わせると、5倍角の公式が得られる。(こんな計算をせずに n 倍角の公式を高速に導く方法については、付録B。)

  1. cos 5x = cos (4x + x)
  2. = (cos 4x) cos x − (sin 4x) sin x
  3. = (8 cos4 x − 8 cos2 + 1) cos x − sin x (8 cos3 x − 4 cos x) sin x
  4. cos 5x = 8 cos5 x − 8 cos3 + cos x − (sin2 x)(8 cos3 x − 4 cos x)

右辺の後半は…

  1. − (sin2 x)(8 cos3 x − 4 cos x)
  2. = − (1 − cos2 x)(8 cos3 x − 4 cos x)
  3. = (cos2 x − 1)(8 cos3 x − 4 cos x)
  4. = 8 cos5 x − 4 cos3 x − 8 cos3 x + 4 cos x

…なので、それを 8 cos5 x − 8 cos3 + cos x と足し合わせると:

  1. cos 5x = 16 cos5 x − 20 cos3 + 5 cos x
  2. cos 5x = cos x(16 cos4 x − 20 cos2 + 5) ……… (5)

cos θ = 0 となるのは、動径が x-軸に対して垂直になって x-軸に落ちる影の長さがゼロになる瞬間、すなわち θ = ±90°, ±270°, ±450°, … の瞬間に限られる。つまり、式 (5) の左辺が cos (5x) = 0 となるのは、5x = ±90°, ±270°, ±450°, … の場合に限られ、それは x = ±18°, ±54°, ±90°, … と同じ意味。逆に言えば、式 (5) の値が 0 になるような cos x をリストアップすれば、そのリストは x = ±18°, ±54°, ±90°, … に対するコサインなので、そこには必ず cos ±18°, cos ±54°, cos ±90°, … の値が含まれている。このリストを得るには、

を満たす cos x を探せばいい。cos θ = cos (−θ) という性質、そして 0° ≤ θ ≤ 180° の範囲でコサインの値は全て出尽くすという事実を考慮すると、上記のリストは次の5項目から成るはず:

  1. cos 18° = cos π10
  2. cos 54° = cos 10
  3. cos 90° = cos 10 = 0
  4. cos 126° = cos 10 = −cos 10
  5. cos 162° = cos 10 = −cos π10

(6) の左辺は cos x(16 cos4 x − 20 cos2 + 5) の積であり、積が 0 になるためには、どちらかが 0 になる必要がある。このうち cos x = 0cos 90° の場合。cos 18°, cos 54° はこの条件を満たさないので、必然的にもう一方の条件:

を満たす。式 (7)y = cos2 x と置くと:

  1. 16y2 − 20y + 5 = 0
  2. y = [20 ± 202 − 4 × 16 × 5] / 32 = (20 ± √80) / 32

次のように、最初から分子・分母を半分にした形で考えてもいい。

いずれにしても、約分すると:

  1. y = (5 ± √5) / 8 ……… (8)
  2. cos x = ±(5 ± √5) / 8 ……… (9)

cos 18° > cos 54° > 0 なので、cos 18°, cos 54° としては、一つ目の「±」でプラスを選び、二つの目の「±」については、値が大きくなる方を cos 18° とすればいいだろう:

数値を確認すると、前者は cos 0° = 1cos 30° = 0.866… の間にあり、後者は cos 45° = 0.707…cos 60° = 0.5 の間にあるので、どうやらこれで正しそう。

(9) の最初の「±」でマイナスを選んだ場合、cos (9/10)π = cos 162° の値と、cos (7/10)π = cos 126° の値が得られる(内容的には、上記の二つの解の符号をマイナスにしただけ)。(6) には、この他もう一つ、cos (5/10)π = cos 90° に当たる解がある(計算するまでもなく値は 0)。

(6)cos x についての5次方程式で、5次方程式は、一般には、このように5個の解を持つ。

cos 18° = (5 + √5) / 8 については、根号内の分子・分母に 2 を掛けて 2(5 + √5) / (2×8) = 10 + 2√5 / 4 などと書くこともできる。cos 54° の値も同様で、10 − 2√5 / 4 と書くこともできる。

ルート5がいっぱい

上記では cos 18°cos 54° が求まったものの、本題の cos 36° は、まだ得られていない。cos 36° の5倍は 180° なので、上記の方法を少し変形すれば対応可能だが、それより、余弦の倍角の公式

の教えに従って、cos 18° を2乗して2倍して1を引くのが、手っ取り早い。

  1. cos 36° = 2[(5 − √5) / 8]2 − 1
  2. = 2[(5 + √5) / 8] − 1
  3. = (5 + √5) / 4 − (4 / 4)
  4. = (1 + √5) / 4 ……… (*)

角度をさらに2倍して cos 72° も求めておこう。

  1. cos 72° = 2[(1 + √5) / 4]2 − 1
  2. = 2[(1 + 2√5 + 5) / 16] − 1
  3. = (6 + 2√5) / 8 − 1
  4. = (3 + √5) / 4 − (4 / 4)
  5. = (−1 + √5) / 4

sin θ = cos (90° − θ) なので、次のように要約できる。

直角を5等分した角度の正弦・余弦
θ 4 sin θ 4 cos θ
18° = (1/10)π −1 + √5 10 + 2√5
36° = (2/10)π 10 − 2√5 1 + √5
54° = (3/10)π 1 + √5 10 − 2√5
72° = (4/10)π 10 + 2√5 −1 + √5

前のセクションで求めた cos 54° = (5 − √5) / 8sin 36° の値でもあるので、ピタゴラスの定理を使ってそこから cos 36° を求めることもできる:

次のような、単純なパターンになっている。

正弦・余弦: 2乗の8倍
θ 8 sin2 θ 8 cos2 θ
18° = (1/10)π 3 − √5 5 + √5
36° = (2/10)π 5 − √5 3 + √5
54° = (3/10)π 3 + √5 5 − √5
72° = (4/10)π 5 + √5 3 − √5

このうち 5 ± √5 については式 (8) から明らか。それらの相棒(すぐ左の欄)は、単に「8マイナスその値」。それだけ分かれば、残りの欄は三角関数の性質から自然に埋まる。

(**) の両辺の平方根を考えると、次のように、結果は (*) と一致する。

追記: 関連記事「cos π/7 正七角形の七不思議」を公開した。5倍角の公式の代わりに、今度は7倍角の公式を使ってみた。

付録A 正五角形を使う方法の詳細、黄金比

正五角形を使った冒頭の方法について。

PNG画像: 一辺の長さが1の正五角形OPQRSを座標平面上に配置して、Oが原点、Pが第1象限、Qがx-軸上になるようにする。対角線OQ, ORを赤線とし、その長さをxとする。PからOQに下ろした垂線の足をAとする。「角OQRを2等分する直線」とORの交点をBとする。線分QB, QRを青線とする(長さはどちらも1)。

正五角形の内角の和は、三つの三角形(図の △OPQ, △ROQ, △OSR)の内角の和に等しいから、180° × 3。ゆえに正五角形の一つの角は、180° × 3 / 5 = 108°

二等辺三角形 OPQ において、∠P = 108° なので、一つの底角は (180° − 108°)/2 = 36°。同様に、二等辺三角形 OSR の底角も 36°

従って ∠ROQ = 108° − 36° − 36° = 36°△ROQ も二等辺三角形で(△OPQ ≡ △OSR だから)、その一つの底角は (180° − 36°)/2 = 72°

赤い斜辺の二等辺三角形 ROQ において、∠Q (=72°) を2等分する直線と、辺 RO の交点を B とする。

このとき、青い斜辺の △BQR も二等辺三角形。なぜなら、作図の仕方から青三角の ∠Q72°/2 = 36° であり、∠R = 108° − 36° = 72° なので、∠B = 72° となって、二つの底角が等しい。

赤い斜辺の二等辺三角形と、青い斜辺の二等辺三角形は、相似。なぜなら、どちらも 36°, 72°, 72° の三つの内角を持つ。この先は冒頭のようにすればいい…。

ところで「赤」と「青」の比は、OR1 の比。OB = 1 なので、これは「OROB の比」でもある。一方、三角形の相似から、赤三角における斜辺「赤」と底辺「青」の比は、青三角における 1BR の比。OB = 1 なので、こちらは「OBBR の比」でもある。結局、「OROB の比」は「OBBR の比」に等しい。

このように、「全体を大きな部分 a と小さな部分 b に分けて、全体と a の比が、ab の比に、等しくなるようにする」場合、その比を黄金比という。x が黄金比の値であること、cos 36° がその半分になることは、図から一目瞭然。

記事の初めの計算によると、黄金比の値は:

  1. x = 1 + √52
  2. = 1 + 2.236…2
  3. = 3.236…2
  4. = 1.618…

付録B 余弦の n 倍角の公式を高速に導く方法

「0倍角の公式」「1倍角の公式」は自明:

  1. cos 0x = cos 0 = 1
  2. cos 1x = cos x

この二つの式を出発点に、簡単な計算を使って、2倍角・3倍角・4倍角…の公式を高速に生成できる。

表記を簡潔にするため、以下では cos xC と略す。C^2C^3 は、それぞれ cos2 xcos3 x を表す。C^4 以降も同様。

やり方
C = (cos x)
cos 0x =  1
cos 1x =  C

     A =  2C^2          <-- (2C) cos 1x
     B =       -  1     <-- (-1) cos 0x
cos 2x =  2C^2 -  1

     A =  4C^3 -  2C    <-- (2C) cos 2x
     B =       -  C     <-- (-1) cos 1x
cos 3x =  4C^3 -  3C

     A =  8C^4 -  6C^2          <-- (2C) cos 3x
     B =       -  2C^2 +  1     <-- (-1) cos 2x
cos 4x =  8C^4 -  8C^2 +  1

     A = 16C^5 - 16C^3 +  2C     <-- (2C) cos 4x
     B =       -  4C^3 +  3C     <-- (-1) cos 3x
cos 5x = 16C^5 - 20C^3 +  5C

     A = 32C^6 - 40C^4 + 10C^2         <-- (2C) cos 5x
     B =       -  8C^4 +  8C^2 - 1     <-- (-1) cos 4x
cos 6x = 32C^6 - 48C^4 + 18C^2 - 1

     A = 64C^7 - 96C^5 + 36C^3 - 2C     <-- (2C) cos 6x
     B =       - 16C^5 + 20C^3 - 5C     <-- (-1) cos 5x
cos 7x = 64C^7 -112C^5 + 56C^3 - 7C

2Cは、真上の公式の各項の係数を2倍にして、次数を1ずつ増やしただけ。−1は、2個前の公式の各項の符号を反転させただけ。

別の言い方をすると: コサインの (n + 1) 倍角の公式を作るには、n 倍角の公式の 2C 倍から (n − 1) 倍角の公式を引けばいい。本文では真面目にガリガリ計算したが、こっちの方が100倍速い!

うまくいく理由

加法定理を使うと:

上記の左辺と右辺をそれぞれ足し合わせると:

  1. cos (5x) + cos (3x) = 2 cos (4x) cos x
  2. cos (5x) = cos (4x) × 2 cos x − cos (3x)

「5倍角の公式は、4倍角の公式の 2 cos x 倍、マイナス、3倍角の公式」ということが分かった。上記の関係は、3, 4, 54, 5, 65, 6, 7 に置き換えても、そのまま成り立つ。一般に、1 以上の任意の整数 n について、

という二つの式を足し合わせると次のようになるので、何倍角の公式でも同様に生成可能。

これは cos の話で、sintan は別のパターンになる。

cos 36° 魔法のにおい > 更新履歴

  1. 2018年1月14日: 初版公開。
  2. 2018年1月21日: 付録Bを改訂: cos xC と略すことで、手順を分かりやすくした。
  3. 2018年1月24日: 誤字修正。「1 以上の任意の整数 n1 について」→「1 以上の任意の整数 n について
  4. 2018年1月28日: 関連記事「cos π/7 正七角形の七不思議」を公開したのでリンク設定。
  5. 2018年2月18日: 「5倍角の公式」の式の、括弧の付け方を微調整。

この記事のURL

パブリックドメイン



アドレス = 英語の「クリスマス」の最初の5文字 + アットマーク + faireal.net