7 : 21 3次方程式と双曲線関数

← 7‒20 p↑ もくじ i 7‒22 n →

3次方程式と双曲線関数 ☆ 複素関数いじっちゃお

2019年 2月17日
記事ID e90217

最も美しい数式といわれる「オイラーの公式」を使って、3次方程式の面白い解法を…。3次方程式をネタとした複素関数プチ体験。

cos i = ?

双曲線関数(§2参照)で3次方程式の「実数解」を求めるのは、珍しい話ではないが、マニアックな楽しさがある。「複素数解」まで求める・複素関数を使わないでもOK…というのは、イングランドの G. C. ホームズのアイデア。

§1 オイラーの公式

【1】 オイラー (Euler) の公式と呼ばれる次の式。

e = 2.718… は「自然対数のてい」という定数だが、e の虚数乗とは何なのか。虚数回、掛け合わせる?!

(1.1)x = π を代入すると:

「悟りの境地」のような、不思議な美しさがある。「自然の底に虚を円く乗ずれば、一人消尽」…。禅問答?

【2】 (1.1)e の虚数乗というものを定義する式…と解釈してみる。右辺の意味は「実部が cos x、虚部が sin x」。三角関数の基礎によると、これは「複素平面上の単位円の円周上にある偏角 x の点」。

例えば eiπ は、単位円上の偏角 π の点。それはもちろん (−1, 0)、数で言えば −1。禅問答のような式は、ただそれだけのこと。…なのだろうか?

一般的には、(1.1) は定義ではなく定理とされる。一応、(1.1) を証明しておきたい。基本的な関数(多項式、指数関数、cossin)の導関数を使う微分を使わない証明も可能だが、微分を使う方がお手軽)

微分についてよく分からない方、証明に興味ない方は、(1.1) を正しいと認めて §2 に進んでください。

【3】 「指数関数 ex が、多項式関数として表現できた」とする。つまり、何らかの定数 A0, A1, A2, … が存在して、こう書けたとする:

ここで右辺は5次・6次・7次…と無限に続く。万一 ex が4次の多項式で書き表せ5次以降は不要だとしても、そのときは A5 以降の係数がゼロというだけで問題ない。

(1.2) の両辺に x = 0 を代入すると 1 = A0 を得る(0 乗は 1)。定数 A0 の値は 1 だと分かった。

(1.2) の両辺を微分すると:

(1.3) の両辺に x = 0 を代入すると 1 = A1 を得る。定数 A1 の値も 1

(1.3) の両辺を再び微分すると:

(1.4) の両辺に x = 0 を代入すると 1 = 2A2 となり、ゆえに A2 = 1/2

(1.4) の両辺をしつこくもう1度微分すると:

(1.5) の両辺に x = 0 を代入すると 1 = 2⋅3A3 となり、ゆえに A3 = 1/(2⋅3) = 1/6。分母の 63! = 3⋅2⋅1 と解釈した方がパターンが分かりやすい。

この調子で同じ操作を繰り返すと、A4 = 1/(2⋅3⋅4) = 1/(4!) となる。ただし 4! = 4⋅3⋅2⋅1

さらに、A5 = 1/(2⋅3⋅4⋅5) = 1/(5!) となり、A6 = 1/(6!) となり、以下同様。これらの定数を (1.2) に書き戻すと:

【4】 (1.6) は「どのくらい正しい」のだろうか。x = 1 として、とりあえず4次の項まで足し算してみると:

  1. e1 ≈ 1 + 1 + 1/2! + 1/3! + 1/4!
  2. e ≈ 1 + 1 + 1/2 + 1/6 + 1/24 = 65/24 = 2.708 333 333…

真の値は e = 2.718 281 828 459… なので、ちょっと小さめだが、いい線いってる。もうちょっと足してみる:

小数第6位まで一致した。無限に足せばピッタリ一致しそう。

ちなみに、(1.6) の右辺の計算に必要なのは、足し算・掛け算・割り算だけ。だから、任意の複素数 x に対して、問題なくこの右辺を計算できる(無限の足し算が意味を持つとすれば)。(1.6)ex の定義とすると、原理的には任意の複素数 x に対して ex が定義される。

【5】 今度は「cos x が、多項式関数として表現できた」と考えてみる。次のように書けたと仮定する。

ex の場合(【3】)と同様に進めると、左辺はもともとの cos x から始まって、1回微分するごとに −sin x, −cos x, sin x が現れ、もう1回微分すると cos x に戻る。それらに x = 0 を代入した値(もともとの左辺から始める)は、1 → 0 → −1 → 0 の繰り返し。右辺は【3】と全く同じで、0, 1, 2, 3, 4, … 回微分したときの定数項は、順に A0, A1, 2!A2, 3!A3, 4!A4, …。ゆえに A1 = A3 = A5 = … = 0 であり、A0, A2, A4, A6, … だけが残る。これらの係数は、ex のときの (1.6) と絶対値が同じ。ただし、1個おきに符号がマイナスになる(左辺が −1 になるから)。分かりにくければ【3】同様、全ステップを書いてみよう。結果は:

同じことを sin x についてやると、左辺は sin x, cos x, −sin x, −cos x の繰り返し。そこに x = 0 を代入した値は 0 → 1 → 0 → −1 の繰り返し。従って、今度は「偶数番」の A は全部ゼロ。「奇数番」の A だけが残り、(1.6) と絶対値が同じで、1個おきに符号がマイナスになる:

ここで ex についての (1.6) を再掲。説明の便宜上、変数名を x から z に変えると:

この式に z = ix を代入する。i2 = −1, i3 = −i, i4 = 1, i5 = i, … に注意すると:

(1.10) の右辺の奇数番目の項は i を含まず、全体として (1.8) の右辺に等しい。(1.10) の右辺の偶数番目の項は i を含み、全体として (1.9) の右辺の i 倍に等しい。それぞれの式において左辺と右辺は等しいから、結局、(1.10) の左辺は「(1.8) の左辺、プラス、(1.9) の左辺の i 倍」に等しい。すなわち:

オイラーの公式が得られた。無限の足し算なんて怪しげだけど、一応ね。

【6】 ところで sin (π/6) = 0.5 なので、(1.9) の右辺に x = π/6 を入れると 0.5 になるはず。初めの3項で試すと:

  1. x = π/6 = 0.523 598 775…
  2. x3/6 = 0.023 924 596…
  3. x5/120 = 0.000 327 953…
  4. x − x3/3! + x5/5! = 0.500 002 132…

なかなかいい線、いってる!

こうして見ると、途中計算の式は正しそうだし、オイラーの公式も正しいのだろう。上記の証明は簡易的なもので曖昧な点もあるが(納得できないとしても無理はない)、ここでは「一応証明できた」ことにして話を進めたい。もっときちんとした証明については、別記事参照。比較的シンプルな別証明(極座標を使う)もある。

§2 三角関数と双曲線関数

【1】 オイラーの公式

xx で置き換えると:

  1. ei(−x) = cos (−x) + i sin (−x)
  2. eix = cos x − i sin x ……… (2.2)

(2.1)(2.2) を辺ごとに足し合わせると:

  1. eixeix = 2 cos x
  2. cos x = eix + eix 2  ……… (2.3)

cos が、指数関数で表された。いたずら心を起こして、(2.3)x = i を代入しちゃお♪

  1. cos i = (eii + eii) / 2 = (e−1 + e1) / 2
  2. = (1/e + e) / 2 = 1.543 080 634…

