7 : 17 cos π/7

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

cos π/7 正七角形の七不思議

2018年 1月28日
記事ID e80128a

日頃めったに見掛けない正七角形。その作図不可能性は、有名な「角の3等分問題」に帰着する。

コンパス・定規・「角度3等分」器があれば、360° を7等分できる!

正七角形を作るには

Unicode には五角形 ⬟⬠ も六角形 ⬢⬡ も八角形 もあるのに…。かわいそうな七角形は、文字も作ってもらえない。

円を7個の等しい扇形に分割できれば、分割点を線で結んで正七角形を作図できる。これは中心角 360° を7等分することに当たる。

別の方法。七角形の1個の頂点を選んで、そこから対角線を引けるだけ引くと、七角形は5個の三角形に分割される。従って、七角形の内角の和は 180° × 5 = 900°。正七角形なら7個の内角が等しいので、1個の内角の大きさは 900° の7分の1。この角度を作れるなら、正七角形を作図できる。

前者は 7 = ( 360 7 )° = (51.428571…)° という角度の作図。

後者は 7 = ( 900 7 )° = (128.571428…)° という角度の作図。

もし正七角形が作図できるなら、どちらの角度も作れるので、前者を2等分することにより π 7 = ( 180 7 )° = (25.714285…)° も作れる。逆に、この角度を作れるなら、それを2倍あるいは5倍することで、上記の作図法はどちらも実行可能。

π 7 を作れるなら「cos 36° 魔法のにおい」と同様のことができる…

  1. 座標平面上で原点 O から半直線を引いて、正の x-軸と角度 π 7 を成すようにする。その半直線と単位円(原点を中心とする)の交点 P から x-軸に下ろした垂線の足を A とすると、OA の長さは cos  π 7 になる。
  2. 逆に cos  π 7 という長さを作図できるなら、上記の手順を逆にすれば π 7 も作れる。

結局、正七角形の作図可能性は cos  π 7 の作図可能性と同値で、それは「整数を出発点に、加減乗除・平方根の(有限回の)組み合わせで cos  π 7 を表現できるか?」という問いでもある。

7次方程式 手ごわいぞ

上記の問いをさらに言い換えれば、「加減乗除と平方根だけを使って、次の方程式が解けるか?」

7倍角の公式を高速生成すると:

以下では cos θC と略す。(2.1) を基に「5倍角の公式」と同様に事を進める。

[プランA] cos 7θ = −1 と置くと、コサインの定義から 7θ = π, 3π, 5π, 7π, … となる(角度の符号を変えてもコサインの値は変わらないので、ここでは正の角度だけ考える)。

このとき C = cos θθ は、上記の角度 7θ のどれかの7分の1。従って C cos  π 7  , cos  7  , cos  7  , cos  7  , … のいずれかの値を持つが、その先の cos  7  , 11π 7  , … は最初の4個の値のどれかに一致するので、結局、条件を満たす C の値は、最初の4種類に限られる。7次方程式なのに解が4種類しかないのは、重解だらけということだろう。

[プランB] cos 7θ = 1 と置くと、7θ = 0, 2π, 4π, 6π, … となって、そのとき C cos  0 7  , cos  7  , cos  7  , cos  7 のいずれかの値を持つ。この場合も、条件を満たす C の値は、この4種類だけ。

[プランC] cos 7θ = 0 と置くと、7θ = π 2  , 2  , 2  , 2  , … となって、そのとき C cos  π 14  , cos  14  , cos  14  , cos  14  , cos  14  , cos  11π 14  , cos  13π 14 の値を持つ。この場合、条件を満たす C の値は7種類ある。とはいえ4個目の値はゼロだし、5・6・7個目の値は、それぞれ3・2・1個目の値の符号を変えたものにすぎない。

[A] を試す場合、以下の方程式を C について解けばいい。

  1. 64 cos7 θ − 112 cos5 θ + 56 cos3 θ − 7 cos θ = −1
  2. 64C7 − 112C5 + 56C3 − 7C = −1
  3. 64C7 − 112C5 + 56C3 − 7C + 1 = 0 ……… (2.2)

同様に、[B] を試すなら:

  1. 64C7 − 112C5 + 56C3 − 7C − 1 = 0 ……… (2.3)

[C] を試す場合、こうなる。

  1. 64C7 − 112C5 + 56C3 − 7C = 0
  2. C(64C6 − 112C4 + 56C2 − 7) = 0 ……… (2.4)

(2.4) の自明な解 C = 0 は、上述の7種類の値の4個目に対応している。それ以外の6個の値を求めるには、次の方程式を解けばいい。

y = C2 と置くと:

あっさり3次方程式に帰着された!

[A][B] の余弦から定まる角度(0°, 180° などの自明な角度を除く)は、正七角形の作図に直接利用可能。[C] の余弦から定まる角度も、2倍すれば同じこと。つまり、これらの方程式のどれでもいいから、その自明でない解が「整数の加減乗除・平方根」の範囲で表されるのなら、正七角形は作図可能…。実際には「作図不可能」であることが証明されているが、何がそんなに不可能なのか、行けるところまで行って、様子を見てみましょう。

解けそうだけど…?

とりあえず (2.5) の両辺を3次の項の係数 64 で割って、最高次の項の係数を 1 にしておく。

頑張れば解けそうなムードになってきた!

この形の3次方程式では、未知数を「新しい未知数、マイナス、2次の係数の 1 3 」と置くことで、2次の項を除去できる。上記の例では、z を新しい未知数として

と置けばいい。(3.2)(3.1) に代入すると:

ますます解けそうなムードになってきた!

(3.3)z についての方程式だが、それを解いて、(3.2) を使って変数を元に戻せば、(3.1)y について解いたのと同じことになる。

(3.2) の変換により2次の項が消える仕組みは、次の通り。

3次方程式

が与えられたとき、新しい未知数 z と何らかの数 T を使って

と書いたとする。そのとき (3.4) は、こうなる。

  1. (z + T)3b(z + T)2c(z + T) + d = 0
  2. (z3 + 3Tz2 + 3T2z + T3) + (bz2 + 2bTz + bT2) + (cz + cT) + d = 0
  3. z3(3T + b)z2(3T2 + 2bT + c)z + (T3 + bT2 + cT + d) = 0 ……… (3.5)

(3.5)z2 の項が消滅するためには、3Tb = 0 つまり T = −  b 3 であることが必要。これを (*) に当てはめれば x = z −  b 3 となる。

(3.5) T = −  b 3 を代入すると:

  1. z3 + ( b2 3  −  2b2 3  + c)z + (−  b3 27  +  b3 9  −  bc 3  + d) = 0
  2. z3 + (c −  b2 3 )z + (d −  bc 3  +  2b3 27 ) = 0 ……… (3.6)

結局、(3.4) の形の3次方程式は、変数変換 x = z −  b 3 によって、2次項のない3次方程式

になる。(3.6) と係数を比較すると:

(3.4) の表記を使うと、(3.1) では b = −  7 4  , c = 7 8  , d = −  7 64 となっている。これらを (3.8), (3.9) の右辺に代入すると p = −  7 48 q = 7 1728 が得られ、(3.3) の1次の係数・定数項と一致する。

解けるじゃないか?!

(3.3) をさらに簡約するために、再び変数変換を行う。今度は新しい未知数を w (≠ 0) として、次のように置く:

(4.1)(3.3) に代入すると:

両辺を w3 倍すると:

これは w3 についての2次方程式になっている。X = w3 と置くと:

(4.4) は、ただの2次方程式なので普通に解くことができる。ただし、(4.4) の判別式 D は負なので、解は実数ではない。

  1. D = ( 7 1728 )2 − 4 ( 343 2985984 ) = −49 110592 = −72 1922 × 3  < 0
  2. X = 1 2  (−  7 1728  ± √D) = 1 2  (−  7 1728  ±  7i 192√3 )
  3. X = −  7 3456 ±  7i 384√3  ……… (4.5)

後は X の立方根 w さえ計算できれば、それを (4.1) に代入することで z が求まり、その z(3.2) に入れれば y の値が求まる。「作図可能=使っていいのは平方根まで」なので、ルール上、立方根の計算には制限があるのだが、やるだけやってみよう。

複号により、可能な X の値は2個。そのどちらに対しても立方根は3個あるので、w は合計6個の値を取ることができる。6次方程式 (4.3) の解なのだから、そうなって当然だろう。ただし、これら6種類の w(4.1) に入れた場合、結果に重複があって、生成される z は3種類しかない。

(4.1) の置換の根拠、そして上記のようになる理由は、次の通り。

2次項のない3次方程式を考える。

新しい未知数 w と何らかの数 U を使って

と書くことができたとすると、(4.6) はこうなる。

  1. (w + U/w)3p(w + U/w) + q = 0
  2. [w3 + 3w2(U/w) + 3w(U/w)2 + (U/w)3] + (pwpU/w) + q = 0
  3. w3 + 3Uw + 3U2/wU3/w3pwpU/wq = 0
  4. w3 + (3U + p)wqU(3U + p)/wU3/w3 = 0

両辺を w3 倍すると:

3U + p = 0 つまり U = −  p 3 なら、(4.7) の4次の項・2次の項は消滅する。これを (**) に適用すると:

この手法は、ビエト(Viète)の置換と呼ばれる。U = −  p 3 と置くと (4.7) は:

(4.1) 以下は、この手順に従ったもの。(4.9) によれば、(4.4) の1次の係数は、q つまり (3.3) の定数項に等しい。(4.4) の定数項は、(3.3) の1次の係数を p として −  p3 27 に等しい。

2次方程式 (4.9) の2解を α, β とすると、解と係数の関係から、αβ = −  p3 27  。その両辺の立方根を考えると…

…となるような 3α3β が(少なくとも1組は)存在する。w = 3α とすると:

このとき (4.8) から:

w = 3β とした場合には、(4.10), (4.11)αβ が入れ替わるだけで、(4.12) の和は変わらない。すなわち:

  1. α の立方根の特定の一つ w1w として選んだ場合…
  2. それに対応する z(4.8) によって定まる。
  3. β の立方根のうち「w1(4.10) の関係にあるもの」を w として選んだ場合…
  4. 全く同じ z(4.8) から得られる。

そのため、w の選択肢は6個あるが、そこから生成される z は3種類だけ。別の言い方をすると:

  1. (4.12) の一番右側にある「2種類の立方根の和」の計算では…
  2. α の立方根の任意の一つと、β の立方根の任意の一つを、好きに組み合わせていい わけではない。
  3. (4.10) の関係にある「2種類の立方根」を足し合わせた場合にのみ、有効な解 z が得られる。

2次方程式 (4.9) が実数解を持たない場合、もし pq が実数なら、2次方程式の解の公式の形から、αβ は互いに共役複素数。その場合、α の立方根3種と β の立方根3種も「3組の共役複素数」となり、(4.8) つまり (4.12) では、複素共役の関係にあるペアが足し合わされる。その結果は実数。この場合、3次方程式 (4.6) は3個の実数解を持つ(次の節の実例参照)。

一方、2次方程式 (4.9) が実数解を持つ場合、その2解 α, β は、一般には複素共役の関係ではない。従って、上記とは別の状況になるが、その場合でも (4.10) 以下の関係は成り立つ。

(4.8) の真相は (4.12) で、カルダノ(Cardano)の公式の変種。元祖カルダノの公式と違い、(4.8) では、ペアになる2種類の立方根が、内部的に自動選択されている。

角の3等分に阻まれる

(4.5) において、問題は、次の X の立方根の計算に帰着された。

求めようとしているのは (90/7)° などのコサイン。当然それは −11 の間の実数値。「実数値の計算なのに複素数経由」というのは、不可解な感じがする。昔の数学者も、これには当惑したらしい…。

(5.1) の複素数の絶対値 r と偏角 φ について、次が成り立つ。

  1. r2 = ( 7 3456 )2( 7 384√3 )2 = 73 17282
  2. r = 7√7 1728 = ( 7 12 )3
  3. 3r = 7 12  ……… (5.2)
  4. cos φ = −  7 3456r = −  1 2√7  ……… (5.3)

立方根は一般には作図可能ではないが、この r は、立方根が作図可能な形になっている(3r が、四則計算・平方根の範囲で表される)。

cos φ も作図可能な値。

(5.1) の複号でプラスを選択したとしよう。その場合の X の立方根の一つを、上記の 3rφ を使って表すと:

残り二つの立方根は、(5.4) の角度 φ 3 を前後に 120° ずらした位置にある(言い換えれば、φ を前後に 360° ずらした位置)。

虚数部分は消滅するので、作図の妨げにならない。そして、上述のように、3rcos φ も作図可能。しかし (5.3)cos φ から (5.4) cos  φ 3 を作る一般的な方法はない…。どうやら正七角形の作図不可能性は、突き詰めると、「不可能」で有名な「角の3等分問題」に行き当たるようだ。

具体的な数値を見ると、状況が分かりやすい。(5.1) の複号でプラスを選択した場合、X は複素平面上の第2象限にある。

  1. φ1 = arccos (−  1 2√7 ) = 1.760 921 930…
  2. φ2 = φ1 + 2π
  3. φ3 = φ1 − 2π

を使って (5.4) を計算すると:

  1. w1 = 7 12  (cos  φ1 3  + i sin  φ1 3 ) = 0.183 575 550… + (0.122 111 131…)i
  2. w2 = 7 12  (cos  φ2 3  + i sin  φ2 3 ) = −0.197 539 117… + (0.097 925 524…)i
  3. w3 = 7 12  (cos  φ3 3  + i sin  φ3 3 ) = 0.013 963 566… − (0.220 036 655…)i

検算として w1, w2, w3 をそれぞれ3乗すると、確かに上記の X(複号でプラスを選んだ場合)と一致する。

これら3種類の w(4.1) に入れると、結果はそれぞれ:

第1の観察: 3種類の z の値は…。それぞれ対応する w の虚部が消え、実部が2倍されたもの。

第2の観察: 3種類の z を足し合わせると 0 になる。

ともあれ、これらの z(3.2) に入れると、π/14 = (90/7)° の奇数倍のコサインが得られる。

一方、(5.1) の複号でマイナスを選択したとすると(第3象限):

  1. φ1 = −φ1 = −1.760 921 930…
  2. φ2 = φ1 − 2π
  3. φ3 = φ1 + 2π
  4. w1 = 7 12  (cos  φ1 3  + i sin  φ1 3 ) = 0.183 575 550… − (0.122 111 131…)i
  5. w2 = 7 12  (cos  φ2 3  + i sin  φ2 3 ) = −0.197 539 117… − (0.097 925 524…)i
  6. w3 = 7 12  (cos  φ3 3  + i sin  φ3 3 ) = 0.013 963 566… + (0.220 036 655…)i

w1 & w1, w2 & w2, w3 & w3それぞれ複素共役になっている。(4.12) 以下で観察したように、w1, w2, w3 を使っても、 w1, w2, w3 を使っても、(4.1) から生成される3個の z に違いはない。この場合 (4.1) の処理は「複素数、プラス、その共役複素数」に相当するのだから、(4.1) を計算する代わりに、単に w の虚部を無視して実部を2倍すれば、同じ結果が得られる。例えば:

  1. z1 = w1 + w1
  2. = [0.183 575 550… + (0.122 111 131…)i] + [0.183 575 550… − (0.122 111 131…)i]
  3. = 0.183 575 550… × 2
  4. = 0.367 151 100…

言い換えれば:

  1. z1 = w1 + w1
  2. = 7 12  (cos  φ1 3  + i sin  φ1 3 ) +  7 12  (cos  φ1 3  − i sin  φ1 3 ) ……… (★)
  3. = 7 6  cos  φ1 3  ……… (5.5)

(★) を展開した4項のうち、最終結果は第1項の2倍に等しく、第2~第4項は計算に必要ない。

解法の改善

以下では、方程式の係数が実数で、かつ2次方程式

が実数解を持たない場合(つまり、その判別式 D が負の場合)を考える。その場合、3次方程式 (4.6) は3個の異なる実数解を持つ(上記の計算法では、それらは、3組の共役複素数の和として表現されている)。そして、この場合 p < 0 となる。なぜなら:

  1. D = q2 + 4p3/27 < 0
  2. 4p3/27 < −q2 ≤ 0
  3. p3 < 0

(4.9) の解は:

根号内の負の数 D−1 倍して i = √−1 を外に出すと:

X の絶対値 r は、次のように計算される。

  1. X の実部の2乗: (−q/2)2 = q2/4
  2. X の虚部の2乗: D/2)2 = −D/4 = −(q2 + 4p3/27) / 4 = −q2/4 − p3/27 ← 符号に注意。2乗の結果は正。D < 0 なので、求める正の数は D/4
  3. 両者の和: r2 = −p3/27
  4. ゆえに: r = (−pp) / (3√3) > 0 ← p < 0 なので p は正。
  5. r の立方根は: 3r = √p/3

正七角形が特別だったわけではなく、この条件下では、p が作図可能(例えば有理数)なら、r の立方根 p/3 は常に作図可能のようだ…。この値は p のみによって決まり、q とは無関係であることが分かる。

(5.5) 7 6 に当たるのは、r の立方根の2倍。それを

と書くことにする。X の偏角 φ の余弦を G = cos φ とすると、それは「実部 ÷ 絶対値」なので:

  1. G = q 2r = q 2  ×  3√3 pp = 3 (3q) 2√p (p)
  2. 1 A = 3 2√p  ……… (6.2)′
  3. G = 3q Ap  ……… (6.3)
  4. φ = arccos G ……… (6.4)

(6.4) の角度は arccos の主値で、複素平面上の第1または第2象限の点に対応する。(6.1) の複号でプラスを選んだことにすれば、虚部の符号がプラスになって、X は第1または第2象限の点になるので、つじつまが合う。(もし仮に X の複号でマイナスを選んだと考えると、φ は、X の真の偏角とは符号が逆の角度。その場合でも、角度の符号の違いは「3分の1角の余弦」の値に影響せず、下記 (6.5) はそのまま成り立つ。)

このとき、3次方程式

の一つの解は:

残りの2解を得るには、(6.5)φφ ± 2π に置き換えればいい。

カルダノの公式と比べると、ずいぶんすっきり…。複素数を経由せず、実数の世界で計算が完結する。この解法も、ビエトが発見したものらしい…。(ここではカルダノの公式の側から導いたので、舞台裏では複素数を経由しているけれど、複素数を一切使わずこの形を導く方法もある。)

arccos が使われているが、本当に知りたいのは φ = arccos G という角度そのものではない。G = cos φ が与えられたとき、知りたいのはその「3分の1の角度」の余弦。それを直接求める便利な方法(「3分の1角の公式」)がないので、「余弦をいったん角度に逆変換して、角度を3で割って、それを余弦に再変換」という手順を踏んでいる。sin φtan φ も求められるので arcsinarctan を経由してもいいのだが、後で cos に再変換するのだから arccos 経由が素直だろう(象限も分かりやすい)。

立方根も複素数も排除できたものの、角の3等分が絡んでいる。

上記の議論だけでは「もっとうまくやれば、角の3等分を回避できるのでは?」という可能性を否定できない。従って、厳密にはまだ結論を出せないけれど、どうやら正七角形の作図不可能性は「コンパスと定規だけでは、任意の角を3等分できない」ということから派生するようだ。逆に言えば:

「3等分」器が必要なのかどうか、という点については、この議論からは何とも言えない(もっと弱いツールで足りるかも)。

いずれにしても「角の3等分ができれば、何でも作図できる」わけでは ないのだから、正七角形の作図は「可能に近い不可能」といえそうだ。

正七角形の素朴な作図に必要なのは 360° の7等分だけど、「7等分」器がなくても「3等分」器で間に合う。コンパス・定規・「3等分」器だけを使って、360° を7等分できる…というのは、ちょっと意外な感じがする。

雪の結晶のようなもの

最初の [プランA・B・C] のうち、ここまでは [C] を考えた。改善された上記の解法を使えば、[A][B] は簡単に解ける(作図可能のルールの範囲を超えてしまうが)。

[プランA] の内容から、C = cos θ = −1(2.2) の自明な解。従って (2.2)C + 1 で割り切れる。商は:

最初に観察したように、[A]重解だらけなので、(7.1) には異なる解が3個しかない。2重解が3組だとすれば、3次式の2乗に分解可能。最高次の係数と定数項から、次のようになると予想される。

3次の項の係数は負でもいいのだが(その場合、全部の項の係数の符号が逆になる)、どうせ後から3次の項の係数で割るのだから、どちらでも同じこと…。