おぉぉ?!? 何だか分からないけど cos i が定義され、その値は約 1.5。実変数の cos は値が [−1, +1] の範囲だったが、複素変数の場合、その制約がなくなるらしい。「角度が虚数って、どういうことよ」と考えると悩ましいが、まあ「そういう関数。入力に対して一定の規則で出力が定まる」と割り切れば、別に違和感ない。

(2.1) から (2.2) を引き算すると:

  1. eix − eix = 2i sin x
  2. sin x = eix − eix 2i  ……… (2.4)

sin も、指数関数で表された。

【2】 話が飛ぶようだが、ここで「双曲線関数」というものを…。双曲線関数には幾つか種類があるけど、メインの2種ね!

双曲線余弦関数 cosh(通称コシュ)の定義は:

関数名は ch とも略されるcos との見間違いを防ぎ、スペース節約)

sh とも略される双曲線正弦関数 sinh(通称シャイン、またはシンチ)の定義は:

coshsinh の末尾の -hhyperbolic(双曲線の)の略。sinh のような記号の読み方は人によって異なり(例=「ハイパ(ー)ボリック・サイン」「シャイン」「シンチ」「サイン・エイチ」)、どれが正しいかという決まりはない。

上記の定義では、x が任意の複素数だとしても構わない(§1 で垣間見たように、任意の複素数 x に対して ex を考えることができるので)。ここでは、ひとまず x は実数だとする。

次の画像で、青い実線は cosh のグラフ、赤い点線は sinh のグラフ。横軸を x、縦軸を y とすると、それぞれ y = cosh xy = sinh x に当たる。

PNG画像(5 KiB)

cosh の定義から、任意の実数 x について、cosh (−x) = cosh x が成り立つ(偶関数)。実関数としての cosh の最小値は cosh 0 = 11 より小さくはならない。

一方、sinh は奇関数で、任意の実数 x について、sinh (−x) = −sinh x が成り立つ。例えば:

x が正の範囲で増加するとき、sinhcosh の値に接近し、グラフがほぼ重なる(定義が違うので、正確には一致しない)。

【3】 オイラーの公式経由の (2.3)cos を表すとき、coscosh が「仲間」であることは、一目瞭然:

(2.3*) の内容に注意しつつ、(2.3)xix に置き換えると:

  1. cos (ix) = (ei(ix) + ei(ix)) / 2 = (ex + ex) / 2
  2. cos (ix) = (ex + ex) / 2 = cosh x

この等式によると、cos に純虚数 ix を入れることは、cosh に対応する実数 x を入れることと同じ。

この等式の成立に「x は実数」という条件は必要ない。話をシンプルにするため、とりあえず「x は実数」としておくが、必要なら「x は複素数」と解釈しても構わない(以下同じ)。

同様に、(2.3*)xix に置き換えると:

cosh に純虚数を入れることは、cos に対応する実数を入れることと同じ。

【4】 sinsinh の関係もそれと似ているが、i 倍の違いがある:

(2.4)xix に置き換えると:

  1. sin (ix) = (ei(ix) − ei(ix)) / 2i = (ex − ex) / 2i
  2. = −(ex − ex) / 2i = i2(ex − ex) / 2i
  3. = i(ex − ex) / 2 = i sinh x

(2.4*)xix に置き換えると:

2個目の等号は (2.4) の両辺を i 倍したものから。

【5】 以上をまとめると:

上記4個の式は、x が実数でも複素数でも成立する。便宜上、これらの式を「いとこの定理」と呼ぶことにする。cossin は「きょうだい」、coshsinh も「きょうだい」のような感じなので、coscosh は「いとこ」みたいな(適当なネーミング)。「いとこの定理」を使うと、変数が純虚数の場合の関数値を簡単に(実変数の「いとこ」を使って)計算できる。例えば:

このテクニックは、変数が一般の複素数の場合に拡張可能。例えば cos (π + 3i) の値を知りたい場合、cos (α + β) を計算する公式(加法定理)と組み合わせればいい:

  1. cos (π + 3i) = cos π cos (3i) − sin π sin (3i)
  2. = cos π (cosh 3) − sin π (i sinh 3)
  3. = (−1)(10.067 661 995…) − (0)(i 10.017 874 927…) = −10.067 661 995…

<多少難あり> 加法定理を幾何学的に証明した場合、「複素数の範囲でも加法定理が成り立つ」という証拠がない。

【6】 cosh (α + β)sinh (α + β) についても同様の公式があれば「双曲線関数に複素数を入れた値」も計算可能。これが非常に役立つ。

双曲線関数の加法定理 sinh の加法定理は、sin の加法定理の関数名に -h を付けただけ。

cosh の加法定理も cos の加法定理と同様だが、符号が変わる

証明 (2.5) 右辺の2項について、関数の定義(【2】参照)から:

この2項の和は、上記2式の右辺を足し合わせたもの。(ex+y − exy) / 2 に等しい。それは (2.5) の左辺 sinh (x + y) の定義に他ならない。

(2.6) についても同様。右辺の

の和は、左辺 cosh (x + y) = (ex+yexy) / 2 に等しい。□

上記の証明には「変数が実数」という条件は必要ない。つまり双曲線関数の加法定理は、複素数の範囲で問題なく成立。この証明と同様にして、(2.3), (2.4) から「複素数の範囲の三角関数の加法定理」を導ける。【5】末尾の<多少難あり>が解決する。