これを展開して (7.1) と係数を比較すれば、定数項の符号および m, n の値を容易に決定できる。結果は:

つまり、次の3次方程式を解けばいい。

  1. 8C3 − 4C2 − 4C + 1 = 0
  2. C3 −  1 2 C2 −  1 2 C 1 8 = 0 ……… (7.2)

(3.4) 以下に従い C = z 1 6 と置くと (3.8), (3.9) から p = −  7 12  , q = 7 216 となる。D < 0 なので、(6.2), (6.3), (6.4), (6.5) から:

  1. A = 2√p/3 = 2√7/36 = √7/9 = 7 3
  2. G = 3q Ap = −  1 2√7
  3. φ = arccos G = 1.760 921 930…
  4. z = A cos  φ 3 = 0.734 302 201…

ゆえに:

他の2解は:

同様に [B] は:

  1. 64C7 − 112C5 + 56C3 − 7C − 1 = 0 ……… (2.3)
  2. (C − 1)(8C3 + 4C2 − 4C − 1)2 = 0 ……… (7.4)
  3. 8C3 + 4C2 − 4C − 1 = 0
  4. C3 1 2 C2 −  1 2 C −  1 8 = 0 ……… (7.5)

C = z −  1 6 と置くと p = −  7 12  , q = −  7 216 となって:

  1. A = 2√7/36 = 7 3
  2. G = 3q Ap = 1 2√7
  3. φ = arccos G = 1.380 670 723…
  4. z = A cos  φ 3 = 0.790 156 468…

ゆえに:

他の2解は:

(7.3), (7.6) の結果をそれぞれ一つの式にまとめると:

あえてカルダノ風に書けば:

  1. cos  π 7 = ( −7 + 21√−3 432 )1/3( −7 − 21√−3 432 )1/3 1 6
  2. cos  π 7 = 1 6  [( −7 + 21√−3 2 )1/3 + ( −7 − 21√−3 2 )1/3 + 1]  ……… (7.3b)
  3. cos  7 = 1 6  [( 7 + 21√−3 2 )1/3 + ( 7 − 21√−3 2 )1/3 − 1]  ……… (7.6b)

[C] についても、同様のスタイルで書くと:

  1. cos  π 14 = { 7 6  cos [ 1 3  arccos (−  1 2√7 )] 7 12 }1/2 ……… (7.7a)
  2. cos  π 14 = { 1 12  [( −7 + 21√−3 2 )1/3 + ( −7 − 21√−3 2 )1/3 + 7]}1/2 ……… (7.7b)

ルート5がいっぱい」と似た雰囲気だが、複雑度が増している。そっと触らないと壊れてしまいそうな、デリケートなパターン。倍角の公式の通り、(7.7a), (7.7b) の右辺を2乗して2倍して1を引くと、それぞれ (7.3a), (7.3b) の右辺になる。


追記: 関連記事「覚えやすさを重視した3次方程式の解法」も参照。

cos π/7 正七角形の七不思議 > 作成メモ・更新履歴

  1. 2018年1月28日: 初版公開。式 (6.3) の形は、Tomas Co 先生の熱力学の講義のプリント(2014年)からパクった。
  2. 2018年1月29日:
    • 誤字・脱字・書き間違いの修正: 式 (4.2) 第3項分母の w3 が抜けていた。式 (4.9) の下の「(4.2) の1次の係数」「(4.2) の定数項」→「(4.4) の1次の係数」「(4.4) の定数項」。式 (5.5) の上方で、w2 が1カ所 w3 になっていた。式 (6.5) の下の「残りの2解は、偏角を φ ± 2π/3」→「残りの2解は、偏角を φ ± 2π」。
    • 表現の細部の調整(約8カ所)。
  3. 2018年1月31日:
    • 誤字修正: (6.1) で (√D)/2√(D/2) になっていた。
    • Co 先生のプリントに問題発見: メールで連絡。いったん削除して改訂するとのこと。
  4. 2018年2月4日:
    • 説明の改善: 「容易に m, n を決定できる」→「定数項の符号および m, n の値を容易に決定できる」
    • 表現の細部: 「角の3等分が絡まない、もっと良い解法があるかもしれない」→「もっとうまくやれば、角の3等分を回避できるのでは?」
  5. 2018年2月11日:
    • 誤りの修正: (6.1) の下。X の虚部 (√−D)/2 の、根号内のマイナスが抜けていた。関連して、(6.1) 内の表記を (√D)/2 から ((√−D)/2)i に変更。
    • 表現の細部: 「偏角を φ ± 2π とする」→「φφ ± 2π に置き換える」他、数カ所。
    • 関連記事「覚えやすさを重視した3次方程式の解法」を公開したので、リンク設定。
  6. 2018年2月18日: 表現の細部: 「残りの2解は、φφ ± 2π に置き換えることで得られる」→「残りの2解を得るには、(6.5)φφ ± 2π に置き換えればいい」

この記事のURL

パブリックドメイン


覚えやすさを重視した3次方程式の解法

2018年 2月11日
記事ID e80211

分数なくして、すっきり。語呂合わせ付き。

「出発点&タイプ判別」「例題1」「例題2」の3部構成。

出発点

3次方程式が簡単に因数分解される場合には、分解された2次以下の方程式を普通に解けばいい。以下では、それができない場合について考える。

cos π/7 正七角形の七不思議」では、試しに3次方程式を解いてみたが、すっきりしない感じが残った。最初の部分を要約すると…

という3次方程式は、

と置くと、次の形に簡約される。

上の式の係数の部分は、こうなるのだが…

ゴチャゴチャして分かりにくい!!


この種の分数を回避するため、一般の3次方程式(係数は実数)を次のように書くことにする。

(8.1) の2次の係数 b と1次の係数の c の代わりに、それらの3分の1をそれぞれ B, C とした。3次の係数 a0 ではないとする。

このとき、新しい変数 z を使って

つまり

と置くと、(8.2) は、次のように、「3次の係数が 1 で2次項がない形」に変換される。この形を簡約3次方程式と呼ぶことにする。

ここで:

(8.2) 同様、1次の係数 p3分の1P と書いている。

上記のようになることを確認するには、(8.2)(8.4) を代入して…

両辺を a2 倍すれば…

  1. (z − B)3 + 3B(z − B)2 + 3aC(z − B) + a2d = 0
  2. (z3 − 3Bz2 + 3B2z − B3) + 3B(z2 − 2Bz + B2) + 3aC(z − B) + a2d = 0

めでたく ±3Bz2 が消えるので、後は1次の項を集めれば…

  1. (z3 + 3B2z − B3) + (−6B2z + 3B3) + (3aCz − 3aBC) + a2d = 0
  2. z3 + (3aC − 3B2)z + (−B3 + 3B3 − 3aBC + a2d) = 0
  3. z3 + 3(aC − B2)z + (a2d − 3aBC + 2B3) = 0

確かに (8.5), (8.6), (8.7) の形になる。a = 1, b = 3B, c = 3C, p = 3P とすれば (8.1) 以下と同じ意味だが、(8.6), (8.7) の方がすっきりしている。

a, B, C, d から P, q への係数変換が、全ての出発点。その鍵となる (8.6), (8.7) の覚え方は:

1次の係数 3PP
aC − B2
足(aC)を引っ張る 美人(b)事情
定数項 q
a2d − 3aBC +2B3
アニメ(a2)ドン(d)引き 3バカトリオ 双子美人参上

語呂合わせは数学的に必要なものではない。気に入らなければ無視するか、自分好みにアレンジを。

方程式のタイプの判別

カルダノ(Cardano)の公式によると、簡約3次方程式

の一つの解は、2種類の立方根の和

として表される。α ≠ 0, β ≠ 0 の場合、ビエト(Viète)の置換を使って、上記の関係を直接確かめることもできる。

α, β の正体をはっきりさせるため、(9.1) の両辺を3乗すると:

  1. z3 = α + β + 3(3α 3β)(3α + 3β)
  2. z3 = (α + β) + 3(3α 3β)z
  3. z3 − 3(3α 3β)z − (α + β) = 0 ……… (9.2)

(9.2)(8.5) の係数を比較すると:

(9.3) の両辺を3乗すると:

(9.4), (9.5) から、α, β は次の2次方程式の解(解と係数の関係による)。

このことを直接的に確かめるには、(9.4) から得られる β = −α − q(9.5) に代入して、結果を整理すればいい。

(9.6) の解は:

次のように書くことができる。

「2解のどっちが α でどっちが β か」は逆でもいいが、ここでは「複号でプラスを選択した場合α」と約束する。

2次方程式 (9.6)判別式(言い換えれば (9.7) の根号の中身)に注目しよう(それを D とする)。

(第1のケース) D > 0 なら (9.6) は実数解を持つ。つまり α, β は実数。…任意の実数は「実数の範囲の立方根」を1個だけ持つ。α, β それぞれの実数立方根を (9.1) に入れれば、簡約3次方程式の実数解 z が得られ、それを (8.4) に入れれば、もともとの3次方程式の実数解が得られる。実数解は1個だけ

(第2のケース) D < 0 なら (9.6) は実数解を持たない。この場合、(9.8) & (9.8′) は、次のような複素数。

このとき α, β がそれぞれ3個持つ「複素数の範囲の立方根」は、3組の共役複素数(詳細は後述)。(9.1) は共役複素数の和となり、虚部が打ち消し合うため、もともとの3次方程式は3個の実数解を持つ。

(第3のケース) D = 0 なら (9.6) は実数解(重解)を持つ。α = β という特殊な状況のため変則的な部分があるものの、第1のケースと同様に処理可能。


P が正なら D = q2 + 4P3 も正なので、自動的に第1のケースになる。

逆に言えば、第2のケースになるためには P < 0 であることが必要。このような場合、文字 P をそのまま使うと「P は負ではない」「P は虚数ではない」といったことになり、少々紛らわしい。そこで「P の符号を逆にした数」に名前を付けておこう。「ネゲート(符号を反転させる)」という意味で N と呼ぶことにする(本筋とは関係ないが「ノルム」とも関係している)。

(9.7), (9.8) のような分数も煩わしいので、もう一つの新しい変数 R を導入し、

と書くことにする。この規約の下で (9.6) は:

その2解は:

つまり:

だいぶすっきりした!

語呂合わせ:

2次方程式 (9.6)
X2 +qX − P3
(※) 急用(q)で 引き返したポケモン(P)参上
2次方程式 (9.6*)
X2 +2RX N3
(※) ロケット団(R)の二人 プラス、ニャース(N)参上

(※) 2次方程式に X2X があるのは当たり前。それらについては、わざわざ覚える必要ない。

(9.6)(9.6*) は、文字の使い方が違うだけで、内容的には全く同じ2次式。内容は同じでも、R & N を使った (9.6*) バージョンで判別式を考えると、面白いことになる。もし…

  1. D = (2R)2 − 4N3 < 0
  2. 4R2 < 4N3

つまり

…が成り立つなら、3次方程式は3個の実数解を持つのだった。逆に R2 の方が大きければ実数解は1個しかない。この考え方を使うと、実際に判別式を計算しないでタイプを判定できる。

覚え方: 「ロケット事情(2乗)」より「ニャース参上(3乗)」が大きければ、実数解が3個ある。「ロケット事情」の方が大きければ、実数解が1個しかない(やな感じ~)。

例題1 実数解が1個の場合

次の方程式の解を求める。

3次方程式の一般形

に当てはめると:

従って:

  1. P = aC − B2 ← 足を引っ張る美人事情
  2. P = 1 × 3 − 22 = −1 P が負なので、第2のケースになる可能性あり
  3. q = a2d − 3aBC + 2B3 ← アニメ、ドン引き、3バカトリオ、双子美人参上
  4. q = 12 × 5 − 3 × 1 × 2 × 3 + 2 × 23
  5. q = 5 − 18 + 16 = 3

簡約3次方程式 (8.5) は:

この式は、実際の解法には必要ない。単なる検算用。

核心となる2次方程式 (9.6) は:

  1. X2qX − P3 = 0 ← 急用で引き返したポケモン参上
  2. X2 + 3X + 1 = 0
  3. その判別式は: D = 32 − 4 × 1 = 5 > 0 ← 結局、第1のケースだった

判別式が正で、2次方程式が実数解を持つ。直接解いてしまおう:

  1. X = −3 ± √5 2
  2. α = −3 + √5 2 = −0.381 966 011…
  3. β = −3 − √5 2 = −2.618 033 988…

(1) 電卓などを使って α, β の実数の立方根(それぞれ u, v とする)を求めると:

従って (10.2) の実数解は:

検算として、これを (10.2) に入れると、(有効数字のぶれの範囲内で)ゼロになる。(8.4) を使って未知数を z から x に戻すと:

3次方程式 (10.1) の(唯一の)実数解が得られた。(10.1) に入れると、ちゃんとゼロになる!

(2) 数値解は不要で代数的表現だけでいいのなら、単に上記の数値部分を式のままにすればいい。

立方根の記号の内側にある分数を解消したければ、分子・分母に 4 を掛け、その結果の分母に当たる 38 = 2 をくくり出せばいい:

(3) 参考までに、R & N バージョン (9.6*) で考えてみよう。

  1. X2qX − P3 = 0 ← (9.6)
  2. 上記の例では: X2 + 3X + 1 = 0
  3. X2 + 2RXN3 = 0 ← (9.6*) ロケット団の二人、プラス、ニャース参上
  4. R = q/2 = 3/2
  5. N = −P = 1

ロケット自乗 (3/2)2 の方がニャース3乗 13 より大きいので、実数解が1個しかないタイプ…ということが一目で分かる。(9.6*) の解は:

  1. X = −R ± R2 − N3
  2. X = −(3/2) ± (3/2)2 − 13
  3. X = −3/2 ± √9/4 − 4/4 = −3/2 ± √5/4
  4. X = −3/2 ± 5/2