別証明 次のように、対応する三角関数の公式から変換する方が楽。

  1. cos (x + y) = cos x cos y − sin x sin y   cos の加法定理
  2. cos (ix + iy) = cos (ix) cos (iy) − sin (ixsin (iy)   ← 純虚数を入れた
  3. cosh (x + y) = cosh x cosh y − (i sinh x)(i sinh y)   ← 「いとこの定理」
  4. cosh (x + y) = cosh x cosh y + sinh x sinh y   (2.6) を得た

「いとこの定理」を使って虚数の sin を実数の sinh に変換すると、係数 i が出てくる。だから変換元の式で sin2個掛け算されている場合、その部分には変換時に i2 = −1 が発生し、符号が変わるcoscosh については、そのようなことはなく、単純置換すればいい。

一方:

  1. sin (x + y) = sin x cos y + cos x sin y   sin の加法定理
  2. sin (ix + iy) = sin (ix) cos (iy) + cos (ixsin (iy)   ← 純虚数を入れた
  3. i sinh (x + y) = (i sinh x) cosh y + cosh x (i sinh y)   ← 「いとこの定理」

この両辺を i で割れば、(2.5) を得る。変換元の式で sin1個だけ(2個以上の積でない)なら符号は変わらない。内部的に i が発生するが、その i は「約分」のような感じで自然消滅する。□

【7】 一般に、cos, sin を含む任意の三角関数の公式について、coscosh に置き換え、sinsinh に置き換えれば、対応する双曲線関数の公式を得る。その際、sinsinh については、変換元に sin 2個の積があればその部分の符号が変わり、sin が1個だけ(2個以上の積でない)なら符号は変わらない。

変換元で sin3乗されている場合、内部的に i3 = −i が生じ、その部分も符号が変わる。例えば、正弦の3倍角の公式

が与えられたとすると、対応する双曲線正弦の「3倍角」の公式は、こうなる:

内部的な変換過程は:

  1. sin 3x = 3 sin x − 4(sin x)3   ← 出発点となる公式
  2. sin 3(ix) = 3 sin (ix) − 4(sin (ix))3   ← 純虚数を入れた
  3. i sinh 3x = 3(i sinh x) − 4(i sinh x)3   ← 「いとこの定理」

i3 = −i なので、最後の項は + 4i(sinh x)3 に等しい。全体を i で割れば (2.7) を得る。

一方、余弦の3倍角の公式

が与えられたとすると、単に関数名を置き換えるだけで、双曲線余弦の「3倍角」の公式を得る:

【8】 sinh の出力を知って入力を逆算したい場合、arsinh というもの(逆関数)が使われる。例えば:

cosh x の場合、x の絶対値が同じならその符号が正でも負でも関数の値は同じ。x ≠ 0 のとき、cosh x の値から x を逆算しようとすると、2通りの可能性が生じる。逆関数 arcosh の値(正式には「主値」)は、そのうち正の値を指す。例えば:

ここでは主値だけを考える。実数 y が与えられたとき:

実変数関数としての cosh の値域は [1, ∞) なので、実数値関数としての arcosh1 以上の実数 y に対してのみ定義される。

arcosh は、arccosh(アーク・コシュ)、cosh−1(インバース・コシュ)と呼ばれることも多い。同様に arsinh は、arcsinhsinh−1 とも。名前はともかく、内容は関数の「入力→出力」の変換を逆向きにやるというだけで、大したことではない(具体的な逆算公式も簡単に作れるが、ここでは必要ないので省略)

三角関数に「単位円に基づく幾何学的解釈」があるように、双曲線関数には「単位双曲線に基づく幾何学的解釈」があり、三角関数の「弧度法の角度=弧の長さ(arc)」に当たるパラメーターは、双曲線関数では「面積(area)」と関係している。英語圏の通説では、逆双曲線関数の ar- は、これに基づくとされる。しかし仏語圏では、この ar-argument(引数)と読まれ、arg- とも書かれる。この手の用語はもともとラテン語だったものが多いので、ラテン語と同系のフランス語の方が、真相に近いのかも…。ar- の原義は「面積」ではなく「双曲線関数の引数の逆算」かもしれない。

§3 3次方程式の伝統的解法

3次方程式の「普通の(双曲線関数を使わない)解法」。

【1】 実係数の3次方程式

は、変数変換 z = ax + b/3 により次の形に簡約される

N = −P, R = q/2 と置く。

このとき、2次方程式

の2解 α, β = R ± R2 − N3 を用い、(3.2) の解を次の形で表すことができる

α ≠ 0 なら α は(複素数の範囲で)相異なる3個の立方根を持ち、(3.4) ではそのどれを選んでもいい。β の立方根は、α の立方根との積が N になるように選ばれる。

(3.4)カルダノ (Cardano) の公式と呼ばれ、これにより3次方程式の全部(3個)の解が求まる。α, β は一般には実数ではない。解を数値的に求めたい場合、(3.4) をそのまま使うと複素数の立方根の計算が必要。実用上、あまり便利ではない。

【2】 (3.1) の係数は実数なので N, R も実数。もし R2 < N3 が成り立つなら(そのとき必然的に N > 0)、3次方程式は3個の相異なる実数解を持つ。この場合、三角関数を使って解を求めるのが実用的。

と置くと、ビエト (Viète) による次の定理が成り立つ。

定理 下記の実数 A, θ を用いて (3.5) から計算される z は、3次方程式 (3.2) の一つの解。

(3.6) 経由で3解全てが得られるので実用上はこれで間に合うが、理論的には (3.6) の代わりに、次のように2カ所の符号を逆にしてもいい。これも有効な別の解を与える。

定理の証明 もし A = 0 なら、(3.5) より3解は全て 0 に等しい(3重解)。その場合、3次方程式 (3.2)z3 = 0 の形を持ち、N = R = 0 となって R2 < N3 という仮定に反する。ゆえに A ≠ 0

(3.5)(3.2) に代入すると:

一方、余弦の3倍角の公式(恒等式)によると:

  1. cos 3θ = 4 cos3 θ − 3 cos θ
  2. 4 cos3 θ − 3 cos θ − cos 3θ = 0 ……… (3.8)

(3.7) と比較しやすいように (3.8) の両辺を A3/4 倍する:

Aθ をうまく設定して (3.7)(3.9) を全く同じ式にすることができた」とする。(3.9) は、3倍角の公式(恒等式)を書き換えただけの式なので常に真。それと同じ式になるなら (3.7) も真で、変数変換 (3.5) を介して (3.2) も真。ゆえに、3次方程式の一つの解 z が得られる。これを実現するには、(3.9)(3.7) において cos θ の係数が等しくなる必要がある。つまり −3A3/4 = −3AN。条件 A ≠ 0 があるので、次のように整理される。

  1. A2/4 = N
  2. A = ±2√N ……… (3.10)

さらに、(3.9)(3.7) それぞれの、左辺第3項も等しくなる必要がある:

この式の A(3.10) の右辺を代入すると:

  1. [(±2√N)3/4] cos 3θ = 2R
  2. ∓2(√N)3 cos 3θ = 2R
  3. cos 3θ = ∓R / (√N)3 ……… (3.12)

代入の手順から (3.12) の分母は (√N)3 で、N3 ではない。ただし、N > 0 なので、どちらでも値(主値)は同じ。N > 0 なので分母 ≠ 0

三角関数の性質上、(3.12) を満たす 3θ は無限個ある。単純な逆算(逆三角関数の主値)によりその一例を求めると:

(3.10)(3.13) の複号は対応していて、± でプラスを選ぶなら、 ではマイナスを選ぶ必要がある。(3.6) は、符号をそのように選んで、(3.13) の両辺を 3 で割ったもの。逆の符号を選ぶと (3.6*) が生じる。□

この計算の幾何学的意味は、次の通り。3次方程式が3個の相異なる実数解を持つとき、2次方程式 (3.3) は共役複素数解を持つ。そのうち虚部が正のものを α とする。(3.13) の複号でマイナスを選んだときの α の偏角 φ が、上記の 3θθ = φ/3 は、α の(一つの)立方根の偏角。この立方根は、カルダノの公式に含まれる立方根に他ならない。arccos を使った単純計算は、この解釈の下で正しい偏角を与える。

【3】 (3.12) を成立させる 3θ(3.13) 以外にも存在。それを考えることで、残りの2解が得られる。cos の性質上、角度に の整数倍を加減しても値は変わらず、角度の符号を逆にしても値は変わらない。3θ の整数倍が加減されるなら、θ には 2π/3 の整数倍が加減される。(3.5) において、次のようにすればいい:

代わりに k = 0, ±1 としてもいいし、θθ に置き換えてもいいが、z が取り得る値は、(3.14) の3種のみ。 の整数倍の角度差は cos の値に影響しないので、k = 3, 4 などは k = 0, 1 などと同じ意味。cos y = cos (−y) なので、入力値の正負も結果に影響せず。

(3.14)ビエトの公式で、カルダノの公式からは分からない事実を示している。すなわち、簡約3次方程式の3個の実数解は、座標平面上において「原点を中心とする、半径 2√N の円周を3等分した点」の横座標。一見ランダムに散らばっているとも思える3解が、同じ円周上に等間隔に並んだ点の影だった!

【4】 ビエトの公式は、このように含蓄のあるもので、形もシンプル。三角関数キーのある電卓などを使えば、すぐ計算できる。半面、これは本来「3次方程式が3個の実数解を持つ場合」にのみ有効な特殊公式で、カルダノの公式のような一般性を持たない。

ɡ = R / (√N)3 と置く。(3.6) または (3.6*) の形で実関数の arccos を使うためには、ɡ が実数かつ | ɡ | ≤ 1 でなければならない。理由はもちろん、実関数としての arccos の定義域が [−1, +1] だから。

R, N が実数の場合、「3次方程式が相異なる3個の実数解を持つ」ための必要十分条件は、R2 < N3(別記事の分類では「第2のケース」)。この不等式が成り立つとき、正の数 N3 で両辺を割ると R2 / N3 < 1。その両辺の平方根を考えると

となり(1個目の等号が成り立つのは N > 0 だから)、実関数の arccos を使うための条件を満たす。ゆえに、方程式が相異なる3個の実数解を持つなら、ビエトの公式が利用可能。一方、「3次方程式が1個の実数解と2個の非実数解を持つ」場合(「第1のケース」)、すなわち

には、ビエトの公式を利用できない。できることなら、この美しい公式を拡張して、任意の3次方程式に適用できる「汎用的な解の公式」を作りたい…。

§4 cosh 版ビエトの公式

N が正で ɡ = R / (√N)3実数になる場合のうち、| ɡ | > 1 のケースを考える(第1のケースA)。

【1】 実関数の arccos は「絶対値が 1 以上の入力」を処理できず、3θ = arccos (±ɡ) の部分で計算不能に陥る。代わりに「絶対値が 1 以上の入力」しか処理できない arcosh を使ったら、どうだろう。計算不能の式は 3θ = arcosh (±ɡ) に置き換わり、符号の選択さえ正しければ、問題なく計算できるようになる。「いとこ」の cosharcosh が、cosarccos の守備範囲外をうまくカバーしてくれる。

§3 では、三角関数を使った変数変換を行い

と置いた。ここでは、ひとひねり加え

と置く。§3 では、余弦の3倍角の公式

からビエトの公式を導いた。双曲線余弦の「3倍角」の公式

は、全く同じ形をしていて、coscosh置き換えただけ。従って全く同様に式変形を進めることができ、結果は次のようになる(順に §3 の (3.12), (3.13), (3.6), (3.6*) に相当)。

  1. cosh 3θ = ∓R / (√N)3 ……… (4.3)
  2. 3θ = arcosh [R / (√N)3] ……… (4.4)
  3. A = 2√N, θ = 1 3  arcosh [R / (√N)3] ……… (4.5)
  4. A = −2√N, θ = 1 3  arcosh [R / (√N)3] ……… (4.5*)

実関数としての arcosh の定義域は [1, +∞) なので、複号については、入力値が 1 以上になるように選択。その選択に応じ (4.5)(4.5*) を使い分ける: ɡ < −1 なら (4.5)ɡ > 1 なら (4.5*)。両方のケースについて θ の式を一つにまとめると:

| ɡ | = 1 の場合にもこの計算は可能だが(θ = 0)、話を簡単にするため、ここでは | ɡ | > 1 の場合(θ ≠ 0)だけを考える。

【2】 (4.5) または (4.5*)(4.1) に入れれば、3次方程式の実数解 z1 が得られる。

例: z3 − 3z + 3 = 0 の実数解。N = 1, R = 1.5, ɡ = R / (√N)3 = 1.5 > 1(4.5*) から A = −2√N = −2, θ = (arcosh ɡ)/3 = (arcosh 1.5)/3 = 0.320 807 883…(4.1) から z1 = A cosh θ = −2.103 803 402…。この解を与式に入れると、確かに z13 − 3z1 + 3 = 0.000 000… となる。

残りの2解 z2, z3 は、どこにあるのだろう?

という状況について検討する。(4.6) を満たす 3θ は、実数の範囲には2個あるが(絶対値が同じで符号が反対)、そのどちらを選んでも、(4.1) からは同じ z しか得られないcosh θ = cosh (−θ) なので)。従って実数の範囲では、(4.7) によって定まる正の θ(主値)だけ考えれば十分。

実数の範囲にはそれ以上の答えがないので、(4.6) を成立させる 3θ複素数の範囲で考え、その実部を J、虚部を K と置く: 3θ = J + KiJ, K は実数)。このとき、cosh の加法定理「いとこの定理」から:

  1. cosh 3θ = cosh (J + Ki)
  2. = cosh J cosh (Ki) + sinh J sinh (Ki)
  3. = (cosh J cos K) + (sinh J sin K)i ……… (4.8)