最初に求めた α, β と同じになる(内容的には全く同じ方程式なので)。この場合、最初のやり方の方が簡単だった!

例題1(続き)

3次方程式は、複素数の範囲では解を3個持つ(重解の場合を除く)。実数解が1個だけのタイプでは、残りの2解は次のようになる。

[1] 1 の立方根の一つを ω と書くと(詳細は下記 [3])、当然 ω3 = 1。のみならず、2)3 = ω6 = (ω3)2 = 1 なので、ω21 の立方根。従って、もし u = 3αα の一つの立方根なら、

になるのは当然として、

が成り立つので、uωuω2 も、それぞれ3乗すれば α になる…つまり、どちらも α の立方根。もっとも ω = 1 だとすると、uωuω2 はもともとの u と同じで、意味がない。だから「1 の複素立方根のうち 1 自身ではないもの」を ω とする。調子に乗って uω3 を考えても、ω3 = 1 なので α の新しい立方根にはならない。

同様に v = 3ββ の一つの立方根なら、vωvω2β の立方根。

[2] このように 3α3β は(複素数の範囲では)それぞれ3通りの値を取り得る。(9.1) の条件

からすると、

が、解 z の候補といえる。

実際には (9.3) の縛りがあるので、どの組み合わせでもいいわけではなく、2種類の立方根の積を一定に保つことが必要。

u & v が有効なペアだとすると:

[3] 1 の3種類の立方根(1, ω, ω2)というのは、次の方程式の解。

x = 1 は、(11.1) の明らかな解。従って、(11.1)x − 1 で割り切れる。割り算を実行して、それ以外の解を求めると…

  1. (x − 1)(x2 + x + 1) = 0
  2. x2 + x + 1 = 0
  3. x = −1 ± √−3 2  ……… (11.2)

(11.2) の複号で表現されている一方の数が ω、他方の数が ω2 に当たる。どちらがどちらと定義しても問題ないが、ここでは

としておこう。そこから ω2 を直接計算すると…

  1. ω2 = (−1 + √−3)2 / 22 ……… (11.4)
  2. = [(−1)2 + 2(−1)√−3 + (√−3)2] / 4
  3. = [1  2√−3 + (−3)] / 4
  4. = (−2  2√−3) / 4
  5. ω2 = (−1  √−3) / 2 ……… (11.5)

…となって、(11.2) の他方の解と一致する(つじつまが合っている)。もし仮に逆の選択をして

とし、そこから ω2 を計算しても、(11.4) 以下の「根号の前の符号」が全部逆になるだけで、それ以外は同じなので、やはり (11.2) の他方の解が得られる。

それはいいとして、こんな変な分数が本当に 1 の立方根なのだろうか? 試しに立方してみよう。

  1. ω3 = [(−1 + √−3) / 2]3
  2. = (−1 + √−3)3 / 23
  3. = [(−1)3 + 3(−1)2−3 + 3(−1)(√−3)2 + (√−3)3] / 8
  4. = [(−1) + 3√−3 + (−3)(−3) + (−3√−3)] / 8
  5. = (−1 + 9) / 8
  6. = 1

3乗すると、ちゃんと 1 になる。

[4] 本題の

の実数解 z1 は、

という形になっていた。この例では:

これらを (11.3), (11.5) と組み合わせると、同じ方程式の別の2解 z2, z3 を次のように表現できる。

  1. z2 = uω + vω2 ……… (11.6)
  2. = u(−1 + √−3) / 2 + v(−1 − √−3) / 2
  3. = −  1 2  (u + v) +  3 2  (u − v)i
  4. z3 = uω2 + vω ……… (11.7)
  5. = u(−1 − √−3) / 2 + v(−1 + √−3) / 2
  6. = −  1 2  (u + v) −  3 2  (u − v)i

要するに、簡約3次方程式が実数解を1個だけ持つ場合、その実数解を

とすると(右辺は前述の2種類の立方根の和)、残りの2解は次の通り。

z2, z3 は実部が等しく、虚部の符号だけが違う。

(11.8) については「ω, ω2 の、実部を u + v 倍、虚部を u − v 倍したもの」と考えれば難しくないが、細かく覚えていなくても、すぐ生成できる。[2] の理屈から (11.6), (11.7) になり、それを普通に整理するだけ。

[5] 例題1について言えば、もし数値が必要ないなら、(10.6) のような式を (11.8) に入れればいい。ゴチャゴチャして実用性に乏しいが、何も考えず機械的に書き表すことができる。数値的に計算すると:

もともとの3次方程式

の対応する解は:

[6] まとめ。実数解が1個のタイプでは、2次方程式(急用で~)を解いて、得られた2解 α, β の実数立方根同士を足し合わせれば、実数解が得られる。それを1の立方根と組み合わせれば、残りの(実数でない)2解も得られる。


実は D = 0 の場合(第3のケース)についても、全く同じ解法が使える。その場合 α = β となり、従って u = v なので、(11.8) の複号の後ろはゼロ。つまり、虚部がゼロ。結果は z2 = z3 という実数の2重解(それがさらに z1 とも等しければ3重解)。このケースでは、3重解の場合を除いて、2個目の実数解がある。

例題2 実数解が3個の場合

[1] 以下の3次方程式は「例題のための例題」ではなく、数学上のある問題と関係している。その問題とは…「幾何学における3大不可能」に準じる「第4の不可能」、つまり「正七角形の作図の不可能性」。不可能なのは「平方根までの範囲で」方程式を解くことであり、「この方程式は、どうやっても解けない!」という意味ではない。

全体を 8 で割って a = 1 の形にしてもいいのだが、ここでは a ≠ 1 のまま進めてみる。機械的な計算は早送りして…

  1. a = 8, B = −4/3, C = −4/3, d = 1
  2. P = aC − B2 = −112/9 ← 足を引っ張る美人事情
  3. q = a2d − 3aBC + 2B3 = 448/27 ← アニメ、ドン引き、3バカトリオ、双子美人参上

検算用の簡約3次方程式:

核心の2次方程式 (9.6) は:

  1. X2qX − P3 = 0 ← 急用で引き返したポケモン参上
  2. X2 + (448/27)X − (−112/9)3 = 0
  3. D = q2 + 4P3 = −200704/27 < 0 ……… (12.3)

この判別式が負なので、3次方程式は3個の実数解を持つ。

[2] このタイプでは、R & N バージョン (9.6*) を使うのが便利。

  1. X2 + 2RXN3 = 0 ← ロケット団の二人、プラス、ニャース参上
  2. R = q/2 = 224/27 ……… (12.4)
  3. N = −P = 112/9 ……… (12.5)

R2 = (224/27)2N3 = (112/9)3 は、どちらも分母が 729。分子については、前者は 3002 以下だが、後者は 1003 以上。このことから、実数解が3個あることが分かる。

それと同じ意味だが、R & N バージョンの解

において、根号内は負。従って、複号でプラスを選んだ複素数は、次の形を持つ。