(4.6) の条件から、(4.8) は実数 | ɡ | > 1 に等しい。すなわち、(4.8) の実部は | ɡ |、虚部は 0:

(4.10) が成り立つためには、sinh J = 0 または sin K = 0 が必要。もし sinh J = 0 なら J = 0, cosh J = 1 で、(4.9)cos K = | ɡ | を含意するが、これは不合理(cos K ≤ 1 だが、仮定より | ɡ | > 1)。ゆえに sin K = 0 であり、Kπ の整数倍。

では Kπ の奇数倍か、偶数倍か? もし奇数倍なら cos K = −1 だが、その場合 (4.9) の左辺は負(なぜなら cosh J ≥ 1)。これは右辺についての仮定に反する。ゆえに Kπ の偶数倍のはず。偶数倍なら cos K = 1 で、(4.9)cosh J = | ɡ | を含意し、つじつまが合う。つまり K の整数倍Kii の整数倍)。これが「複素数の範囲で 3θ が取り得る値」の虚部。

【3】 cosh J = | ɡ | を満たす J は正・負1個ずつあり、J の正負を決定することはできない。複素数の範囲で (4.6)3θ について解いた一般解は 3θ = ±| J | + 2kπi となる(k は任意の整数)。ところで、cosh は複素関数としても偶関数。任意の複素数 ξ について cosh (ξ) = cosh (−ξ) が成り立つ。

関数の定義が cosh ξ = (eξ + eξ)/2 なのだから、ξξ に置き換えても値が同じなのは明らか。念のための確認として、ξ = xyi と置くと cosh ξ = cosh x cos yi sinh x sin y。一方、cosh (−ξ) = cosh (−x) cos (−y) + i sinh (−x) sin (−y)。この二つの右辺が等しいことを確かめるのは、易しい。

従って「実部が正の 3θ = | J | + 2kπi を考え、その3分の1を (4.1) に代入する」ことは、「符号が反対の 3θ = −| J | − 2kπi を考え、その3分の1を (4.1) に代入する」ことと同じ結果をもたらす。k は任意の整数なので、虚数成分 2kπi−2kπi の区別にも意味はない。どちらでも同じなので便宜上 J は正と仮定し、その正の実数 J をあらためて 3θ と置くと、結局この 3θ は、(4.3) から得られるもともとの実数。複素数の範囲で (4.6) を考えるということは、「もともとの 3θ3θ + 2kπi に置き換えること」に当たる。

3θ の値をこのように変化させるとき、(4.7)θ には、i/3 の整数倍が加減される。そのような虚数成分を持つ θ(4.1) に代入することで、3次方程式の残りの2解(複素数解)が得られるに違いない。条件 (4.3) を満たす θ は、複素数の範囲まで広げて考えても、それ以外には存在しないのだからJ の符号を逆にするという選択肢は、結果の値に影響しないので度外視)

【4】 i/3 の整数倍というのは、無限個の選択肢。けれど (4.6) についての「3θi の整数倍を加減しても cosh の値は同じ」という観察から、「複素関数 cosh の値は、入力が i 変わるたびに元の値に戻る」と予想される。その証明は易しい。

実際、任意の複素数 ξ について cosh (ξ ± 2πi) = cosh ξ cos (±2π) + i sinh ξ sin (±2π) = cosh ξ

このことから、(4.1)cosh に入れるべき値は θ, θ + 2πi/3, θ + 4πi/3 の3種で十分。前節で見たビエトの公式は

という形だったが、双曲線余弦を使った | ɡ | > 1 用のバージョンは、次の形を持つ。

もともとの公式と比べると「パラレルワールドの虚数バージョン」のような形になっていて、なかなか美しい!

(4.5), (4.5*) の選択に応じ、(4.13), (4.14) の複号を使い分ける。i 単位の周期性があるので、k の範囲は k = 0, ±1 でもいい。

<例1> z3 − 3z + 3 = 0 の3解を求める。

N = 1, R = 3/2, ɡ = R / (√N)3 = 3/2 > 1 なので (4.5*) を使って:

  1. A = −2√N = −2
  2. θ = (arcosh ɡ)/3 = 0.320 807 883…
  3. z1 = A cosh θ = −2.103 803 402…
  4. z2 = A cosh (θ + 2πi/3) = 1.051 901 701… − (0.565 235 851…)i
  5. z3 = A cosh (θ + 4πi/3) = 1.051 901 701… + (0.565 235 851…)i

解の順序の違いを無視すれば、カルダノの公式経由の計算結果と一致した!

しかも θ の値を機械的にずらすだけで、解の実部と虚部が全部一発で求まる。複素関数、すげえ。

この計算では「複素関数をサポートする計算機を使う」と想定している。複素数がサポートされていない場合については【5】参照。

【5】 複号を適切に選べば (4.13)arcosh は実関数となり、従って θ は(正の)実数。(4.14) では複素関数としての cosh が使われているが、その引数は「実部と虚部の和」の形。加法定理でこれをばらして、「実関数だけを使う計算」に書き直すことができる。ɡ < −1 と仮定し、(4.14) の複号で「プラス」が選択されたとすると:

k = 0 の場合、引数はもともと実数(虚部ゼロ)。これは「3次方程式の1個だけの実数解」を表す。

k = 1 の場合:

  1. cosh (θ + 2πi/3) = cosh θ cosh (2πi/3) + sinh θ sinh (2πi/3)
  2. = cosh θ cos (2π/3) + sinh θ (i sin (2π/3))
  3. = −(1/2) cosh θ + (i3/2) sinh θ
  4. すなわち cosh (θ + 2πi/3) = −(1/2)(cosh θ − i3 sinh θ)

k = 2 の場合も同様に計算される(代わりに k = −1 を考えれば、k = 1 の場合と符号が変わるだけ):

これらを (4.15) に入れると:

(4.17), (4.18) は「3次方程式の2個の共役複素数解」を表す。(4.16) と比較すると「共役複素数解の実部は、実数解 z1−(1/2) 倍」。カルダノの公式経由の計算でも、そうなっていた(カルダノの「実数の範囲の2立方根 u, v」のそれぞれに「1 の複素立方根」が掛け算されること、そして「1 の複素立方根」の実部が −(1/2) であることから)

以上は ɡ < −1 の場合。一方、ɡ > 1(4.13) の複号の「マイナス」が選択された場合、A = ±2√N の符号が入れ替わり (4.5*) の形になる。それ以外は同様なので、結果的に (4.16) の頭に「マイナス」が付き、(4.17), (4.18) の頭の「マイナス」がなくなる:

結論として、ɡ が実数の場合、その絶対値が 1 より小さければオリジナルのビエトの公式が使えるが、絶対値が 1 より大きくても、複素双曲線関数を使えばビエト風の公式が成立し、3解を統一的に表現できる。実部と虚部を別々に書き表すなら、実関数だけで3解を表現できる。

<例2> z3 − 6z − 8 = 0 の3解を実関数だけで求める。

N = 2, R = −4, ɡ = R / (√N)3 = −√2 < −1 なので:

実数解 z1(4.16) から:

(4.17), (4.18) によると共役複素数解 z2, z3 の実部は:

z2, z3 の虚部は:

ゆえに:

上記【2】~【5】は、ホームズ (Holmes) の The Use of Hyperbolic Cosines in Solving Cubic PolynomialsPDFファイルへのリンク: linkに基づく。ɡ > 1 の場合については、ホームズは、上記と少し違う方法で同じ公式を得ている。


【6】 ɡ の正負によって (4.5)(4.5*) を使い分け、公式の符号が入れ替わることは少し煩わしいが、オリジナルのビエトの公式でも

となっていた。この「2カ所の符号が逆になる」パターンは、cosh 版でも同じ。なぜそうなるか。ビエトの公式は、3倍角の公式

  1. cos 3θ = 4 cos3 θ − 3 cos θ
  2. 4 cos3 θ − 3 cos θ  cos 3θ = 0

と、簡約3次方程式

の係数比較に基づく(§3【2】参照)。具体的には、式 (3.11)

によって、上記の符号パターンが生じる。デフォルト(両者を結び付ける A3/4 が正)の状態では、−cos 3θ から見た +2R はマイナス(式の上での符号が逆)。A3/4 が負なら、−cos 3θ から見た +2R はプラス(符号が同じ)。A3/4 の正負とは、A = ±2√N の符号の選択に他ならない。3倍角の公式の右辺が「プラス4倍のなんたら3乗」を含む限り、移項すると  cos 3θ のような符号が生じ、同じパターンになる:

マイナス4倍のなんたら3乗」なら、パターンが破れる(正弦の3倍角):

§3/§4 と同様にビエト型の公式を作った場合、上記の結果として、cos 版/cosh 版/sinh 版は「2カ所の符号が逆」という特徴を共有し、sin 版だけは「2カ所の符号が同じ」になる。それとは別の話として、sinh の「3倍角」の公式 を使うと、1次(右側の式の左辺第2項)の係数がプラスになることに注目(他の式では、この場所がマイナス)。これが §5 の鍵となる。

§5 sinh 版ビエトの公式

N が負で ɡ = R / (√N)3虚数になる場合を考える(第1のケースB)。これは (3.2)z3 − 3Nz + 2R = 0−3N が正の場合。言い換えると、(3.1*)z3 + 3Pz + q = 03P が正の場合。単純に考えると、3次方程式の半数はこのタイプ。

【1】 §4 では、3θ = arccos (∓ɡ) の実数 ɡ が実関数 arccos の定義域にないケースについて、「いとこ」への切り替えにより問題を回避した。ɡ が虚数の場合、小手先の切り替えでは対応できない。§3 の導出を振り返ると、虚数が生じるのは N = −P が負の場合。

3P が正のとき、この方程式を 4 cos3 θ − 3 cos θ − cos 3θ = 0 の形に変換すると、変換元と変換先で1次の係数の正負が一致しないため、負数の平方根が生じる。代わりに sinh の「3倍角」の公式 sinh 3θ = 3 sinh θ + 4 sinh3 θ を使って同様の変換を行うと、

となって変換先の符号が変わるので(§4【6】の末尾参照)、虚数の発生原因がなくなる。

【2】 この観察に基づき、簡約3次方程式 z3 − 3Nz + 2R = 0 において N < 0 の場合には、

と置く。§3 同様、A ≠ 0

実際、A = 0 なら、(5.2) より3解は全て 0 に等しく、簡約3次方程式は z3 = 0 に退化。そのとき N = R = 0 だが、これは N < 0 という仮定に反する。