(12.6) の根号内を −1 倍して正にして、代わりに虚数単位 −1 = i を根号の外に出した。

[3] (12.7) の複素数 α について:

  1. 実部は R
  2. 虚部は N3 − R2

これらは、α を「複素平面上の点」と解釈したときの、横座標と縦座標。それぞれ図の線分 OLOM に当たる(符号付き)。ここで原点 O は、(実部も虚部もゼロの)数 0 を表している。

画像11: 複素平面の原点をO、αの横座標をL、縦座標をMとする。線分Oαの長さがαの絶対値|α|。正の実軸上の任意の点をWとする。φ=∠WOαがαの偏角。…画像にはさらに、絶対値|α|^(1/3)、偏角φ/3の点uが記入されている。

複素数 α絶対値 | α | というのは、(α を複素平面上の点と解釈したときの)Oα の距離。ピタゴラスの定理により「実部の2乗と虚部の2乗の和」の平方根に等しい:

  1. 実部の2乗は R2
  2. 虚部の2乗は N3 − R2
  3. それらの和は N3

面白いことに、±R2 が打ち消し合って、N3 だけが残る。結局:

一方、α偏角というのは、角度 φ = ∠WOα のこと。ここで W は正の実軸上の(O とは異なる)任意の点で、単に角度を測る目印。半直線 OW の向きを とし、そこから(O を中心に)反時計回りに測った角度を正、時計回りに測った角度を負とする。三角関数の定義から:

  1. cos φ = OL | Oα | ← 線分 OLα の実部(符号付き)、距離 | Oα |α の絶対値
  2. cos φ = R N3
  3. φ = arccos ( R N3 ) ……… (12.9)

ある数 G について、arccos G というのは、cos φ = G となるような「第1または第2象限の角度 φ」。一方、α は「2次方程式の解のうち、複号でプラスを選んだもの」なので、虚数解の場合、虚部が正。つまり、複素平面上の「第1または第2象限の点」に当たる。従って arccos と相性が良く、象限がずれる心配はない。

[4] 複素数 α の立方根は(複素数の範囲に)3個あり、その一つ(u とする)は次の性質を持つ。

(12.8) の右辺から、u の絶対値は:

なぜなら N3 の実数立方根は N。実際、この場合 P < 0 なので N = −P > 0。従って、その平方根 N は実数。そして、それを3乗すれば N3 になる:

  1. (√N)3 = √N × √N × √N
  2. = √N × N × N = N3

u の絶対値は、α の絶対値の立方根」というのは、例えば「−2−8 の立方根。絶対値で考えても、28 の立方根」というようなもので、不思議なことではない。

偏角については、具体例として、1 の虚数立方根 ω, ω2 を考えてみよう。1 という数は複素平面上では正の実軸上にあって、偏角 …言い換えれば、偏角 ±360°。その3分の1は ±120° だが、ω, ω2 の値は、確かに実部が cos (±120°) = −1/2 で、虚部が sin (±120°) = ±3/2 となっている。こっちは、ちょっと不思議な感じもする。

ところで偏角 と偏角 360° は「同じ方角」だが、上の ω のように、立方根の計算では、その2種類の表現から違う結果が生じる。このような曖昧さを排除するため、上記の u については、その偏角は

の範囲にある、ということにしておく(第1または第2象限の点なので、この範囲に収まる)。

[5] この例のように α が実数でない場合、2次方程式のもう一つの解 β は、α共役複素数。つまり、実部が等しく、虚部の符号だけが違う。複素平面上でいえば「α, β実軸に対して対称の位置の点」。絶対値が等しく、偏角の符号だけが違う、ともいえる。

画像12: 画像11に加え点β、点vが記入されている。それぞれ実軸に関してα, uと対称の点。O, u, vを頂点とするひし形のもう一つの頂点をz1とする。線分Ouを延長して、Ouの2倍の長さの線分OHを作ると、OHz1は直角三角形(∠z1が直角)。

β の一つの立方根 v[4] と同様に考えると…

…図のような位置関係になって、uv も互いに共役複素数になる。

(9.1) により、簡約3次方程式の解 z は、α, β の立方根を足し合わせたもの:

ただし (9.3) の条件

がある。さいわい u, v は、この条件を満たす。実際、u, v の実部(Jitsubu)を J、虚部(Kyobu)を ±K とすると…

  1. uv = (J + Ki)(J − Ki)
  2. = J2 − (Ki)2 = J2 + K2

この値は実数で、ピタゴラスの定理により | Ou |2 = N に等しい。より一般的に、2個の複素数のでは、それらの絶対値が掛け算され、偏角が足し算される(ちょっと不思議な [4] の性質も、このことから説明される)。u, v は「符号を入れ替えた偏角」を持つので、 uv偏角はゼロ。ゆえに uv という数は、正の実軸上にある(=負でない実数)。[この uv は、「複素平面上の uv を結ぶ線分」ではなく、単に uv を掛けた数のこと。複素平面上で言えば、点 (N, 0) に当たる。]

条件 (☆☆) が満たされるのだから、(☆) により、z1 = u + v は、簡約3次方程式の一つの解。共役複素数同士の和なので、実部が 2 倍になり、虚部は消滅:

つまり z1 は実数。ベクトル Ouベクトル Ov の和と考えてもいい。複素平面上の図形 Ouz1v は、ひし形となり、z1 は実軸上の点。

z1 の値は、Oz1 の長さに等しい(符号付き)。(12.11) によると、それは u の実部(= OJ の長さ)の 2 倍。(12.10) から、直角三角形 OuJ の斜辺の長さ(絶対値)は N なので、OJ の長さ(符号付き)は:

これを (12.11) と組み合わせると:

代わりに、辺 Ou を延ばして長さを 2 倍にした線分 OH を考えてもいい。直角三角形 OHz1z1 が直角)の斜辺の長さが 2√N であることから (12.12) が導かれる。

[6] 例題2に当てはめてみよう。(12.5) から:

  1. N = 112/9 = 24 × 7 32
  2. N = 22 × √7 3
  3. N3 = NN = 26 × 7√7 33

(12.4) を使うと、(12.9) の値は:

  1. R = −224/27 = −  25 × 7 33
  2. R N3 = −  25 × 7 33 ×  33 26 × 7√7 = −  1 2√7
  3. φ = arccos (−  1 2√7 ) ……… (12.13)

(12.12) の値は:

  1. z1 = 2( 22 × √7 3 ) cos  φ 3
  2. z1 = 8√7 3  cos  φ 3  ……… (12.14)

(12.14)φ(12.13) の右辺で置き換えれば、三角関数を使った z1 の表現が得られる。一方、電卓などで (12.13) を数値的に計算して、(12.14) に代入すると:

  1. φ = 1.760 921 930… ……… (12.13a)
  2. z1 = 5.874 417 609… ……… (12.14a)

検算としてこれを (12.2) に入れると、(計算誤差の範囲で)ゼロになる。簡約3次方程式の一つの解が得られた!

例題2(続き)