負の数 N について、絶対値が同じ正の数 P = −N を使うと、簡約3次方程式は

となる。そこに (5.2) を代入すると:

一方、sinh の「3倍角」の公式から得られる (5.1) について、両辺を A3/4 倍すると:

A ≠ 0 なので、(5.4)(5.3) それぞれの左辺第2項の比較から、次が成り立つ。

  1. 3A3/4 = 3AP
  2. A2/4 = P
  3. A = ±2√P ……… (5.5)

(5.3)(5.4) それぞれの左辺第3項を比較して、A(5.5) の右辺を代入すると:

  1. 2R = −(A3/4) sinh 3θ = −[(±2√P)3 / 4] sinh 3θ = ∓2(√P)3 sinh 3θ
  2. sinh 3θ = ∓R / (√P)3 ……… (5.6)
  3. θ = 1 3  arsinh [∓R / (√P)3] ……… (5.7)

P = −N ≠ 0 なので、(5.6) の割り算は問題なし。(5.5)(5.7) の複号は上下どちらを選んでも構わない(上下を統一する必要はある)。一方を選んで (5.5), (5.7)(5.2) に代入すれば、3次方程式の(唯一の)実数解が得られる。次の【3】では上側の符号を選んだと仮定する。

【3】 3次方程式の3解全てを複素数の範囲で求めるため、前節同様 (5.6) の実数 3θ を複素数 J + Ki で置き換える(J, K は実数)。もちろん、置き換えた後でも (5.6) が成り立つように、複素数をうまく選択する。sinh の加法定理「いとこの定理」から:

  1. sinh (J + Ki) = sinh J cosh (Ki) + cosh J sinh (Ki)
  2. = sinh J cos Ki cosh J sin K ……… (5.8)

この値が (5.6) の右辺の実数に等しいのだから、(5.8) の虚部は 0cosh J ≠ 0 なので sin K = 0。つまり Kπ の整数倍。偶数倍だろうか、奇数倍だろうか。

(I) Kπ の偶数倍だと仮定する。このとき cos K = 1 で、(5.8)sinh J に等しい。それが (5.6) と等しいのだから J = 3θ。実数 3θ を置き換える複素数は JKi = 3θ + (2ki の形を持ち(2k は任意の偶数)、(5.2)θ を置き換える複素数はその3分の1、つまり θ + (2ki/3 の形。ところで、複素関数としての sinh は、cosh 同様i 単位の周期性を持つ。

実際、任意の複素数 ξ について sinh (ξ ± 2πi) = sinh ξ cos (±2π) + i cosh ξ sin (±2π) = sinh ξ

従って、k = 0, 1, 2 だけ(または k = 0, ±1 だけ)を考えれば十分。k = 0 の場合、単に (5.5)(5.2) に代入し、実数解 2√P sinh θ を得る。上記の複素数で k = ±1 として θ を置き換えると、次の複素数解を得る。

  1. 2√P sinh (θ ± 2πi/3)
  2. = 2√P [sinh θ cos (±2π/3) + i cosh θ sin (±2π/3)]
  3. = 2√P (−  1 2  sinh θ ±  i3 2  cosh θ) ……… (5.9)

(II) 一方、Kπ の奇数倍だとすると、cos K = −1 で、(5.8)−sinh J = sinh (−J) に等しい。それが (5.6) に等しいのだから J = −3θ3θ を置き換える複素数は −3θ + (2k + 1)πi の形を持ち(2k + 1 は任意の奇数)、(5.2)θθ + (2k + 1)πi/3 に置き換わる。k = 1, 0, −1 を考えれば十分。k = 0, −1 に当たる 2√P sinh (−θ ± πi/3) を計算すると、結果は (5.9) に一致。k = 1 に当たる 2√P sinh (−θ + πi) を計算すると、結果は (I) の実数解に一致。

(I)(II) のどちらでも結果は同じなので、便宜上 (I) だとしておく。

cosh バージョンでも sinh バージョンでも、J = 3θ と仮定すると、もともとの θ(3次方程式の実数解に対応する実数)を含む3種類の θ を、複素数の範囲で自然に考えることができる。J = −3θ と仮定すると、もともとの θ とは別に、新しい3種類の θ を考えることになる。得られる3解に違いはない。

【4】 結論として、「第1のケースB」の3解は、(5.7) の複号でマイナスを選んだ場合の実数 θ を使って、ビエト風に表現される:

k = 1, 2 のとき (5.11)sinh は複素変数だが、これを実変数関数で表現することも可能。(5.9) を整理すると:

ところで (5.7) の複号でプラスを選択してもいい。その場合、(5.5) の符号も変わり、(5.11), (5.12) に当たるものは:

全ての公式において、k の範囲は k = 0, ±1 でもいい。

<例3> z3 + (32/3)z + (200/27) = 0 の3解。

1次の係数が正なので「第1のケースB」だが、単に因数分解で解くことができる。与式の両辺を 27 倍すると 27z3 + 288z + 200 = (3z + 2)(9z2 − 6z + 100) = 0。これを解くと、実数解は −2/3、非実数解は 1/3 ± i11。数値的に 11 = 3.316 624 790 3…(語呂合わせ=散々疲労、無理にしなくてオーケーさ)。上記 sinh バージョンのビエト型公式からも、次のように同じ3解が得られる。

P = 32/9, R = 100/27(5.10) を使うと:

(5.11) より3解は:

第2解・第3解については、複素関数を使わず (5.12) から計算してもいい。

ところで、もし (5.7) の複号でプラスを選ぶと:

これは (5.13)θ の符号が逆になったもの。符号が反転している (5.11*) などと組み合わせれば、同じ3解を得る。

この節で扱った ɡ が虚数のケースについて、Holmes は違う方法で同様の公式を導いている。その方法も興味深いが、少しややこしく、微妙な問題点もあるため、ここでは割愛する。

§6 ビエトの公式の複素化に向けて

【1】 実係数の任意の3次方程式は、簡単な変数変換によって (3.2) の形 z3 − 3Nz + 2R = 0 になる。ɡ = R / (√N)3実数の場合、すなわち N > 0 の場合、| ɡ | < 1 なら cos 版のビエトの公式(§3)、| ɡ | > 1 なら cosh 版のビエトの公式(§4)によって、いずれも3解全てが得られる。境界上の | ɡ | = 1 については別途検討が必要だが、これは重解を持つ場合で、本質的に難しくない。

N = 0 の場合、ɡ そのものが定義されないが、このとき (3.1*)z3 + q = 0 の形に退化し、その解は自明。

N < 0 の場合、ɡ = R / (√N)3虚数。この場合、対応する実数 G = R / (√P)3 = R / (√N)3 を使って(P = −N)、sinh 版のビエトの公式(§5)から、3解全てが得られる。

結局、自明な方程式を度外視するなら、3解を常にビエト風に表現できる。k = 0, ±1(または k = 0, 1, 2)に対する次の値が、その3解。

(i) ɡ が実数で、その絶対値が 1 より小なら:

(ii) ɡ が実数で、その絶対値が 1 より大なら:

(iii) ɡ = Gi が虚数なら:

§3, §4, §5 の 3θ をそれぞれ φ, λ, μ と書いた。(ii) の複号の選択は、ɡ が負なら上、正なら下。(i)(iii) の複号の選択は、上下どちらでもいい(上をデフォルトとする)。

この結論は一つの成果だが、「解の公式」が3種類に分かれているのは美しくない。実は、全てを複素関数として考えるなら、3種類の公式を使い分けず、いつも (i) だけを使うことができる。以下、具体例でそれを観察する。

【2】 <例2>z3 − 6z − 8 = 0 を再考。N = 2, R = −4, ɡ = −√2k = 0 に対する (ii) は、次の順序で計算される(C は計算途中の値)。

  1. λ = arcosh (−ɡ) = arcosh √2 = 0.881 373 587… ……… (6.1)
  2. θ = λ/3 = 0.293 791 195…
  3. C = cosh θ = 1.043 467 943…
  4. z = (2√N)C = 2.951 373 035… ……… (6.2)

(6.1)λ = arcosh √2 は、cosh λ = √2, λ ≥ 0同じ意味λ は実数)。このとき「いとこの定理」から cos (λi) = √2。単純にその逆算を考えると、λi = arccos √2 となる(λi は純虚数)。それを念頭に、(6.1) と同じ ɡ を使って今度は (i) の計算を実行すると:

ここでは、絶対値が 1 より大きい 2 = 1.414… が、お構いなしに arccos に渡されている。これは実関数の世界では「不可能」で、この問題を回避するため §4 では「いとこ」の cosh を登場させた。しかし複素関数としてなら、これは「可能」。§2 では戯れに cos に虚数 i を入れ、約 1.5 という数を得たが、それを逆方向に考えると、2 ≈ 1.4arccos に入れて虚数が出てくるというのは、つじつまが合っている。

この φ を用いて、k = 0 に対する (i) の計算を行うと(θ′,C は上記 θ, C に対応する値):

  1. θ′ = φ/3 = (0.293 791 195…)i = θi
  2. C′ = cos θ′ = cos (θi) = cosh θ = 1.043 467 943…

この C(i)cos の部分で、値は C と同じ。それを 2√N 倍して解を求めると、もちろん (6.2) と一致する!

残りの2解について、k = ±1 のとき、(ii)cosh の部分は次の値に等しい。

この計算は「いとこの定理」cosh x = cos (ix) において x = θ ± 2πi/3 と置いたもの。

(6.3) の右端は、k = ∓1 のときの、(i)cos の部分に他ならない。(i)cos の係数は (ii)cosh の係数と同じなので、どちら経由でも、得られる解に違いはない(解の順序は異なる)。

【3】 「どちら経由でも同じ3解が得られる」ことを互換と呼ぶと、上記により ɡ < −1 のとき、(ii)(i) と互換。同じ (ii) でも ɡ > 1 なら符号が入れ替わるが、上記と同様の議論から、その場合の (ii) は「符号を入れ替えた (i)」と互換。それがデフォルトの (i) とも互換であることを言うには、(3.6)(3.6*) が「複素関数としても互換」であることを示せばいい。

具体的には、(φ + 2kπ)/3 に対する3種の cos(φ′ + 2kπ)/3 の3種の cos を比較して、それらが全体として「絶対値が同じ・符号が逆」であることを示せばいい。ここで φ = arccos (−ɡ), φ′ = arccos ɡ だが、φ′ = π − φ が成立(少なくとも実関数の範囲では)。そして cos (φ′/3) = cos ((π − φ)/3) = cos ((φ − π)/3) = −cos ((φ + 2π)/3)

ところで、四則演算は「実数でも複素数でも計算の仕方・計算の法則は同じ」。平方根も、実数の範囲での計算に矛盾しない形で、複素数の範囲に拡張される。三角関数・逆三角関数についても同様(級数展開を考えると四則演算に帰着)。だから直観的に、これらの関数については、実関数として互換なら、複素関数としても互換のはず。この観点からは、(i) が複素関数の範囲でそのまま有効であること自体、当然だろう。

【4】 最後に、(iii)(i) の互換性について。sin 版のビエトの公式を使うと、(i) の3解をこう書ける:

sin 版の公式は、他の公式(sinh 版など)とは符号パターンが異なり「2カ所の符号」が一致(§4【6】参照)。以下では、説明の便宜上、2カ所とも を選択する。実関数として (i)(6.4) は互換。【3】同様、複素関数としても、(i)(6.4) は互換性を持つと考えられる。ここでは、(6.4)(iii) と互換であることだけを示す(全て正しければ、(6.4) を媒介に (i)(iii) は互換)

<例3>z3 + (32/3)z + (200/27) = 0 を再考する。N = −32/9 < 0, R = 100/27k = 0 に対する (iii) は、次の順序で計算される(S は計算途中の値)。

  1. G = R / (√N)3 = 0.552 427 172…
  2. μ = arsinh (−G) = −0.527 606 085…
  3. θ = μ/3 = −0.175 868 695…
  4. S = sinh θ = −0.176 776 695…
  5. z = (+2√N)S = −0.666 666 666… ……… (6.5)

このとき、ɡ = R / (√N)3 = (0.552 427 172…)i = Gi だが、この関係は次のように説明される(平方根については、全て主値を考えている)

ここで N = √P は実数。

注 複素数が絡む計算では「N の平方根の3乗」と「N3 の平方根」を混同してはいけない。複素数の範囲では (XY)a = XaYa も一般には不成立だが、上記のように指数が整数の場合には、掛け算の交換法則・結合法則を使って、この等式が成り立つことを簡単に確認できる:
(iN)3 = (iN) × (iN) × (iN)
= i × i × i × √N × √N × √N = i3 × (√N)3

さて、μ = arsinh (−G)sinh μ = −G同じ意味G, μ は実数)。その両辺を i 倍すると、左辺は i sinh μ = sin (μi)、右辺は Gi = −ɡ、それらが等しいので sin (μi) = −ɡ。単純にその逆算を考えると、μi = arcsin (−ɡ) となる。それを念頭に、(6.4) を使って k = 0 に対する解を計算すると、次のようになる(θ′,S などは、上記の θ, S などに対応する値)。

  1. η = arcsin (−ɡ) = μi = (−0.527 606 085…)i
  2. θ′ = η/3 = (−0.175 868 695…)i = θi
  3. S′ = sin θ′ = sin (θi) = i sinh θ = Si = (−0.176 776 695…)i
  4. z′ = (2√NS′ = i(2√NSi ……… (6.5*)

sin 版の符号設定による と、虚数 N を実数 P = √N に置き換えるときくくり出される i が合わさって、(6.5*) の係数部分に i が生じる。sin の値 S′ = Si にも i が含まれる。ii は打ち消し合って消滅、(6.5*) は、(iii) による解 (6.5) に等しい。

残りの2解について、k = ±1 のとき、(6.4)sin の部分は次の値に等しい。

「いとこの定理」i sin x = sinh (ix) の両辺を i 倍すると sin x = −i sinh (ix)。この式に x = θi ± 2π/3 を代入すると、右辺は i sinh (−θ ± 2πi/3)sinh は奇関数なので = i sinh (θ ∓ 2πi/3)sin (ix) = i sinh x に直接 x = θ ∓ 2πi/3 を代入しても同じ結果を得る。

(6.6) の右辺は「k = ∓1 のときの、(iii)sinh の値」の i 倍。つまり「k = ±1 に対する (6.4)sin の値」は「k = ∓1 に対する (iii)sinh の値」の i 倍。一方、(6.4)sin の係数 −2√N = −2iP は、(iii)sinh の係数 2√Pi 倍(これは (6.5*) で生じた i と同じ)。関数値の i 倍の違いと、係数の i 倍の違いが打ち消し合い、結局、(6.4) 経由でも、(iii) 経由と同じ解が得られる(解の順序は異なる)。

【5】 あれこれ双曲線関数を考えた末、最後は元の (i) に戻る。「一般解の公式」を求めてさまよった揚げ句、「スタート地点がゴールだった」と気付く…。この節の内容をきちんと扱うためには、複素逆三角関数の主値あたりから考える必要があるが、どうやら道はつながった。複素関数の範囲では (i) が汎用的公式になり、同様に (ii)(iii) なども、単体で汎用的公式になるのだろう。

複素関数は入力も出力も複素数(2次元的)。2次元から2次元へのマップであるそのグラフは4次元的。「おなじみの関数」と思っていたものの背後に、広大な地形が広がっている。ここまで来たからには、3次方程式自体も、実係数から複素係数に拡張するべきだろう。

JPEG画像
複素関数 cos の、2次元(複素平面の各点)から2次元(値)へのマップ。
値の「偏角」を色、「絶対値」を明るさで表現。
中央横の赤・水色・赤・水色・赤のラインが、正負の間を振動する実変数の cos
中央縦の赤(常に正)のラインが、cos に純虚数を入れた場合(実変数の cosh に当たる)。

付録

3倍角の公式

【1】 余弦の3倍角の公式を導く。加法定理

と分解して、余弦の倍角の公式 cos 2x = cos2 x − sin2 x と、正弦の倍角の公式 sin 2x = 2 sin x cos x を使うと:

  1. cos 3x = (cos2 x − sin2 x) cos x − (2 sin x cos x) sin x
  2. = cos3 x − 3 sin2 x cos x   ← ☆
  3. = cos3 x − 3(1 − cos2 x) cos x   ピタゴラスの定理 (P1) より
  4. = 4 cos3 x − 3 cos x

同様に、正弦の3倍角の公式は:

  1. sin 3x = sin (2x + x) = sin 2x cos xcos 2x sin x
  2. = (2 sin x cos x) cos x + (cos2 x − sin2 x) sin x
  3. = 3 sin x cos2 x − sin3 x   ← ☆
  4. = 3 sin x (1 − sin2 x) − sin3 x   ピタゴラスの定理 (P2) より
  5. = 3 sin x − 4 sin3 x

【2】 オイラーの公式からも、同じ結果が得られる。オイラーの公式 (1.1) の両辺を 3 乗すると:

(7.1) の左辺に再びオイラーの公式を適用すると:

(7.1) の右辺と (7.2) の右辺は等しい:

(7.3) の左辺を展開して実部・虚部に分けると:

  1. cos3 x + 3 cos2 x (i sin x) + 3 cos x (i sin x)2 + (i sin x)3
  2. = (cos3 x − 3 cos x sin2 x) + i (3 cos2 x sin x − sin3 x) ……… (7.4)

(7.3) の右辺と (7.4) は等しい。両者の実部・虚部はそれぞれ一致:

この先は【1】の と同じ。

オイラーの公式と無関係に、(7.3) の形(ド・モアブル (de Moivre) の定理の一例)を直接導くこともできる。

【3】 双曲線関数の「3倍角」の公式については、三角関数の3倍角の公式から機械的に変換可能。念のため、定義から直接導いておく。まず:

(7.5) は、三角関数の基本公式 cos2 x + sin2 x = 1 の双曲線関数バージョン。その証明:

さて、(7.5) から:

一方、双曲線関数の加法定理 (2.5), (2.6) から、容易に「倍角」の公式を得る:

ゆえに:

  1. cosh 3x = cosh (2x + x) = cosh 2x cosh x + sinh 2x sinh x
  2. = (cosh2 x + sinh2 x) cosh x + (2 sinh x cosh x) sinh x   (7.6), (7.7) より
  3. = cosh3 x + 3 sinh2 x cosh x = cosh3 x + 3(cosh2 x − 1) cosh x   (7.5**) より
  4. = 4 cosh3 x − 3 cosh x   (2.8) を得た
  1. sinh 3x = sinh (2x + x) = sinh 2x cosh x + cosh 2x sinh x
  2. = (2 sinh x cosh x) cosh x + (cosh2 x + sinh2 x) sinh x   (7.7), (7.6) より
  3. = 3 cosh2 x sinh x + sinh3 x = 3(sinh2 x + 1) sinh x + sinh3 x   (7.5*) より
  4. = 4 sinh3 x + 3 sinh x   (2.7) を得た

(7.5), (7.6), (7.7) なども、対応する三角関数バージョンの公式と比べると「sin 2個または3個の積については、符号が変わる。他は、いとこに単純置換」というルールOsborn’s rule)に従っている。

ちなみに sin 4個・5個の積も符号が変わらず、6個の積は符号が変わる。これは i4 = 1, i5 = i, … による。このルールは、微積分の公式には適用できない。

付記

双曲線関数を使う3次方程式の解法について、前から興味があった。実数解の部分は「3次方程式の奥」で試した。今回「双曲線関数を使い、複素数の範囲で3解全てを得ること」が目標だったが、勢いで、予定より先の「ビエトの公式の複素化」まで踏み込むことができた。けれど、出発点に当たる「オイラーの公式」を厳密に扱うことが難しかった。その件は「微分を使わない直接証明」という予想外の方向に発展する。

ここまでくると3次方程式自体は、もはやどうでもいい気もするが、ビエトの公式の拡張は、複素関数を考えるための具体例を提供してくれた。

3次方程式と双曲線関数 ☆ 複素関数いじっちゃお > 作成メモ・更新履歴

(参考文献)


  1. 2018年12月31日: 作成開始。
  2. 2019年1月13日: §5 までざっと下書き。初め §5 では Holmes の解法を紹介していた。構成の都合上、解法を変えて書き直した。
  3. 2019年1月20日: 付録追加。オイラーの公式の証明を2種類収録(簡易証明、極座標+微分方程式)。
  4. 2019年1月23日: §6 追加。
  5. 2019年1月27日: アルファ版公開。オイラーの公式の証明について別記事、作成開始。
  6. 2019年2月3日: ベータ版公開。オイラーの公式の証明については別記事にまとめ、こちらには簡易証明だけ残した。
  7. 2019年2月10日: ベータ2版公開。例3の実数解のマイナスが抜けていたのを修正。
  8. 2019年2月14日: ベータ3版公開。Osborn’s rule(§2【6】【7】)の「内部的な符号」の説明が間違っていたのを修正。§6 を整理し直した。
  9. 2019年2月17日: 初版(v1)公開。Osborn’s rule の説明を簡単化。§6 も簡単化。
  10. 2019年2月18日: §4【4】末尾に注釈追加。
  11. 2019年2月24日: v2。数カ所、表現の微調整。特に§4【6】の表現の改善: 「同じ符号パターンを持ち(2カ所の符号が逆)」→「2カ所の符号が逆という特徴を共有」。
  12. 2019年3月10日: v3。読みやすくするための語順変更・言葉の追加(§1の最後のパラグラフなど計3カ所)。
  13. 2021年1月13日: v4。§4【4】の修正。「入力の虚部が i 変わるたび」→「入力が i 変わるたび」。
  14. 2021年1月31日: v5。sinh のもう一つの通称「シンチ」に言及。
  15. 2021年2月14日: v6。「N の平方根の3乗」と「N3 の平方根」の区別などについて、§6【4】に注を追加。
  16. 2021年2月19日: v7。sinh の別の読み方「サイン・エイチ」にも言及。

この記事のURL

パブリックドメイン



<メールアドレス>