[7] 複素平面上において、ある数の3個の複素立方根は、原点を中心とする同一円周上にあり、偏角が 120° = 2π/3 ずつ異なる。図の u, u′, u がその例で、α の3個の複素立方根を表している。同様に v, v′, vβ の3個の複素立方根。

画像13: 画像12に加えて、次の点・線分が記入されている。uの偏角を120°増やしたu′、さらに120°増やしたu″。vの偏角に−120°を加えたv′、さらに−120°を加えたv″。Ou′v′を頂点とするひし形のもう一つの頂点z2。Ou″v″を頂点とするひし形のもう一つの頂点z3。線分Ou′を延長して長さを2倍にした線分OH′。線分Ou″を延長して長さを2倍にした線分OH″。

複素数 u とその共役複素数 v は、簡約3次方程式の一つの解 z1 = u + v を表す。これについては [5] で確かめた。

この状況において、u の偏角120° 増やした u も、u 自身の共役複素数 v と共に、(☆) によって、簡約3次方程式の別の解 z2 = u′ + v を表す。

なぜなら u′ = 3α v′ = 3β は、条件 (☆☆) を満たすペア。実際、u の絶対値と v の絶対値はどちらも N なので、積 uv の絶対値は N。さらに、u の偏角は u の偏角プラス 120°v の偏角は v の偏角マイナス 120° なので、u′, v もまた「符号を入れ替えた偏角」を持つ。ゆえに積 uv の偏角はゼロ。これらのことから、積 uv′ = N となる。

線分 Ou の長さを 2 倍にした線分 OH′ を考えると、△OH′z2z2 を直角とする直角三角形。z1OH′ は…

…であり、その角のコサインを使って、線分 Oz2 の長さ(符号付き)、つまり実数 z2 の値を表すことができる。

角度をさらに 120° = 2π/3 増やして同じことをすれば、z3 の値を表すことができる。

他方、3個ずつある α の立方根と β の立方根の中から「互いに共役複素数ではないペア」を選んだとすると(例えば uv)、選択された2個の数の積は (☆☆) を満たさないどころか、実数にすらならない(結果の絶対値は N になるものの、偏角がゼロにならない)。有効なペアは、互いに共役複素数になっている3組に限られる。

[8] 実際の計算としては、(12.12)φφ + 2π, φ + 4π に置き換えるだけ。図のひし形は一辺の長さが N なので、OH, OH′, OH″ は、いずれも長さが 2√N。それがコサインの係数となる。例題2に当てはめると:

  1. 2√N = 8√7 3
  2. φ = arccos (−  1 2√7) = 1.760 921 930…
  3. z1 = 2√N cos  φ 3
  4. = 8√7 3  cos  φ 3 = 5.874 417 609…
  5. z2 = 2√N cos  φ + 2π 3 = −6.321 251 748…
  6. z3 = 2√N cos  φ + 4π 3 = 0.446 834 138…

(8.4) により、最終的な解は:

具体的な数値が必要なければ、三角関数・逆三角関数を使った式として表すこともできる。例えば:

  1. x1 = [ 8√7 3  cos ( φ 3 ) 4 3 ] / 8
  2. = 7 3  cos ( φ 3 ) + 1 6
  3. = 7 3  cos [ 1 3  arccos (−  1 2√7 )] + 1 6

「3次の多項式の話なのに、三角関数を持ち出すとは何事か?」という感じもするが、「立方根はいいが三角関数は駄目」という制限は、あまり意味がない。D < 0 の場合、立方根を使って解を(カルダノ風に)書くなら、複素数の立方根が必要。複素数の立方根は三角関数によって計算されるのだから、最初から三角関数で書く方が合理的…。

z3 の計算では、φ + 4π の代わりに φ − 2π を使ってもいい。前者は φ + 720° なので、3 で割れば φ/3 + 240°。後者は φ − 360° なので、3 で割れば φ/3 − 120°。この二つは、どちらも OH″ の向きを表している。「360° = 2π の違い(コサインの値に影響しない)を無視」すれば、どちらも z1OH″ に等しい。

[9] まとめ。実数解が3個のタイプでは、「ロケット団の二人~」の式 (9.6*)

だけあれば、2次方程式の解の公式から

  1. α = −R + R2 − N3
  2. α = −R + (N3 − R2)i

となって、そこから α の実部・虚部・絶対値がすぐ分かる(虚部については、負である根号内から 虚数単位 i = √−1 を外に出すので、もともとの根号内が −1 倍される)。これらの情報を使えば、「α の偏角 φ を表す式」が簡単に得られる:

arccos の引数の語呂合わせは:

φ を求めるための arccos の引数
R ÷ N3
逆噴射ロケット 悪い 開き直った(※)ニャース参上

※ 開き直った=開平(平方根)


語呂合わせで丸暗記するより、「どうしてそうなるのか」を研究しよう。3次方程式を選び、図やグラフを描いたり数値的に検証したりしながら、自分の手で未知の世界を探ってみよう。

結び

3次方程式は、意外と奥が深い…。双曲線関数を使う解法は興味深いし、1993年のニコルズ(Nickalls)による考察は示唆に富む。

ここで紹介した解法は、D < 0 の場合はビエトのもの。それ以外の場合は、カルダノの式に基づく。最高次の項・定数項を除き、係数の3分の1を計算の基礎とした。このトリックにより、分数を含む公式が必要なくなり、入り口がすっきりした。N = −P, R = q/2 と置くことで、さらに見通しが良くなった。

これらのアイデアは新しいものではない。例えば Numerical Recipes in Fortran 77 (PDF) の179ページでも、本質的に同じ N, R が使われている(変数名は N ではなく Q になっている)。MathWorld広告あり)でも、同様の Q, R が使われている(符号の設定は異なる)。Q という変数名は、この種の議論で常用される q と紛らわしい。本稿では代わりに、意味のある変数名 N を使った。NP = p/3 の符号を反転させたもの(negate)。

「複素数のノルムnorm)」という用語は、複素数の絶対値そのものを指すこともあるが、数論では絶対値の2乗を指す(体のノルム: field norm)。D < 0 のときの N は、後者の意味において u のノルムに等しい。「D < 0 の場合 N はノルム」という覚え方も便利かも…。

「3次の係数は 1」と仮定しても数学的な意味での一般性は失われないが、実際の計算では「全体を3次の係数で割って、3次の係数を 1 にする」という発想は、必ずしも得策ではないようだ(2次以下の係数が複雑な分数になって、計算が面倒になるかもしれない)。この記事では「3次の係数は 1」という限定をなくした。必要に応じて、最初に3次の係数で割ってもいいし、3次の係数をそのままにして計算を進めて、最後に3次の係数で割ってもいい。

覚えやすさを重視した3次方程式の解法 > 更新履歴

  1. 2018年2月11日: 初版公開。
  2. 2018年2月18日: 偏角の正負について追加(定義しないで使っていた)。「例題2(続き)」に、数値的ではない解の例を追加。その他、表現の細部の調整。

この記事のURL

パブリックドメイン



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