メモ(数論3): グーデルマン関数とか

チラ裏 > 数論 > メモ3

「チラ裏」は、きちんとまとまった記事ではなく、断片的なメモです。誤字脱字・間違いがあるかもしれません。

***

2021-02-21 幾何学的アプローチの長所と短所

指数関数の定義として、教科書的には次の形が代表的だろう。数学オタクにとっては当たり前の見慣れた式だが、普通の人にとっては「理解不能」に近い怖い形かもしれない。

この他、無限級数を使った定義もよく見掛けるし、「微分して自分自身になる関数」という特徴付けを定義にすることもできるだろうが…。多くの人にとって、e は、訳の分からない数。使っているうちに何となくその性質・重要性がのみ込めてきて、やがて慣れてしまい「そういうものだ」と疑問を抱かなくなる。π にも、そういう面があるかもしれない。

それでいいのだろうか? 数学とは論理と直観のはず。「慣れれば分かる」などという、あやふやなことでいいわけない!

訳の分からないものを天下り的に導入して「使ってればそのうち分かるから」とか「とにかく公式を暗記しろ」とかいうアプローチでは、数学が「暗記科目」と誤解され、嫌われる原因になる。

一方、逆数のグラフの曲線の下の面積を考えることで、具体的に目に見える形で e を導入することは難しくない。対数の性質を「面積の足し算」として直観的に納得したり、e の値を自力で計算したり、幾何学的定義が「極限を使った普通の定義」と同値であることを確かめたりすることは、有意義だろう。

シェルバトフの薄い本を読んで、強い感銘を受けたが、同時に短所もあると感じた。第一に、幾何学的証明にありがちなことだが「確かにそうなる。でも、その巧妙な作図をどうやって思い付けばいいのか」。…天下り的な定義がない半面、天下り的な作図がある。第二に、数学的に厳密でない点。第三に「計算は正しいが、そのやり方は野暮ったい」という部分。第二・第三は「一般向けの啓蒙書」という性質上(きっちりした数学の専門書ではない)、当然かもしれない。むしろ「エレガント過ぎる」教科書より、多少泥くさくても実直・丁寧な方が、一般読者にはありがたい。

対数関数に関する限り、第一の問題はない。自然な作図、自然な問題意識から、スムーズに議論を展開できる。

幾何・解析のどちらにも長所があるのだから、両方のやり方をうまくミックスすれば、分かりやすく魅力的になる。今の普通のやり方は、何から何までやたらと解析的過ぎる。幾何学的方法をメインに、同じことを再構築するのは、何より自分自身の勉強になるし、興味ある読者にとって、何かの参考になるかもしれない。ただ…上記の第二の問題点は根深い。双曲回転が面積を保存することは、直観的には明らかだが、厳密に考えると面積の定義・積分の定義に依存することだろう。そうすると「幾何学的アプローチ」は、幾何のベールをまとった解析にすぎない。「フォーマルで厳密な数学」ではなく「それを直観的に理解するための、インフォーマルな作図」…というのがその本質かもしれない。

幾何学的アプローチだと、複素変数を考えることが(不可能ではないにせよ)困難。どっちにしても、どこかで解析にスイッチするしかない。でも、インフォーマルな「理解の補助」としても、同じ事柄を別方向から眺めて理解を深める点でも、幾何学的アプローチは、効果抜群だと思われる。

2021-02-11 目分量で面積を 対数法則の可視化(準備・前編)

青は y = 1/x のグラフ。「逆数のグラフ」ですが、45°回転させれば、黄緑を軸とする双曲線。というより、「逆数のグラフ」は双曲線。

PNG画像

曲線とx軸に挟まれた部分(色付き)の面積を目分量で。

x=1 から x=2 の範囲 水色の正方形が14マス。黄色の約3マスはちょん切れてますが、合わせて2マス分くらい。オレンジの2マスもちょん切れてますが、合わせて1マス分よりは大きい。目分量で 1.3~1.4 マス相当か…。合計17マス少々。

x=2 から x=4 の範囲 黄緑がほぼ13マス(角が微妙に欠けてるが…)。黄色は合わせて1マス分より微妙に大きい感じ。…ここまでで、計14マス。さて、オレンジの6マスは全部ちょん切れてますが、6連続オレンジの左端と右端、左から2番目と右から2番目…というふうにペアにすると、どのペアも二つで1マス分くらい。なので、このオレンジは計3マス相当。…ここまでで、計17マス。残るはピンクですが、目分量で 0.3~0.4マスくらいの面積。…やっぱり合計17マス少々。

25マスで面積1なので、どちらの面積もざっと 17.5/25 = 0.7 くらい。x = A から y = B までの(A ≤ B)曲線の下の面積は、A, B の値と関係なく、A と B の比によって決まる(上の例では、どちらも A:B = 1:2)。単純だけど、面白い現象。例えば x=0.8 から x=1.6 の区間でも、x=1.2 から x=2.4 の区間でも、数えてみると面積は17マス少々。

証明も大事だけど、目分量で感覚をつかむのも悪くないでしょう…。

2021-02-13 面積が同じ訳 対数法則の可視化(準備・後編)

曲線は y = 1/x のグラフ。前回、曲線下の x=1 から x=2 の領域と、x=2 から x=4 の領域が、どちらも17マス少々であることを観察した。升目を数えて目分量で(笑)。

PNG画像

PQBA と QRCB の面積が等しい理由は、単純(説明の都合上、前回とは色分けを変えています)。

まず水色と黄緑が同じ面積なのは明白。水色→黄緑の変換は、幅を2倍にして高さを1/2倍にしている。一般に、図形の幅を k 倍、高さを 1/k 倍にしても、面積は変わらない。

同じ理由から、左側のグレーの領域と右側のグレーの領域は面積が同じ。左側のピンクの領域と右側のピンクの領域も面積は同じ。

縦を半分に圧縮したら面積は半分になるけど、その後で横を2倍に引き伸ばしたら面積は2倍に増えて、トータルではプラマイゼロでしょ?

だって、それが面積の定義(積分の性質)だもん。

要するに、座標 (x, y) を座標 (kx, y/k) に移す変換(双曲回転)では、図形の面積は不変。「回転」と呼ぶ理由は、双曲線上の弧 PQ が弧 QR に「滑り台のようにスライド」するから。(この例では、高さが半分・幅が2倍になる変換なので、Q の移動先 R は x=3 ではなく x=4。)

…この話の進め方は、シェルバトフの受け売り。シェルバトフは、最初にこの種の変換を定義して、その基本的性質を確認してから、それをツールに双曲線関数・対数関数・指数関数を説明する。

例えば、上記の画像では、面積1の正方形が25マスのグリッドになっている…。x=1 から 2 までで色付きの面積は17マス少々、x=3 までで27マスくらい。その間のどこかで、ちょうど25マス分(つまり面積1)になる地点がある。目分量でも 2.6 と 2.8 の間であることが分かる。

「半径1の円の面積を π と定義する」ように「上記の曲線下の色付き面積が1になるときのxを e と定義する」。それは 1/x の積分を使って e を定義しただけで、数学的には何でもないことだが、感覚の問題として「この長さが e ですよ」と目に見えるのがいい。

シェルバトフの本に書かれている内容は、事実としては当たり前のことが多い。e が約2.7であることを知って、驚く人はあまりいないだろう。けれど、それらの事実を結び付ける話の進め方が面白い。特に圧巻なのは、cosh t のようなものを「幾何学的に」定義して、それが (et + e−t)/2 であることをシンプルな作図で導いてしまうところ。よくこんな作図を思い付くなぁ…

ところで「○○では、コンピューターは人間にかなわない」ということが、繰り返し言われてきた(○○=チェス、将棋、囲碁、会話、翻訳、芸術など)。しかし、だんだんそうも言っていられない状況になってきた。

このままAIが進化を続けると、そのうち数学の研究でも「人間のプロの数学者が、コンピューターに勝てなくなる」のではないだろうか? 例えば、コンピューターがフェルマーの最終定理を「自力で」証明したり、もっとすごい定理を「自力で」発見したりするようになっても、原理的にはおかしくない。

2021-02-17 対数法則の可視化 シェルバトフの名著を読む (4)

引き続き、逆数のグラフ y = 1/x の曲線。前回、曲線下の x=1 から x=2 の領域と、x=2 から x=4 の領域が、等しい面積を持つ理由を考えた。「k を正の定数として、ある図形の幅を k 倍すれば面積が k 倍になり、その図形の高さを 1/k 倍すれば面積が 1/k 倍になるから、その両方を行えば、面積は最初のまま」という単純明快な理由だった。

PNG画像

x=1 から x=2 の領域(図の PQBA)の面積を M(1, 2) として、x=2 から x=4 の領域(QRCB)の面積を M(2, 4) とすると:
M(1, 2) = M(2, 4)
ここで M は Menseki という意味。一般に、曲線下の x=s から x=t の領域(s, t は s < t を満たす任意の正の数)の面積を M(s, t) とすると:
M(s, t) = M(2s, 2t)

理由は次の通り。まず、M(2s, 2t) の領域は、M(s, t) の領域と比べて、幅が2倍になっている。なぜなら 2t − 2s = 2(t − s)。

さて、領域の「上側の境界」は y = 1/x の曲線なので、M(s, t) の領域について、左端の高さ(つまりy座標)は 1/s、右端の高さは 1/t。同様に、M(2s, 2t) の領域について、左端の高さは 1/(2s)、右端の高さは 1/(2t)。これは、領域の高さが、左端でも右端でも 1/2 になっていることを意味する。そればかりか、M(s, t) 領域において s と t の間にある任意の数 s+d を考えると、x軸上において、(s+d, 0) は、領域の左下端 (s, 0) から距離 d の点。M(2s, 2t) 領域は幅が2倍になっているのだから、この点は、左下端 (2s, 0) から距離 2d の点 (2s + 2d, 0) に変換されている。それらの点での領域の高さを考えると、変換前は 1/(s+d)、変換後は 1/(2s+2d) = 1/(s+d) × 1/2。つまりその地点では、領域の高さが 1/2 倍されている。d は任意なので、変換前と変換後では、対応する場所は、どこもかしこも高さが1/2倍。

要するに、M(2s, 2t) 領域は、M(s, t) 領域と比べ、幅が2倍・高さが1/2倍に拡大・縮小されている。だから両者は等しい面積を持つ。上記の議論は、2 という数を 3 に置き換えても、そのまま成立する:
M(s, t) = M(3s, 3t)
一般に、任意の正の数 k について:
M(s, t) = M(ks, kt)   ……… ①

特に k = 1/s とすれば、M(s, t) は
M(s × 1/s, t × 1/s) = M(1, t/s)
に等しい。従って、任意の面積 M(s, t) の大きさは、常に左端が x=1 の領域の面積として表現可能。左端のx座標が 1 の領域の面積 M(1, z) を L(z) と書くことにすれば
M(s, t) = M(1, t/s) = L(t/s)
M(2, 4) = L(2)
M(1.2, 3.6) = L(3)
などとなって、L 表記の方がすっきりするし、面積の大小を容易に把握できる。

s, t は正で s < t という条件なので、1 < t/s であり、上記 L(z) の z は 1 より大きい数…ということになる。形式的に L(1) = M(1, 1) は「x=1 から x=1 までの面積」なので、領域の幅がゼロの場合の面積。従って、面積ゼロ、つまり L(1) = 0 という定義を追加するのは、自然だろう。同様に考えると、L(0.9) = M(1, 0.9) などは幅が −0.1 なので「負の面積」と解釈可能だが、ここでは話を簡単にするため「L(z) の z は 1以上」と限定し、面積 L(z) は負ではないとしておく。

さて、重大なのは、1以上の任意の2数 a, b について、L(a) + L(b) = L(ab) が成り立つこと。

具体例として、a = 1.4, b = 2 のケースを考えてみよう。L(1.4) = M(1, 1.4) であり L(2) = M(1, 2) だが、①により後者は M(1.4, 2.8) に等しい(①において k=1.4 とした)。すると、L(1.4) + L(2) は、面積 M(1, 1.4) と面積 M(1.4, 2.8) の和に等しいのだが、これは「逆数のグラフの曲線」の下の面積について、x=1 から 1.4 の領域(下図の水色)と x=1.4 から 2.8 の領域(下図の黄緑)を足し合わせることを意味する。結果は x=1 から 2.8 の領域の面積に他ならない。

PNG画像

すなわち:
L(1.4) + L(2) = M(1, 1.4) + M(1, 2)
= M(1, 1.4) + M(1 × 1.4, 2 × 1.4) = M(1, 1.4) + M(1.4, 2.8) = M(1, 2.8) = L(2.8)

一般に:
L(a) + L(b) = M(1, a) + M(1, b)
= M(1, a) + M(1 × a, b × a) = M(1, a) + M(a, ab) = M(1, ab) = L(ab)

この L(a) + L(b) = L(ab) という性質は、「対数法則」とか「対数の基本性質」と呼ばれるものの一つ。教科書では往々にして e が天下り的に定義され、読者から見ると「机上の空論」のような議論が展開される…。対照的に、上記のように面積の足し算と解釈すると、エレガントではないかもしれないが、明確なイメージを持つことができ、どうしてそうなるのか実感できるだろう。…私たちはまだ L(x) が loge x と同じであることを示したわけではないが、これから、シェルバトフのアイデアを基に、その方向へと進んでいく。e の意味も可視化し、教科書にあるような e = limn→∞ (1+1/n)n の意味も明らかにしたい。「数学は論理。形式的・公理論的につじつまが合っていればそれで十分」という考えの人にとっては、不必要な回り道かもしれない。「数学は暗記。公式とパターンを覚えればいい」などという人は論外。一方、「厳密な論理性が必要だが、それだけでは十分でない。直観的イメージも重要」という考えの人、「既に知っている定義・定理でも、その定理を定義として、逆に定義だったものを定理として導くことは、必ずしも無駄な回り道ではない」という考えの人にとっては、多少の興味を引く題材かもしれない。(つづく)


以下はちょっと別の話題です…。

2021-02-24 船乗りのロマン メルカトル図法とセックたん

多くの方は、メルカトルが、新しい種類の地図を考えたことをご存じだろう。「行きたい場所が、現在地から見て地図上で x° の方角なら、方位磁針を使って x° の方角に真っすぐ進めばいい」…メルカトル図法は、この単純で便利な性質を持つ。

メルカトル図法には sec x と ∫ sec x dx が絡んでくるのだが、当時の人々は、まだ微積分が発見されてないのに、この計算をやっていた! それだけでも興味深い。

∫ sec x dx なんて、大抵の人にとって「無味乾燥な計算問題」だろうが、その裏にはドラマがあった。地図上の方向・計算上の距離と、実際の方向・距離がずれてたら、海上で迷子になったり食糧が足りなくなったりして、生死に関わる。この積分には、船乗りの命が懸かっていた…。

そのことを読み物として、まとめたものがこちら:
An Application of Geography to Mathematics: History of the Integral of the Secant
https://www.maa.org/sites/default/files/0025570x15087.di021115.02p0115x.pdf

どうして sec が関係するのか、簡単な図解を交えて、4ページ少々で紹介。当時の雰囲気・歴史的コンテキストを垣間見ることができ、結構ワクワクする。∫ sec x dx に愛着が湧く。

好奇心を感じた方は、上記を拡充した次の文献もどうぞ。
ERIC ED214787: UMAP Modules-Units 203-211, 215-216, 231-232.
PDF版  https://archive.org/download/ERIC_ED214787/ERIC_ED214787.pdf
DjVu版  https://archive.org/download/ERIC_ED214787/ERIC_ED214787.djvu
スキャンの53ページ目(※冊子に印刷されているページ番号ではない)から Mercator’s World Map and the Calculus というテキストがあって、約40ページにわたって、多くの図を交えて丁寧な説明がなされている。

なぜメルカトル図法が船乗りにとって便利なのか。一定間隔の緯度を地図上ではだんだん広くなるように描かなければならない理由。その拡大率が緯度 φ に対して sec φ になる理由。水平方向の幅もそれに比例して拡大しなければならない理由(だからグリーンランドが地図上でやけに大きく見える)。この地図上での距離は、sec の積分になること。何種類かの計算方法。簡単に、それを級数でも表現できること。

あいにく2番目の資料はノイズが多く、スキャンがぶれていて読みにくい箇所がある(1番目の資料は鮮明)。

「超お薦め」というほどではないが、興味を感じたら、のぞいてみてください。少なくとも、機械的に計算法だけ暗記するより、モチベーションが湧くでしょう。「級数で表現」の部分は特に面白いので、次回このコーナーで紹介しますね!

2021-02-25 メルカトルの地図とウォリスの級数 海の「アナログGPS」

y = sec x の積分は、今では「ただの面倒な計算」だが、大航海時代には人命に関わる重大問題だった。

sec x = 1 / cos x = cos x / cos2 x  ………①
= cos x / (1 − sin2 x)  ………②
= cos x / [(1 + sin x)(1 − sin x)]  ………③

①で分母分子に cos x を掛けているのは、2乗を作って②から③の形にして、部分分数分解へ持ち込むため。ここまでは味気ない式変形だが、ここからは、英国の John Wallis が1685年に発表した面白い計算法を紹介したい。

x が 0 以上 π/2 未満という条件を付ける。②が絶対値1未満の正の数であることに注意する。等比級数の公式によると:
  |a| < 1 ならば 1 + a + a2 + a3 + … = 1 / (1 − a)  ………④

a = sin2 x と置くと 1 / (1 − sin2 x) = 1 / (1 − a) となり、②は [1 / (1 − a)] cos x。④を逆向きに適用すると:
sec x = [1 / (1 − a)] cos x = (1 + a + a2 + a3 + …) cos x
= [1 + (sin2 x) + (sin2 x)2 + (sin2 x)3 + …] cos x
= cos x + sin2 x cos x + sin4 x cos x + sin6 x cos x + …  ………⑤

暗算できる簡単な微分 (sin x)′ = cos x, (sin3 x)′ = 3 sin2 x cos x, (sin5 x)′ = 5 sin4 x cos x, (sin7 x)′ = 7 sin6 x cos x, … を逆向きに使うと、⑤を容易に積分できる:
∫ sec x dx = sin x + sin3 x / 3 + sin5 x / 5 + sin7 x / 7 + … + C

C は積分定数。積分区間を x=0 から x=θ までとすると(0 ≤ θ < π/2):

F(θ) = 0θ sec x dx = sin θ + (sin3 θ) / 3 + (sin5 θ) / 5 + (sin7 θ) / 7 + …

何ときれいな式でしょう!

PNG画像

<例1> θ = π/6 とすると sin θ = 1/2。大ざっぱな話として、最初の3項だけを考えると:
F(π/6) ≈ 1/2 + (1/2)3 / 3 + (1/2)5 / 5 = 263/480 = 0.547…

原始関数経由で描いたグラフ(図の赤い曲線。青い曲線は y = sec θ)と見比べると、確かに横座標が θ = π/6 のとき、赤い曲線の縦座標は 0.5 くらいに見える。ちなみに正確な値は 0.54930…。

π/6 = 0.523… なので、メルカトル図法の地図では、赤道(θ = 0)から北緯30°(θ = π/6)までの長さが、正しい縮尺より5%くらい長めになる。角度を正確に表示するため、距離表示の正確さを犠牲にした。でも、上記の積分で航路の長さを補正すれば、船乗りたちは迷子にならず、正しい航海計画を立てられる。sec とその積分は「手で計算するGPS」だった。

<例2> グラフの横軸 5π/12 において、赤い曲線の縦座標がちょうど2くらい(2より微妙に上)なのが目を引く。θ = 5π/12 とすると s = sin θ = 1/(√6 − √2) であり:
F(5π/12) ≈ s + s3/3 + s5/5 + s7/7 = 1.546…
いかん、約2になるはずなのに、収束が遅そうだ!
s + s3/3 + s5/5 + s7/7 + s9/9 = 1.627…
s + s3/3 + s5/5 + … + s11/11 = 1.689…
早送りしましょう。
s + s3/3 + s5/5 + … + s25/25 = 1.897…
25乗まで足しても収束する気配がない。
s + s3/3 + s5/5 + … + s53/53 = 1.998…
s + s3/3 + s5/5 + … + s55/55 = 2.001…
とりあえず、2を超えたが、先は長そう。
s + s3/3 + s5/5 + … + s101/101 = 2.02425…
s + s3/3 + s5/5 + … + s201/201 = 2.02753…
s + s3/3 + s5/5 + … + s301/301 = 2.02758…
s + s3/3 + s5/5 + … + s401/401 = 2.02758…

さすがの John Wallis も401乗までは足さなかっただろう。③を真面目に積分した方が手っ取り早いのだが、これはこれで楽しい。効率はともかく、sinの表だけ持ってれば手動で計算できるので、当時の人にとっても便利だったのかもしれない。

上記の値を 5π/12 = 1.30899… と比べると、メルカトル図法の赤道→北緯75°(θ = 5π/12)の距離は、約1.55倍に表示される(正しい縮尺より5割以上長い)。北緯75°地点での「地図上の距離の拡大率」は、sec θ = √6 + √2 = 3.86…。グラフの青線からも 3.9 に近いことが読み取れる。この高緯度では距離が約4倍に誇張され、赤道から通算した「平均拡大率」だと約1.55倍。ちゃんと補正しないと、まともな旅行計画が立てられない。それでも「メルカトル・ナビ」は、目的地への正確な方向を示してくれる強い味方。GPSの電波を受信する代わりに、方位磁針で地球の磁場を受信しながら、船乗りたちは大海原を進んでいった。星座の位置を調べて、現在位置を確認しつつ…。現代の航法から見ると原始的だが、ロマンチックな感じもする。

この種の世界地図ではグリーンランドが巨大に見えるが、「北海道は大きい」というイメージにも、部分的には、緯度が高いことによる「地図上の拡大効果」が関係しているのかもしれない(本当に大きいけれど、メルカトル図法では、大きさがさらに誇張される)。

参考文献: Tuchinsky (1978), Mercator’s World Map and the Calculus, 第5節

2021-02-26 メルカトルの描いた日本(1569年) このナビは当てにならん!

せっかくなので元祖メルカトル図法の地図を見てみた。
File:Mercator_1569_world_map_sheet_12.PNG

JPEG画像

朝鮮半島の出っ張りがないことを別にすれば、アジア大陸の輪郭線は、結構、雰囲気が出てる。日本列島は「東北から南西に向かって島がいろいろある・東西の幅より南北の広がりの方が大きい」程度には認識されている。

日本海(?)の部分のキャプション…
Magnus ſinus Ptol: Chrise Plin: hodie
mare C?? ? G?? regno (quod est Mangi) sic a
Japanitis appellato
《プトレマイオスのいう「大きな湾」、プリニウスのいう「クリセ」、今日のG??王国?C??の海、この王国とはマンギ?のことだが、日本人たちにはこう呼ばれる》

??は、リンク先のスキャンの解像度が低くて文字が読み取れない部分。mare C?? は「シナ海」かもしれない。Mangi は中国の明(みん)だと思われる。日本語名にまで言及しているのは驚きだが、要領を得ない。

ばかでかい本州(?)のキャプション…
Japan [d]i[c]ta Zi[pan?]
gri a M Paul[o] Venet[o],
ol[im?] Chrise
《ヤパン。ベネチアのM.パウルス(=マルコ・ポーロ)にジパン・グリと言われた。かつてのクリセ》

「日本」が女性扱いされている。ロシア語では現在も女性、イタリア語やフランス語では男性名詞。どうして?

メルカトルの地図システムは、方位を正確に表示できる画期的なシステムだった。けれど、入力されてる実際のデータは、結構いいかげんだったことが分かる。例えるなら、優秀な3DCGレンダラーを開発したまでは良かったが、入力されたオブジェクトの作画に問題が…。でもメルカトルさん、悲しまないで。あなたのアルゴリズムは、今でも海図の標準、ネットの地図としても世界中で使われてますよ!

2021-03-01 グーデルマン関数の可視化 円と双曲線 虹の懸け橋

1. cos θ の逆数 1 / cos θ を sec θ と書く(sec は secant の略)。cos θ が正なら sec θ も正。

PNG画像

図のように(クリックで拡大)、単位円 x2 + y2 = 1 上の点 P を考える。三角関数の基礎によれば、P の座標は (cos θ, sin θ)、AQ の長さは tan θ。これは点 Q のy座標に当たる:
  y = tan θ  (☆)

恒等式 cos2 θ + sin2 θ = 1 の両辺を cos2 θ で割ると:
  1 + tan2 θ = sec2 θ  (☆☆)

さて、θ が −π/2 < θ < π/2 の範囲を動くとき、Q は黄緑の縦線上を動くが、「Q とy座標が等しい」点 S が、双曲線 x2 − y2 = 1 の右の枝(青い曲線)の上にも存在する。この点 S のx座標は 1 以上の正の数で、
  x2 − y2 = 1 つまり
  x2 = 1 + y2 つまり x = 1 + y2
を満たす。(☆)(☆☆)を使うと:
  x = 1 + tan2 θ = sec2 θ = sec θ  (☆☆☆)

考えている範囲では sec θ は正の数なので、上記のように、単純に根号を外していい。

従って、双曲線 x2 − y2 = 1 の右の枝の上にある任意の点 S は、何らかの角度 θ を使って (sec θ, tan θ) と表される。ちなみに OQ の長さは sec θ なので、図の点 B は OQ を半径とする円上にある(図解)。

θ が −π/2 < θ < π/2 の範囲を動くとき、Q は黄緑の縦線上の全範囲を動き、それに対応して S は青い双曲線上の全範囲を動く。

一方、双曲角 t(それは水色の領域 SOA の面積の2倍に等しい)を使うと、点 S は (cosh t, sinh t) とも表される(水色の領域がx軸より下になる場合、その面積を負、つまり t を負とする)。

双曲角 t は、普通の意味での ∠SOA とは意味が異なる。普通の意味での ∠SOA 自体、θ = ∠QOA とは異なる角度。では θ と t は、どういう関係にあるのか? 点 S の座標を (sec θ, tan θ) と書くことも (cosh t, sinh t) と書くこともでき、それらは同じ値なのだから:
  sec θ = cosh t   【ア】
  tan θ = sinh t   【イ】

【イ】を使うと、θ の値を定めれば、自動的に t の値が定まる。逆に、t を定めれば θ が定まる。例えば【イ】の両辺の arctan を考えると:
  θ = arctan (sinh t)   【ウ】

これによって、θ を t の関数 f(t) = arctan (sinh t) と考えることができる(グーデルマン関数と呼ばれる)。

【ア】を使ってもほぼ同様だが、【ア】は S のx座標なので常に正になり、それだけでは θ ないし t の正負を区別できない。【イ】は S のy座標なので θ と t が1対1対応(一方が正なら他方も正、一方が負なら他方も負)。だから、とりあえず【イ】を使うのが便利。

2. 上記の関数 f は、sec の原始関数と関係している。自分の目で確かめてみよう。上の図では t = 1、つまり水色の面積は 1/2。このとき AQ の長さ(言い換えれば S のy座標)が 1 より少し大きいのは作図から明白。すなわち θ は π/4 = 45° より少し大きい。もし仮に θ = π/3 = 60° なら AQ = tan θ = √3 = 1.732… だが、図の AQ は、1.732… よりはだいぶ小さい。45° より少し大きいが、60° よりだいぶ小さいのだから、ざっと 50° くらいだろう。

さて、sec の原始関数のグラフ(下図の赤い曲線)を見ると、確かに縦座標が 1 のとき、横座標は π/4 より少し大きい。

PNG画像

グラフの縦線の間隔は π/12。一方、上記の目分量による 50° = 50π/180 = 5π/18 は π/12 を単位とすると 10/3 = 3.333… に当たる(5π/18 ÷ π/12 より)。縦座標が 1 の場所の赤曲線をじっくり見ると、確かに横座標 3.3 × π/12 くらい。50° というのは目分量なので誤差はあるが、「t = 1 のとき θ ≈ 3.3π/12」という対応は、sec の原始関数のグラフとよく一致している。…グーデルマン関数について、少し具体的な感触が得られた。

正確な計算によると【ウ】から
  θ = arctan (sinh 1) = arctan 1.1752011… = 0.8657694… = 3.3069958… × π/12
この θ に対して
  sec θ + tan θ = 2.7182818… = e
なので、教科書的な sec の原始関数を使っても:
  log | sec θ + tan θ | = log e = 1

事実、上記の角度 θ と双曲角 t = 1 は対応していて、その対応関係は sec の原始関数で表される(証明は次回)。

3. これを考えるメリットは大きい:

いくらメリットが大きいからといって、いきなりグーデルマン関数を持ち出すと、それ自体が天下り的に思える。上記の作図はこの欠点を補い、グーデルマン関数の意味を可視化したもの。アイデアの一部は The Weird World of the Gudermannian に基づく。内容を簡単化し、半径 OQ の円を考えることで OB = sec θ をイメージしやすくした。

2021-03-03 ∫sec x dx グーデルマニアンの威力

sec x つまり 1 / cos x の積分は、いろいろな形で書き表されるものの、伝統的・教科書的な方法では、どれもこれも場当たり的・天下り的だった。グーデルマン関数の立場から眺めると、全てが明快に整理される。必要なのは、微積の初歩と好奇心だけ。

4. 前回見たように、双曲線上の任意の点 S は、(sec θ, tan θ) と (cosh t, sinh t) の2通りに媒介変数表示される。もちろん、どちらも同一の点の別表記にすぎないので:
  sec θ = cosh t  【カ】
  tan θ = sinh t  【キ】

特に【キ】では、t と θ が1対1に対応する(双射)。そこで【キ】の両辺の arctan を取って、θ を t の関数 θ = f(t) と考えよう:
  θ = arctan (sinh t)  【ク】
定義域は −∞ < t < ∞。arctan の値域は、通常の主値 −π/2 < θ < π/2 とする。

【キ】の両辺の arsinh を取れば、【ク】の逆関数 t = f−1(θ) を考えることもできる:
  t = arsinh (tan θ)  【ケ】

【ケ】の意味は、前回の作図から一目瞭然。θ が上記の範囲(±90°)を動くとき、黄緑の点 Q が縦線上を自在に動く。それに対応して、青い点 S が双曲線上を動き、水色の面積の半分に当たる t が定まる。イメージの分かりやすさがいい。

以下で見るように、【ケ】の導関数は sec θ、従って【ケ】は sec θ の原始関数。ただし、今のところ −π/2 < θ < π/2 の範囲に限定している。

5. 双曲線関数の解析的な定義は cosh t = (et + e−t)/2, sinh t = (et − e−t)/2、従って:
  (sinh t)′ = cosh t, (cosh t)′ = sinh t  【サ】
  cosh2 t − sinh2 t = 1, 1 + sinh2 t = cosh2 t  【シ】

【サ】は (et)′ = et, (e−t)′ = −e−t による。【シ】が成り立つのは当然といえば当然だが(cosh t と sinh t は 双曲線 x2 − y2 = 1 の x と y なので)、定義からも容易に確認可能

y = sinh t = (et − e−t)/2 の逆関数を t = arsinh y と書く。A = et と置くと:
  y = (A − A−1)/2
  両辺を 2A 倍して 2yA = A2 − 1, A2 − 2yA − 1 = 0
  2次方程式を解いて A = y ± y2 + 1
  つまり et = y + y2 + 1 (下記の理由で複号のマイナスを無視)
  両辺の対数を取って arsinh y = t = log (y + y2 + 1)  【ス】

t は実数なので A = et は正の実数、複号のマイナスは題意に適さない。

6. 【ケ】の導関数 dt / dθ が sec θ であることを示したい。直接計算してもいいのだが、逆関数の微分なので、まずは素直に逆関数の微分法で。【ク】を微分するには、arctan を微分する必要がある。次の関係*1を思い出そう:
  d(arctan x) / dx = 1 / (1 + x2)  【タ】

【ク】の θ = arctan (sinh t) を t について微分する:
  dθ / dt = [1 / (1 + sinh2 t)] cosh t (【タ】【サ】より)
  = (1 / cosh2 t) cosh t (【シ】より)
  つまり dθ / dt = 1 / cosh t   ……… (♪)
  従って dt / dθ = cosh t = sec θ (なぜなら【カ】)

レガシーな方法と比べると、あっけないほど簡単に、自然に結論が得られた。何よりいいこととして、「双曲線は (cosh t, sinh t) または (sec θ, tan θ) で表される」という認識さえあれば(前回の作図から、鮮明にイメージできる)、【カ】【キ】【ク】【ケ】は間違えようのない一本道。

*1 【タ】の証明 恒等式 cos2 y + sin2 y = 1 の両辺を cos2 y で割ると:
  1 + tan2 y = sec2 y
一方 (tan y)′ = (sin y / cos y)′ に商の微分法を適用すると:
  [cos y cos y − sin y (−sin y)] / cos2 y = 1 / cos2 y = sec2 y
  つまり f(y) = tan y の導関数は f′(y) = sec2 y
さて y = arctan x なら x = tan y。その両辺を y で微分すると dx/dy = sec2 y = 1 + tan2 y = 1 + x2。要するに dx/dy = 1 + x2 であり、dy/dx = d(arctan x) / dx はその逆数。

<参考> (♪)によると、グーデルマン関数【ク】は、1 / cosh t = sech t の原始関数。グーデルマン関数のフォーマルな定義
  gd u = 0u sech t dt
は、この事実に対応している(t = 0 のとき【ク】の値が 0 であることから、積分定数は 0)。ここで gd は2文字で一つの関数であり、Gudermannian と呼ばれるものだが、gd u を簡略に「グーデル・ユー」と読んで構わない。ちなみに cosh, sech も「コシュ、セチ」、それが嫌なら「コス・エイチ、セック・エイチ」などと、適当に読めばいい。いちいち「グーデルマニアン」「ハイパーボリック・コサイン」などと読んでもいいが、面倒くさい。

7. 【ケ】などを使って、sec θ の積分の伝統的表現(log | sec θ + tan θ | + C など)を導くことは、それほど難しくない。【ケ】は arsinh の対数表現【ス】において y = tan θ としたものなので:
  arsinh (tan θ) = log (tan θ + tan2 θ + 1) = log (tan θ + sec θ)

最後の等号については、前回の(☆☆☆)参照。…意味不明にも思える教科書の式 log | sec θ + tan θ | + C の正体は、【ケ】の arsinh (tan θ) を対数表現したものだった!

ただし、グーデルマン関数では θ の範囲が (−π/2, π/2) に制限されている。その範囲外のことは別途考える必要がある。

2021-03-04 ∫sec x dx (その2)

8. グーデルマン関数 θ = arctan (sinh t) の逆関数
  t = arsinh (tan θ) 【ナ】
は、sec θ の原始関数。それを確かめるため、前回は素直に、逆関数の微分法を使った。今回は【ナ】を直接 θ で微分してみる。

【ナ】を微分するには arsinh を微分しなければならない。y = arsinh x の導関数は何だろうか。x = sinh y, dx/dy = cosh y なので:
  dy/dx = 1 / cosh y 【ニ】
【ニ】の右辺を x の式にすれば、その答えが得られる。そのためには、分母の cosh y を sinh y の式に変換すればいい(sinh y = x だから)。
  恒等式 cosh2 y − sinh2 y = 1 から
  cosh2 y = 1 + sinh2 y
  cosh y = ±1 + sinh2 y
実変数の cosh は常に正なので、複号のプラスを選んで【ニ】に代入すると:
  dy/dx = 1 / 1 + sinh2 y = 1 / 1 + x2 【ヌ】

y = arsinh x の導関数は【ヌ】になることが分かった。

さっそく【ヌ】を使って本題の【ナ】を θ で微分する。(tan θ)′ = sec2 θ なので*2:
  (arsinh (tan θ))′ = (1 / 1 + tan2 θ) sec2 θ = (1 / sec2 θ) sec2 θ 【ネ】
考えている範囲 −π/2 < θ < π/2 では sec は正なので、符号の心配なく【ネ】の根号を外せる:
  = (1 / sec θ) sec2 θ = sec θ

【ナ】を微分すると sec θ になること、すなわち sec θ の原始関数が(積分定数を無視して)【ナ】であることが直接、示された!

このやり方の方が、前回の方法より少し簡単かもしれない。

*2 証明は、(tan θ)′ = (sin θ / cos θ)′ に商の微分法を適用するだけ。
  [cos θ cos θ − sin θ (−sin θ)] / cos2 θ = 1 / cos2 θ = sec2 θ

付記 グーデルマン関数の逆関数を使って sec の積分を考える方法は、比較的マイナーとはいえ、ネット上で検索すれば、有益な資料が見つかる。けれど【ナ】のバリエーションとして arcosh (sec θ) を採用しているテキストもある(例=ウィキペディアのロシア語版、Wolf Holzmann のPDFファイル)。arcosh の主値は負の値を取れないので、arcosh を使うなら θ が負の場合、arcosh を −arcosh に置き換えるべきだろう。

<補足> 通常のグーデルマン関数では、値域が −π/2 < θ < π/2 に制限されている。その逆関数【ナ】の定義域も、当然その範囲。従って、今のところ、その範囲では sec θ の原始関数は【ナ】…としか言えない。その範囲をはみ出して、例えば π/2 をまたぐような区間で sec を積分することはできないので(θ = π/2 では sec θ は定義されない)、その意味では、この制限には何の実害もない。一方、不連続点をまたがない形で、上記範囲外の積分区間を選ぶことは可能であり、それについては別途考える必要がある。arsinh 表現の場合、θ が任意だと、本文の「符号の心配なく根号を外せる」が成り立たなくなり、符号の調整が必要。これは、上の「付記」とは別の問題。

***

2021-03-11 ∫sec x dx (その3)

9. −π/2 < θ < π/2 の範囲において t = sec θ の原始関数が t = arsinh (tan θ) であることを確かめた。sec は cos の逆数なので、三角関数の周期性から、前記の範囲に 2π の整数倍を加減した区間でも、同じことが成り立つ。ではそれ以外の区間、つまり (π/2, 3π/2) やそれと 2π の整数倍の差のあるゾーンではどうなるのだろうか。

PNG画像

ここまでは、図の ∠AOP = ∠AOQ を θ とし、−π/2 < θ < π/2 として、SB = QA = tan θ などを考えた。OB = OQ = sec θ なので、点 S の座標は (sec θ, tan θ) だった。

今回に限っては、π/2 < θ < 3π/2 の範囲の角度を考える。その例として、図の ∠AOK = ∠AOL を θ としよう。この場合、点 K のx座標 cos θ が負なので、その逆数 sec θ も負であり(その値は OR = OL の長さの絶対値にマイナスを付けたもの)、(☆☆☆)に当たる式
  x = 1 + tan2 θ = sec2 θ = sec θ
は、もはや成り立たない。

例えば sec θ = −2 のとき
sec2 θ = (−2)2 = 2 ≠ sec θ

ちなみに sec θ = −2 は cos θ = −1/2 つまり θ = 2π/3 ≈ 2.094 に当たる。

θ が第2象限の角なら tan θ も負(点 R のy座標に当たる)。

9.1 −sec θ が正なのだから、正しくは
  x = 1 + tan2 θ = sec2 θ = −sec θ 【ノ】
となり、S の座標は (−sec θ, −tan θ) となる…角度 θ が上記の範囲の場合には!

点 S の座標を (cosh t, sinh t) と書くこともできるので:
  −sec θ = cosh t 【ノア】
  −tan θ = sinh t 【ノイ】

この関係は θ が第3象限の角(S が第4象限の点)の場合にも成り立つ。けれど、以下では、便宜上、少し違う解釈を使う。

9.2 −π/2 < θ < π/2 の範囲外の θ をあえて扱う場合、それに対応する双曲線上の点として S (−sec θ, −tan θ) を考えるより、左図の T (sec θ, tan θ) を考えることも、ある意味、自然だろう。

PNG画像

座標 (sec θ, tan θ) は、sec θ の正負に応じて、双曲線の右の枝(青)・左の枝(赤)の任意の点を媒介変数表示できる。一方、座標 (cosh t, sinh t) については、cosh t が常に正なので、右の枝しか表すことができない。…この制約を取り払う一つの方法は、(cosh t, sinh t) を (±cosh t, sinh t) に変えること。ここで複号 ± は、sec θ が正ならプラス、sec θ が負ならマイナス。sec θ が正のとき σ = 1、sec θ が負のとき σ = −1 とすると:
  (sec θ, tan θ) = (σ cosh t, sinh t)

この場合、−π/2 < θ < π/2 の範囲外でも tan θ = sinh t が成り立つと仮定している。任意の θ に対して、t = arsinh (tan θ) をそのまま使って t の値を定義するなら、この仮定は満たされる。このように拡張された t は、普通の意味での双曲角ではないが、θ の関数には違いないので、幾何学的解釈はさておき、解析的に扱うことができる。

この考え方によると、【ナ】の t = arsinh (tan θ) が依然として成立しているので、計算上【ニ】【ヌ】【ネ】まではそっくりそのまま進める。ところが【ネ】の根号を外す部分で【ノ】の関係があるため:
  (arsinh (tan θ))′ = … = (1 / sec2 θ) sec2 θ
  = (1 / −sec θ) sec2 θ = −sec θ
両辺を −1 倍して:
  (−arsinh (tan θ))′ = sec θ

すなわち、sec θ < 0 の範囲では、arsinh (tan θ) の導関数は sec θ にならず、−arsinh (tan θ) の導関数が sec θ になる。言い換えると、−arsinh (tan θ) が sec θ の原始関数の一つの表現となる(積分定数省略)。

9.3 この −arsinh (tan θ) を対数関数表示してみよう。【ノ】に注意しつつ、7.と同様に考えると:
  −arsinh (tan θ) = −log (tan θ + tan2 θ + 1) = −log (tan θ − sec θ)
  = log [(tan θ − sec θ)−1] 【ノウ】
【ノウ】の [] 内を整理する:
  (tan θ − sec θ)−1 = 1 / (tan θ − sec θ)
  分母分子を cos θ 倍して = cos θ / (sin θ − 1)
  分母分子を sin θ + 1 倍して = cos θ (sin θ + 1) / (sin2 θ − 1)
  = cos θ (1 + sin θ) / (−cos2 θ) (なぜなら cos2 θ + sin2 θ = 1)
  = (1 + sin θ) / (−cos θ) = −sec θ − tan θ
これを【ノウ】の [] 内に戻すと:
  −arsinh (tan θ) = log (−sec θ − tan θ) 【ノエ】

次のようにした方が少し楽:
  1 / (tan θ − sec θ) = (tan θ + sec θ) / [(tan θ − sec θ)(tan θ + sec θ)]
  = (tan θ + sec θ) / (tan2 θ − sec2 θ)
  = (tan θ + sec θ) / (−1) (なぜなら tan2 θ + 1 = sec2 θ)
  = −tan θ − sec θ

ところで sec θ = 1 / cos θ は、cos θ = 0 だと定義されない。従って θ ≠ ±π/2, ±3π/2, … であり、その条件だと sin θ が −1 になることはなく、1 + sin θ は常に正。だから sec θ + tan θ = sec θ (1 + sin θ) は、sec θ が正なら正、sec θ が負なら負。

ここでは sec θ が負のケースを考えているのだから、sec θ + tan θ は。それと絶対値が同じで符号だけを変えた −(sec θ + tan θ) = −sec θ − tan θ は正。つまり【ノエ】の −sec θ − tan θ の部分は正の数。この正の数を「符号が反対の負の数」の絶対値として書き表すと:
  −sec θ − tan θ = | sec θ + tan θ |
すると【ノエ】は:
  −arsinh (tan θ) = log | sec θ + tan θ | 【ノオ】
これは、sec θ が負の場合の、その原始関数の一表現(積分定数省略)。

9.4 一方、sec θ が正の場合、その原始関数を
  arsinh (tan θ) = log (sec θ + tan θ)
と書けることは既に分かっている(積分定数省略)。上記の理由から、この場合、sec θ + tan θ は正なので、それを囲むように絶対値記号を付けても付けなくても、値は変わらない。【ノオ】の右辺と統一するため、あえて絶対値記号を付けると:
  log | sec θ + tan θ | 【ノカ】

sec θ の正負にかかわらず(言い換えれば sec θ が定義されるような任意の θ に対して)、【ノカ】は sec θ の原始関数。それに任意の定数を加えたものも、また同様。変数名を θ から x に変えると:
  sec x dx = log | sec x + tan x | + C 【ノキ】

【ノキ】は、任意の実数に対して成り立つ(ただし sec x が定義されないような x = ±π/2, ±3π/2, ±5π/2, … を除く)。

6.の方法について言うと、θ の範囲を限定しない場合には、
  「従って dt / dθ = cosh t = sec θ (なぜなら【カ】)」
という部分が必ずしも正しくない。cosh は常に正、sec は正または負なので、sec θ < 0 なら
  dt / dθ = cosh t = −sec θ
  つまり t = arsinh (tan θ) の導関数は −sec θ
  t = −arsinh (tan θ) の導関数は sec θ
となり、9.1と同じ結論が得られる。

***

2021-03-05 ∫sec x dx (その4)

10. −π/2 < θ < π/2 の範囲において t = sec θ の原始関数が
  t = arsinh (tan θ) 【A】
であることを確かめたが、それは
  sinh t = tan θ 【ハ】
  cosh t = sec θ 【ヒ】
の【ハ】を使ったものだった。【ヒ】の両辺の arcosh を取れば
  t = arcosh (sec θ) 【B】
とも書けるし、【ハ】を【ヒ】で辺々割れば
  tanh t = sin θ 【フ】
  t = artanh (sin θ) 【C】
とも書ける(【フ】の右辺は、tan θ / sec θ = (sin θ/cos θ) / (1/cos θ) = sin θ / 1 による)。

さらに、例えば【ハ】の両辺の逆数を考えれば
  csch t = cot θ
  t = arcsch (cot θ) 【D】
のような表現も可能だし、同様に【ヒ】【フ】の逆数から、次の式が生じる:
  t = arsech (cos θ) 【E】
  t = arcoth (csc θ) 【F】

これら6種類のどれも、本質的に同じ逆グーデルマン関数であり、どれも sec の原始関数を表している(表現の仕方によって、有効範囲は異なる)。前回の【A】は、最初の作図の点 S のy座標を利用したものだった。

【B】は点 S のx座標を利用したものだが、このx座標は常に正で(作図から一目瞭然…双曲線の右の枝を見ているのだから、当然そうなる)、θ の正負の情報が失われてしまう(0 ≤ θ < π/2 の範囲に限り、そのまま有効)。言い換えると、cosh は1対1の関数でないため、arcosh には主値の問題が付きまとう。不便そうなので後回しにして、今回は【C】を考えてみたい。

11. artanh の対数表現。y = tanh t = sinh t / cosh t = (et − e−t) / (et + e−t) について、A = et と置くと:
  y = (A − 1/A) / (A + 1/A) = (A2 − 1) / (A2 + 1)
  分母を払って y(A2 + 1) = A2 − 1, A2 − 1 = A2y + y
  A2(1 − y) = 1 + y
  A2 = (1 + y) / (1 − y)
y = tanh t の値域は (−1, 1) なので上記右辺は正、A = et も常に正、従って:
  A = et = [(1 + y) / (1 − y)]½
  t = log [(1 + y) / (1 − y)]½ = ½ log [(1 + y) / (1 − y)]

上の式が t = artanh y の対数表現。【C】は y = sin θ に当たる:
  t = artanh (sin θ) = ½ log [(1 + sin θ) / (1 − sin θ)] 【ヘ】

【A】経由で得られる
  log | sec θ + tan θ | 【ホ】
と比べると見掛けは異なるが、【ホ】【ヘ】は、それぞれ、グーデルマン関数の2通りの表記【A】【C】の対数表現に当たる(従って、どちらも sec θ の原始関数)。

【ヘ】の log の引数に絶対値記号を付けている資料もあるが、(1 + sin θ) / (1 − sin θ) は負にならないので、絶対値記号は(無害だが)必要ない。sec x の原始関数として【ヘ】右辺の形を導く「堅実」な方法については、18.参照。

実は【C】バージョン t = artanh (sin θ) は、そのままの形で −π/2 < θ < π/2 の範囲外でも有効…という素晴らしい性質を持つ。sec の原始関数の決定版といえるかもしれない。

12. 念のため【C】の導関数が sec θ であることを、直接的に確かめておこう。定義域 |x| < 1 において y = artanh x の導関数を得るため、まず x = tanh y を y について微分:
  dx/dy = (sinh y / cosh y)′ = (cosh y cosh y − sinh y sinh y) / cosh2 y
  = 1 / cosh2 y = 1 − tanh2 y
  (最後の等号は、恒等式 1 = cosh2 y − sinh2 y の両辺を cosh2 y で割ったもの)
  従って dy/dx = 1 / (1 − tanh2 y) = 1 / (1 − x2) ただし |x| < 1  【マ】

y = artanh x の導関数は【マ】になることが分かった。cos θ ≠ 0 つまり sec θ ≠ ±∞ なら | sin θ | < 1 であることに注意しつつ【マ】を使うと、【C】の導関数は:
  d[artanh (sin θ)] / dθ = [1 / (1 − sin2 θ)] cos θ
  = (1 / cos2 θ) cos θ = 1 / cos θ = sec θ 【ミ】

逆に言えば、sec θ を積分すると【C】になり、それを書き換えると【ヘ】になる(積分定数省略)。【ノ】では sec θ の符号が問題になったが、【ミ】は、cos θ の(従って sec θ の)符号と関係なく成立する。それが【C】バージョンの利点につながるのだろう。

【ミ】の微分を逆方向に進めると、次の積分計算になる。
  sec x = cos x / cos2 x = cos x / (1 − sin2 x)
  u = sin x と置くと du = cos x dx であり、sec x ≠ ±∞ なら |u| < 1 なので
  ∫sec x dx = ∫ [1 / (1 − u2)] du = artanh u + C = artanh (sin x) + C

2021-03-10 ∫sec x dx (その5) ガンサーの置換

13. cosh2 u − sinh2 u = 1 と sec2 θ − tan2 θ = 1 は、どちらも単位双曲線の媒介変数表示。そのことから、次の対応関係が生じる。θ の代わりに文字 x を使うと:
  sec x = cosh u 【あ】
  tan x = sinh u 【い】

実数の関数として sec は負になり得るが、cosh は常に正。【あ】には、潜在的に符号の問題がある。一方、tan と sinh は任意の実数値を取ることができ、一般論としては【い】を使う方が便利。以下でも【い】を出発点とする。今、x を u の関数と見て【い】の両辺を u で微分すると:
  (sec2 x)(dx / du) = cosh u 【う】
さて【い】を使うと:
  sec2 x = 1 + tan2 x = 1 + sinh2 u = cosh2 u 【え】
【え】の両辺の平方根を考えると、もし −π/2 < x < π/2 なら(より一般的に、もし sec x が正なら)、自動的に【あ】も成り立つ(つまり sec x と cosh u は等しい)。

その場合、【う】の左辺を sec x で割り、【う】の右辺をそれと等しい cosh u で割ると:
  (sec x)(dx / du) = 1 【お】
  sec x dx = 1 du 【か】

【か】から直ちに:
  sec x dx = 1 du = u + C 【き】

【き】の右辺を x の式にしたい。x と u の関係は【い】によって定義されているのだから、ベタな発想としては、【い】の両辺の arsinh を考えればいい:
  sec x dx = u + C = arsinh (tan x) + C 【く】

ある意味、sec を積分する最速の方法かもしれない(sec x > 0 という条件が付くが)。

別の発想として、
  cosh u + sinh u = (eu + e−u)/2 + (eu − e−u)/2 = eu
  log ( cosh u + sinh u ) = u 【け】
なので、【き】は…
  sec x dx = u + C = log ( cosh u + sinh u ) + C 【こ】
  【あ】【い】より = log ( sec x + tan x ) + C 【さ】

14. 説明。上記は、Gunther & Webb 著 Integration by trigonometric and imaginary substitution (pp. 34–35) に記されている方法を簡単化したもの。ウィキペディア韓国語版でも紹介されている。

上述のように、【お】以下の議論は、sec x が正の場合に限って成り立つ。この条件が付く原因は、【え】の平方根から【あ】を得るために、sec x が正と決め付けたこと。

x から u への変数変換の方法は明示的でないものの、【い】から
  u = arsinh (tan x)
が想定される。−π/2 < x < π/2 に限定すると、これはグーデルマン関数の一表現。逆変換【く】は、逆グーデルマン関数の一表現。

【さ】の log の引数にしばしば付加される絶対値記号は、上の議論では必要ない。sec x が正のとき、sec x + tan x = (sec x)(1 + sin x) は負にならないので。

15. 改善。「sec x が正」という条件を外すには、【え】の両辺の平方根を考えるとき【あ】ではなく
  sec x = ±cosh u = σ cosh u
とすればいい。ここで σ は sec x が正なら 1、sec x が負なら −1。【お】は sec x / du = σ となる。【き】に代わって:
  sec x dx = σ du = σu + C 【し】
σ = 1 の場合は最初と同じだが、σ = −1 つまり sec x dx = −u + C の場合、【け】と同様に:
  −cosh u + sinh u = −(eu + e−u)/2 + (eu − e−u)/2 = −e−u
  両辺を −1 倍して cosh u − sinh u = e−u
  log ( cosh u − sinh u ) = −u 【す】
σ = ±1 の両方のパターンを統合するため、cosh u − sinh u が正であることから、【す】をあえてこう書こう:
  log | −(cosh u − sinh u) | = log | −cosh u + sinh u | = −u
つまり σ = −1 の場合には:
  σu = −u = log | −cosh u + sinh u | = log | σ cosh u + sinh u |
一方、σ = 1 の場合、【け】に絶対値記号(あってもなくても値は同じ)をあえて付けると:
  σu = u = log ( cosh u + sinh u ) = log | σ cosh u + sinh u |
両者を統合して:
  sec x dx = σu + C = log | σ cosh u + sinh u | + C 【せ】
sec x = σ cosh u と仮定しているので、【い】と併せると:
  sec x dx = log | sec x + tan x | + C 【そ】

16. 観察。Gunther の置換は面白い。−π/2 < x < π/2 に限れば全てが正しい。半面、sec x が正という条件が明示されていない点は、混乱の原因になる。例えば【こ】を使って x=2 から 3 まで sec x を積分すると、次のように間違った値になる:
  u = ᵷ(x) = arsinh (tan x)
  log [ cosh (ᵷ(3)) + sinh (ᵷ(3)) ] − log [ cosh (ᵷ(2)) + sinh (ᵷ(2)) ] = 1.381384…
この区間では sec は負なので、順方向に積分すれば負の面積になるはず。上記の値は、絶対値は正しいものの、符号が逆!

この場合、log の部分を【す】の形にすれば(要するに正負両対応の【せ】を使えば)、正しい値が得られる:
  log [ cosh (ᵷ(3)) − sinh (ᵷ(3)) ] − log [ cosh (ᵷ(2)) − sinh (ᵷ(2)) ] = −1.381384…

双曲線関数による置換はエレガントだが、往々にして符号の見通しが悪い(三角関数でも起こり得る問題だが)。【さ】は「たまたま」実数全体で(sec が定義されないような x が含まれない限り)成り立つが、直前の式【こ】などは、sec が負の場合には不成立。【そ】のように考えるべきだろう。条件 −π/2 < x < π/2 を外したい場合、期待したほど切れ味が良くない。けれど、この置換そのものは、本質的なものに触れてる感じがする。

Integration by trigonometric… の著者たちは「三角関数と双曲線関数は似ているようで違う。記憶が混乱するので、代わりに複素三角関数を考えた方が有利」と主張している。その一方で「仮に三角法が幾何ではなく代数から生まれ発展したとすれば、双曲線関数の方がメインになっていたかもしれない。双曲線関数の方がシンプルで美しい」とも指摘している。

2021-03-12 ∫sec x dx (その6) 伝統的な方法

17. ある意味「標準的」な方法。
   [ f′(x) / f(x) ] dx = log |f(x)| + C
を用いる。この公式自体は有用だが、∫sec x dx に適用する場合、しばしばトリッキーなことが行われる。
  (sec x)′ = sec x tan x, (tan x)′ = sec2 x
に注意すると…

なぜなら (sec x)′ = (1 / cos x)′ = −(−sin x) / cos2 x = sin x / cos2 x
 = (1 / cos x)(sin x / cos x) = sec x tan x
(tan x)′ = (sin x / cos x)′ = (cos x cos x − sin x (−sin x)) / cos2 x = 1 / cos2 x = sec2 x

 sec x dx =  [sec x (tan x + sec x) / (sec x + tan x)] dx 【た】
=  [(sec x tan x + sec2 x) / (sec x + tan x)] dx
=  [(sec x + tan x)′ / (sec x + tan x)] dx = log | sec x + tan x | + C

【た】の行では sec x に (tan x + sec x) / (sec x + tan x) = 1 を掛けた。論理的には何も間違っていないが、極めて天下り的で、どうしてそうするのか納得がいかない。「結果的にそうすればうまくいく」というだけ。

この結果自体は、本質的には arsinh (tan x) に当たる(9.4【ノキ】参照)。

18. もう少し「まとも」な方法。部分分数分解に持ち込むもの。
  sec x = 1 / cos x = cos x / cos2 x 【ち】
  = cos x / (1 − sin2 x)
  = cos x / [(1 + sin x)(1 − sin x)] 【つ】

これも sec x に cos x / cos x = 1 を掛けている点は、少しトリッキーだが、このくらいは三角関数でよくあるパターンだし、部分分数分解に持ち込むには、分母が2次式以上で因数分解可能であることが前提。【ち】以下の流れを想定すると、コサインの2乗を作りたい、という一応明確な動機付けがある。この先は(少し長いが)ほぼ一本道の単純計算。まず【つ】を
  A / (1 + sin x) + B / (1 − sin x) 【て】
と分解できたと仮定して、A と B を決定しよう。普通に通分すると:
  A / (1 + sin x) + B / (1 − sin x)
  = A(1 − sin x) / [(1 + sin x)(1 − sin x)] + B(1 + sin x) / [(1 + sin x)(1 − sin x)]
  = (A − A sin x + B + B sin x) / [(1 + sin x)(1 − sin x)]
  = [A + B + (B − A) sin x] / [(1 + sin x)(1 − sin x)] 【と】
これが【つ】に等しいためには、B − A = 0 つまり A = B でなければならない(【つ】の分子に sin x などないのだから)。すなわち…
  cos x / [(1 + sin x)(1 − sin x)] = 2B / [(1 + sin x)(1 − sin x)]
…上の左辺は【つ】。右辺は【と】に A = B を代入したもの。両辺の分母は同じなので、分子の比較から:
  cos x = 2B, B = (cos x)/2
  A = B = (cos x)/2

これらを【て】に代入すると:
  [(cos x)/2] / (1 + sin x) + [(cos x)/2] / (1 − sin x)
  = ½[ cos x / (1 + sin x) + cos x / (1 − sin x) ] 【な】
【な】は【て】に等しく、【て】は【つ】に等しく、【つ】は sec x に等しいのだから…
   sec x dx =  {【な】の式} dx
  = ½{  [cos x / (1 + sin x)] dx +  [cos x / (1 − sin x)] dx }
  = ½( log | 1 + sin x | − log | 1 − sin x | ) + C 【に】

【に】を得るため、次の関係を使った:
 (1 + sin x)′ = cos x だから  [cos x / (1 + sin x)] dx =  [(1 + sin x)′ / (1 + sin x)] dx
 (1 − sin x)′ = −cos x だから  [cos x / (1 − sin x)] dx = − [(1 − sin x)′ / (1 − sin x)] dx

【に】では、一般公式に従って絶対値記号を使っているが、このケースでは 1 + sin x も 1 − sin x も負にならないので、絶対値記号の代わりに普通のかっこを使っても構わない。あえて絶対値記号を残したとすると、対数の性質から【に】は:
   sec x dx = ½ log ( | 1 + sin x | ÷ | 1 − sin x | ) + C
  絶対値の商は商の絶対値なので = ½ log | (1 + sin x) / (1 − sin x) | + C

でも、この絶対値記号はなくてもいい:
   sec x dx = ½ log [(1 + sin x) / (1 − sin x)] + C 【ぬ】

【ぬ】は、artanh (sin x) に当たる(11.参照)。次のように変形することも可能:
  = log [(1 + sin x) / (1 − sin x)]½ + C = log (1 + sin x) / (1 − sin x) + C 【ね】

19. 【ぬ】や【ね】は、17.のトリッキーな計算による log | sec x + tan x | + C と等価。これは、【ね】の根号を外せる…ということを暗示している。つまり根号内が何かの2乗になる…。そういう目で見ると、根号内の分数の分子・分母に 1 + sin x を掛ければいい(または 1 − sin x を掛ければいい)ということは、見当がつく。
  (1 + sin x) / (1 − sin x) = (1 + sin x)2 / (1 − sin x)(1 + sin x)
  = (1 + sin x)2 / (1 − sin2 x) = (1 + sin x)2 / cos2 x
その平方根…つまり【ね】の √ の部分…は ±(1 + sin x) / cos x と書けるが、その値は正でなければならない(【ね】の log の入力は、正の実数の平方根なので)。つまり:
  | (1 + sin x) / cos x | = | 1 / cos x + sin x / cos x | = | sec x + tan x | 【の】

sin の性質上(そして問題の性質上 cos x ≠ 0 つまり sin x ≠ ±1 なので)、【ね】の根号内は、もともと正。その平方根は正の実数に等しい。ところが x の値によっては cos x は負になり得る。その場合、正の平方根を選択するためには、±(1 + sin x) / cos x の複号でマイナスを選ぶ必要がある。要は、この値を常に正にしたいのだから、絶対値記号を付けておけばいい。【ぬ】で「あってもなくてもいい」とした絶対値記号とは、別の話である。

【ね】の根号の部分を【の】で置き換えると、17.と同じ形になる:
   sec x dx = log | sec x + tan x | + C

【ね】の根号内の分子・分母に、1 + sin x の代わりに 1 − sin x を掛けてもいい。
  (1 + sin x) / (1 − sin x) = (1 + sin x)(1 − sin x) / (1 − sin x)2
  = (1 − sin2 x) / (1 − sin x)2 = cos2 x / (1 − sin x)2
…となって根号を外せて、結果は | cos x / (1 − sin x) |。この場合、絶対値記号内の分子・分母に今度は 1 + sin x を掛けると:
  | [cos x (1 + sin x)] / [(1 − sin x)(1 + sin x)] | = … = | cos x (1 + sin x) / cos2 x |
少し遠回りになってしまったが、この先は【の】と同じ。

2021-03-14 ∫sec x dx (その6) 二人のメルカトル

20. 1640年ごろ、ヘンリー・ボンド(Henry Bond)という人は、海図用の数表と対数表を見比べて、メルカトル図法の「緯度xと縦座標の関係」が tan (45° + x/2) の対数と等しいことに気付いた。

当時、これが本当に等しいのかどうかが、重大視された。単なる数学の問題ではない。効率的な航海技術は国家的資産。全人類にとって福音となり得る(侵略や植民地化にも応用できる点は、微妙だが…)。ニコラウス・メルカトルという学者(メルカトル図法のメルカトルとは別人)は、1666年、「自分はこの問題の解決に向け、真剣に取り組むつもりである。等式の真偽について賭けをしてもいい」「今から2カ月以内に、最初に名乗り出て、この問題を解決した者には賞金を払う」と言っている(*)。

メルカトルの文章からは「上記の等式の真偽も重要だが、証明の手法そのものが、大きなインパクトを持つ」というニュアンスが読み取れる。そして「刻み幅をどんどん小さくして sec を数値積分すると…」みたいに、ほとんど自分で答えを言っている。「微積分の発見は、数学史上の不連続点」のようなイメージがあり、ライプニッツとニュートンの大げんかのせいで、この二人のどちらかが元祖なのだろうという印象を受けるが、実は時代の空気感として、多くの学者がうすうす同じことに気付きかけていた。

最初にまともな証明を発表したのは、ニュートンの先生、アイザック・バロー(1670年)。世界初の「部分分数分解を使った積分」だという。

Rickey & Tuchinsky: History of the Integral of the Secant (PDF) によると it is the earliest use of partial fractions in integration。具体的には、∫sec x dx (その6)の18.参照。…本質的にはそう解釈できるのかもしれないが、バローの実際の証明(*)は幾何学的で、この不定積分を双曲線下の面積に帰着させている。

21. 以下の計算法は、トリック系。ある意味ひねくれているが、ほんのり面白い。

万一何かの弾みで1666年にタイムスリップした場合、ニコラウス・メルカトルと賭けをすれば、これで賞金を受け取ることができる(笑)。ただし、ロンドンではペストが大流行、人口の何割かが亡くなった時期であり、おまけに大火災が発生するので、タイムマシンがあっても、この年のロンドンに行くのは考え物である。

sin θ の逆数、つまり 1 / sin θ のことを csc θ とか cosec θ と書く。sec θ の原始関数もそうだが、csc θ の原始関数も、log |f| の形で書ける。つまり csc θ を変形すれば、f′/f の形になるはず。言い換えれば、sin θ を変形して f/f′ の形にできればいい。

単体の sin θ なんて、変形しようにもあまり変形のしようがないが、まず思い付くのは = cos (π/2 − θ) でしょう。物は試し、加法定理で展開してみましょう:
  sin θ = cos (π/2 − θ) = cos π/2 cos θ + sin π/2 sin θ = sin θ

振り出しに戻ってしまった、駄目じゃん。次に思い付くのは、倍角の公式 sin 2α = 2 sin α cos α に 2α = θ をぶち込むことでしょう:
  sin (α+β) = sin α cos β + cos α sin β
  β = α とすると sin 2α = sin α cos α + cos α sin α = 2 sin α cos α
  つまり sin 2α = 2 sin α × cos α  【F1】

f/f′ という分数の形にしたいのだから、「何か」で割る必要がある。割り算するだけだと値が変わってしまうので、「何か」で割ると同時に、同じ「何か」を掛ける必要がある。そういう観点から【F1】右辺を凝視すると、前半を cos α で割って tan α を発生させつつ、後半に cos α を掛けて cos2 α = 1 / sec2 α を発生させる…というアイデアが浮かぶ。(tan α)′ = sec2 α なので、つじつまが合いそう…。
  sin 2α = 2 sin α / cos α × cos α cos α  【F2】
  sin 2α = 2 tan α × cos2 α = 2 tan α / sec2 α
予定通り α = θ/2 をぶち込むと:
  sin θ = 2 tan (θ/2) / sec2 (θ/2)  【F3】

【F3】右辺は、の形は f/f′ になっている:
  分母 = [2 tan (θ/2)]′ = 2 sec2 (θ/2) × 1/2 = sec2 (θ/2)

後は機械的計算。【F3】の両辺の逆数を考えると:
  1 / sin θ = sec2 (θ/2) / [2 tan (θ/2)]
  1 / sin θ = [2 tan (θ/2)]′ / [2 tan (θ/2)]  【F4】
ここでいきなり
   (1 / sin θ) dθ = log | 2 tan (θ/2) | + c  【F5】
とやってもいいのですが、まあ【F4】は 2 で約分できるので、とりあえず先に約分を…
  1 / sin θ = [tan (θ/2)]′ / [tan (θ/2)]
   (1 / sin θ) dθ = log | tan (θ/2) | + C  【F6】

もし【F5】に行った場合、対数法則から = log | tan (θ/2) | + log 2 + c として、log 2 + c をあらためて C と置けばいい。

22. 【F6】は csc θ = 1 / sin θ の不定積分(グラフ)。なかなかきれいな形だが、本題は sec x = 1 / cos x の不定積分だった。cos x = sin (π/2 + x) なので(※注)、【F6】に θ = π/2 + x を代入すれば、1 / cos x を積分したことになる:
   (1 / sin (π/2 + x)) dθ = log | tan ((π/2 + x)/2) | + C
   (1 / cos x) dx = log | tan (π/4 + x/2) | + C  【F7】

どさくさに紛れて dθ を dx に置き換えているが、θ = π/2 + x の両辺を x で微分すると dθ/dx = 1 なので、この dθ = dx は正当。

すてきな作図によって tan (π/4 + x/2) = sec x + tan x は確立しているので、【F7】は教科書的な「普通の形」とも等しい。ニコラウス・メルカトルとの賭けに勝つには【F7】の形が必要だった。

※注 なぜなら sin (π/2 + x) = sin (π/2) cos x + cos (π/2) sin x = 1 cos x + 0 sin x。「サインはコサインと同じ曲線で、位相が違うだけ。コサインの方が、入力値の 90° 分、先行している(先に極大になる)」ともいえるし、もっと端的に、単位円で sin (90° + α) をイメージしてから、その図を(頭の中で)時計回りに 90° 回転させると cos α の図になる。

cos x = sin (π/2 + x) の代わりに、cos x = sin (π/2 − x) を使ってもいい(余角のサインはコサイン)。その場合、上とほとんど同じだが dθ = −dx なので
   (1 / cos x) dx = −log | tan (π/4 − x/2) | + C  【F8】
となる。tan の加法定理と log (1/A) = −log A を使えば【F7】=【F8】を確認できる(詳細は次回)。

2021-03-15 ∫sec x dx (その7) tan (π/4+θ) tan (π/4−θ) = 1 の可視化

23. 図の黄緑の線の傾きは 45° = π/4、青い斜辺 OA の傾きは π/4 + θ、赤い斜辺 OC の傾き α は π/4 − θ。三角関数の基礎によると:
  AB = tan (π/4 + θ), QB = tan α = tan (π/4 − θ)  …… (*)

PNG画像

水色の直角三角形 △OQB と赤い直角三角形 △COD は相似、その △COD と青い直角三角形 △AOB は合同。従って、水色と青は相似。

水色の三角形の底辺と高さは 1 : tan α、青い三角形の対応する部分は AB : 1。これらは相似なので…
  1 : tan α = AB : 1
  AB tan α = 1
  AB = 1 / tan α  …… (**)

(**) に (*) を代入すると:
  tan (π/4 + θ) = 1 / tan (π/4 − θ)

この式は、一見、無味乾燥だが、「任意の θ について、tan (π/4 + θ) と tan (π/4 − θ) は互いに逆数」という意味を持つ。前回、2通りの積分によって次を得た(積分定数省略):
   sec x dx = log | tan (π/4 + x/2) | = −log | tan (π/4 − x/2) |

今回の観察から | tan (π/4 + x/2) | = |1| / | tan (π/4 − x/2) | = | tan (π/4 − x/2) |−1 なので(θ = x/2)、積分と無関係に、直接、次が示される:
  log | tan (π/4 + x/2) | = log | tan (π/4 − x/2) |−1 = −log | tan (π/4 − x/2) |

こんな作図をしなくても、tan の加法定理から同じ結論を出せる。でも、計算の意味が目に見える方が、イメージが湧きやすい。大ざっぱな話として、傾き45°の黄緑の線を軸に「左右対称」。

tan A の逆数 1 / tan A を cot A とも書く。この記法と使うと、割ときれいな式が得られる:
  tan (π/4 + θ) = cot (π/4 − θ), tan (π/4 − θ) = cot (π/4 + θ)
  cot (π/4 + θ) と cot (π/4 − θ) も互いに逆数

上の図の AB = CD の長さ(正確に言うと C の横座標)が cot α = cot (π/4 − θ)。

そして ∫sec x dx のバリエーションも、2種追加される(積分定数省略):
   sec x dx = log | cot (π/4 − x/2) | = −log | cot (π/4 + x/2) |

<参考> 計算による証明は次の通り。省力化のため S = sin α, s = sin β, C = cos α, c = cos β と書くと:
  sin (α + β) = Sc + Cs
  cos (α + β) = Cc − Ss
上を下で割ると(上の左辺÷下の左辺 = 上の右辺÷下の右辺、という意味):
  tan (α + β) = (Sc + Cs) / (Cc − Ss)
右辺の分子・分母を Cc で割ると:
  tan (α + β) = (Sc/Cc + Cs/Cc) / (1 − Ss/Cc)
  = [S/C + s/c] / [1 − (S/C)(s/c)] = (tan α + tan β) / (1 − tan α tan β)
α = π/4 と置くと tan α = 1 なので:
  tan (π/4 + β) = (1 + tan β) / (1 − tan β) 【天】
β を −β に置き換えると tan の符号が反対になるので:
  tan (π/4 − β) = (1 − tan β) / (1 + tan β) 【地】
【天】と【地】の積は 1 なので、これらは互いに逆数。「tan の符号が反対になる」の意味は:
  tan (−β) = −tan β
…この事実(tan が奇関数であること)は tan のグラフからも明らかだが、sin (−β) = −sin β を cos (−β) = cos β で割れば、容易に確認できる。

2021-03-19  ∫sec x dx (その8) 第7積分

24. sec x の原始関数は、非常に多くの形で表現される(以下、積分定数省略)。
  log | sec x + tan x |  … ①
  log | tan (π/4 + x/2) |  … ②
  ½ log [(1 + sin x) / (1 − sin x)]  … ③
の三つが代表的だが、双曲線関数の範囲では、より簡潔な第4の表現
  artanh (sin x)  … ④
が存在する。さらに、第5・第6の表現も存在する。
  arsinh (tan x) ただし −π/2 < x < π/2  … ⑤
  arcosh (sec x) ただし 0 ≤ x < π/2  … ⑥

③は、恒等式
  artanh y = ½ log {(1 + y) / (1 − y)}  (ここで −1 < y < 1)
によって(11.参照)、④と結び付いている。上の式の両辺を2倍すると:
  2 artanh y = log {(1 + y) / (1 − y)}  … (*)

tan の加法定理を使い、②の絶対値記号内(それを T としよう)を展開すると:
  T = [1 + tan (x/2)] / [1 − tan (x/2)]
もし T > 0 なら
  ② = log |T| = log T = log {[1 + tan (x/2)] / [1 − tan (x/2)]}
となり、この右辺は、(*) において y = tan (x/2) とした形に他ならない:
  ② = 2 artanh ( tan (x/2) )

T > 0 という条件は、具体的にどういうものか。もし x が [0, π/2) の範囲にあれば、tan (x/2) は [0, 1) の範囲にあるので T > 0、これはOK。一方、x が (−π/2, 0) の範囲にあれば tan (x/2) は (−1, 0) の範囲にあるので、やはり T > 0。これもOK。結局 x が (−π/2, π/2) の範囲にあれば、T > 0 で、y の値も有効。すなわち:
  −π/2 < x < π/2 なら  sec x = ② = 2 artanh ( tan (x/2) )  … ⑦

tan x は周期 π、tan (x/2) は周期 2π なので、(−π/2, π/2) と 2π の整数倍ずれている範囲もOKになる。言い換えると、sec x が正なら⑦が成り立つ。

2021-03-20  ∫sec x dx (その9) 第7積分(続き)

25. 上記において、T < 0 ならどうなるのか。
  y = coth t = cosh t / sinh t = (et + e−t) / (et − e−t)
において A = et と置くと:
  y = (A + 1/A) / (A − 1/A) = (A2 + 1) / (A2 − 1)
  分母を払って y(A2 − 1) = A2 + 1, A2 + 1 = A2y − y
  A2(1 − y) = −y − 1
  A2 = (−y − 1) / (1 − y) = −(1 + y) / (1 − y)
A の定義と、coth の値域が |y| > 1 であることから、上の式の両辺は正。だから:
  et = A = [−(1 + y) / (1 − y)]½
  t = log {[−(y + 1) / (1 − y)]½} = ½ [−(y + 1) / (1 − y)]
  t = arcoth y = ½ log [−(y + 1) / (1 − y)]
  2 arcoth y = log {−(y + 1) / (1 − y)}  … (**)

もし T < 0 なら、(**) から:
  |T| = −T = −[1 + tan (x/2)] / [1 − tan (x/2)]
  ② = log |T| = log {−[1 + tan (x/2)] / [1 − tan (x/2)]} = 2 arcoth (tan (x/2))
すなわち:
  sec x < 0 なら  sec x = ② = 2 arcoth ( tan (x/2) )  … ⑦′

arcoth y の式は、右辺の分子・分母を −1 倍して、次のように書いた方が簡潔だが、ここでは説明の都合上、上記の表記を使った。
  arcoth y = ½ log [(y + 1) / (y − 1)]

26. 複素関数として考える場合、主値を単純に
  artanh(z) = ½ log [(1 + z)/(1 − z)]  … (★)
と定義するにせよ、下記の理由から
  artanh(z) = ½ [log (1 + z) − log (1 − z)]  … (***)
と定義するにせよ、T < 0 なら一つの log に負の実数が渡される。結果の実部は、実数値の関数
  arcoth(x) = ½ log [−(1 + x)/(1 − x)]  (ただし |x| > 1)
と等しく、sec x の一つの連続区間では、artanh(z) は arcoth(z) と比べて、虚部に ±π/2 の定数差がある。従って、⑦をそのまま全実数に対して使うことも、技術的には可能。積分区間が sec x の不連続点をまたがないことは当然の前提だが、その場合、虚部が 0 でないとしても、定積分の引き算では、その虚部は消滅する。言い換えると、一つの積分区間内では虚部が定数なので、それを積分定数に含めることができる。

<例> F(x) =  sec x = log | sec x + tan x |, G(x) =  sec x = 2 artanh ( tan (x/2) ) とし、(***) によって artanh の主値を定義すると:
  F(3) = 0.1420681…, F(2) = 1.523452…, F(3) − F(2) = −1.381384…
  G(3) = 0.1420681… − πi, G(2) = 1.523452… − πi, G(3) − G(2) = −1.381384…

ところで、実変数・実数値の関数として、artanh と arcoth は奇関数:
  artanh (−x) = −artanh x, arcoth (−x) = −arcoth x

「できれば複素関数としても奇関数になってほしい」というのは、自然な期待だろう。ところが、対数関数の主値について、与えられた分数 p/q が負の実数のとき、
  log (p/q) = log [ |p/q| × (−1) ] = log |p/q| + log (−1) = log |p| − log |q| + πi
  p < 0, q > 0 のとき log p − log q = log |p| + πi − log |q| は上と同じ値だが、
  p > 0, q < 0 なら log p − log q = log |p| − (log |q| + πi) = log |p| − log |q| − πi は異なる値。

つまり log (p/q) と log p − log q は必ずしも等しくない。例えば z = 3 のとき:
  log [(1+z)/(1−z)] = log [4/(−2)] = log (−2) = 0.693… + πi
  log (1+z) − log (1−z) = log 4 − log (−2) = 1.386… − (0.693… + πi) = 0.693… − πi

主値について、一つの log の虚部は (−π, π] の範囲にあるが、ある一つの log から別の log を引き算した場合、もはや虚部がその範囲にある保証はない。log (1+z) と log (1−z) の場合、二つの log の値には関連性があり独立した値を取れるわけではないが、z が1より大きい実数なら、前者の虚部は 0、後者の虚部は π なので、引き算した虚部は −π であり、(−π, π] の範囲外になる。

従って、z が実数で 1 より大きいとき、(***) と (★) は意味が異なる。(***) の定義では、上述のように
  artanh 3 = ½(log 4 − log (−2)) = ½(0.693… − πi) = 0.346… − ½πi
だが (★) の定義では
  artanh 3 = ½(log (−4)) = ½(0.693… + πi) = 0.346… + ½πi
になってしまう。いずれの定義でも
  artanh (−3) = −0.346… + ½πi
なのだから、
  artanh (−x) = −artanh x
が成り立つためには (***) の定義が必要。(★) の定義では artanh は奇関数にならない(この不都合は |x| > 1 の場合に発生)。

同じ理由から、主値を arcoth (z) = ½ log [(z + 1)/(z − 1)] と定義することは好ましくなく、しかも上と同様に
  arcoth z = ½ [log (z + 1) − log (z − 1)]  … (★★)
としても、z が実数で |z| < 1 の場合、虚部の発生源は常に2個目の log ―― z の正負にかかわらず虚部は −π/2 になってしまう。代わりに
  arcoth z = ½ [log (1 + 1/z) − log (1 − 1/z)]  … (****)
を使うことで、この不都合を防ぐことができる。

これは ½ log [(z + 1)/(z − 1)] を ½ log [(1 + 1/z)/(1 − 1/z)] と書き換えて(分数部分の分子・分母を z で割り算)、それを対数の引き算の形にしたもの。

定義 (★★) には、この他にも小さなデメリットがある ―― 実数 z < −1 に対して、arcoth は、値が実数なのに複素数経由の計算になってしまう。(****) なら、正の実数の対数計算になる。

(***) と (****) で主値を定義するとき、artanh と arcoth の間に、明快で心地よい関係が成り立つ:
  artanh (1/z) = ½ [log (1 + 1/z) − log (1 − 1/z)] = arcoth z
  arcoth (1/z) = ½ [log (1 + z) − log (1 − z)] = artanh z

特に、z ≠ 0 が実数で (−1, 1) の範囲にあれば、1/z も実数で 1 < |1/z|。このとき
  arcoth (1/z) = artanh (z)
は実数。この等式は z → 0, arcoth (1/z) → 0 のときにも成立。−π/2 < θ < π/2 のとき sin θ は (−1, 1) の範囲にあるので:
  arcoth (1 / sin θ) = artanh (sin θ)
  つまり arcoth (csc θ) = artanh (sin θ) = gd−1 θ
この関係は、少なくとも sin θ ≠ 0 の任意の θ について成り立ち、sin θ = 0 を適切に解釈するなら、全実数 θ について成り立つ:
  sin θ → ±0 のとき csc θ → ±∞ であり arcoth (csc θ) → 0

半面、(****) の方法では arcoth 0 が定義されない: x → +0 のとき arcoth x = −πi/2 となり、x → −0 のとき arcoth x = πi/2 となる。

27. f(x) = sec x の原始関数⑦、すなわち u = F(θ) = 2 artanh ( tan (θ/2) ) は、初期条件 F(0) = 0 を満たすので、逆グーデルマン関数の別表記に当たる。逆に θ を u の式で表すと:
  u/2 = artanh ( tan (θ/2) ), tanh (u/2) = tan (θ/2), arctan ( tanh (u/2) ) = θ/2
  だから θ = 2 arctan ( tanh (u/2) )

これもグーデルマン関数 θ = gd u の1表現。同様に、②の u = log | tan (π/4 + θ/2) | について、定義域を −π/2 < θ < π/2 に絞ると、π/4 + θ/2 は第1象限の角なので tan は正:
  eu = | tan (π/4 + θ/2) | = tan (π/4 + θ/2)
  arctan eu = π/4 + θ/2
  θ/2 = arctan (eu) − π/4
  θ = 2 arctan (eu) − π/2  … (☆)

これもグーデルマン関数の1表現。

正の実数 A と B が互いに逆数のとき arctan A + arctan B = π/2 なので、(☆) をこう書くこともできる:
  θ = 2 (π/2 − arctan e−u) − π/2 = π/2 − 2 arctan e−u

sech t = 1 / cosh t = 2 / (et + 2−t) に注意しつつ(5.参照)、arctan の導関数を使って、gd の定義から (☆) を直接導ける(6.参照)。
  θ = gd u = 0u sech t dt = 0u [2 / (et + e−t)] dt  … (♫)
  = 0u [2et / (e2t + 1)] dt
s = et と置くと ds/dt = et, ds = et dt となり、t=0 to u は s=e0=1 to eu となる:
  = 1eu [2 / (s2 + 1)] ds = 2 1eu [1 / (s2 + 1)] ds
  =2 [ arctan s ]1eu = 2(arctan eu − arctan 1) = 2(arctan (eu) − π/4)

代わりに (♫) で s = et と置いてもいい。ds = et dt = s dt, dt = ds/s なので
  (♫) = ∫ [2 / (s + s−1)] (1/s) ds = ∫ [2 / (s2 + 1)] ds
参考資料: Gudermannfunktion

2021-03-22  ∫sec x dx (その10) tan半角置換と双曲線のコラボ

28. 次の置換は、いろいろな方法で導かれる:
  t = tan (x/2)
と置くと:
  sin x = 2t / (1 + t2)  【J1】
  cos x = (1 − t2) / (1 + t2)  【J2】
従って:
  sec x = 1 / cos x = (1 + t2)(1 − t2)  【J3】
  tan x = (sin x) / (cos x) = 2t / (1 − t2)  【J4】
置換積分のためには dt と dx の関係が必要:
  dt/dx = [sec2 (x/2)] ⋅ ½  ← これを t = tan (x/2) で表したいのだから…
  = [1 + tan2 (x/2)] / 2 = (1 + t2) / 2
  つまり dx = [2 / (1 + t2)] dt  【J5】

【J3】【J5】から:
   sec x dx =  [(1 + t2) / (1 − t2)][2 / (1 + t2)] dt =  [2 / (1 − t2)] dt  … (⌘)

伝統的な正攻法としては、ここで部分分数分解を行う(18.参照)。2 / (1 − t2) = A / (1 + t) + B / (1 − t) と置いて、A と B を求める。簡単な計算によると A = B = 1 つまり…
  2 / (1 − t2) = 1 / (1 + t) + 1 / (1 − t)
…なので:
  (⌘) =  [1 / (1 + t)] dt +  [1 / (1 − t)] dt
  = log | 1 + t | − log | 1 − t | + C
  = log | (1 + t) / (1 − t) | + C  【J6】

…ここで置換を戻して
  = log | [1 + tan (x/2)] / [1 − tan (x/2)] | + C  【J7】
とすれば、それも sec x の立派な原始関数。でも、この式はもっと簡単になる。

せっかちに置換を戻さず、【J6】の絶対値記号の中身を凝視すると、分子・分母に (1 + t) を掛けるというアイデアが浮かぶ(※注):
  (1 + t) / (1 − t) = (1 + t)2 / (1 − t)(1 + t) = (1 + 2t + t2) / (1 − t2)
  = (1 + t2) / (1 − t2) + 2t / (1 − t2) = sec x + tan x  ← なぜなら【J3】【J4】
だから:
  【J6】 = log | sec x + tan x | + C  【J8】

(※注) 一般に、三角関数で (A+B)/(A−B) の形になったとき、分子・分母に (A+B) を掛けるか、または分子・分母に (A−B) を掛けると、道が開けることが多い。この場合、後者の選択肢(分子・分母に 1 − t を掛けること)も考えられるが、普通は分母がゴチャゴチャするより分子がゴチャゴチャした方が処理しやすいし、【J3】【J4】の関係があるため、分母に 1 − t2 を発生させるのが良策。

別の方向へのショートカットとして、tan の加法定理において
  tan (π/4 + x/2) = [1 + tan (x/2)] / [1 − tan (x/2)]
となることを使えば、次の表現を得ることもできる(答えを先に知らないと、できない発想かも…)。
  【J7】 = log | tan (π/4 + x/2) | + C  【J9】

こうしたアイデアが浮かばない場合でも、【J7】の分数の分子・分母に cos (x/2) を掛けて cos と sin だけの式にしてから、ゴチャゴチャ変形すれば、そのうち【J8】や【J9】を得ることができる(x/2 を θ と書くと「すてきな作図」の別解と同様)。

29. けれど (⌘) から、双曲線関数に飛ぶこともできる。実際、(artanh t)′ = 1 / (1 − t2) なので(12.参照)、(⌘) は直ちに = 2 artanh t + C = 2 artanh (tan (x/2)) + C となる。エレガントだが、実数の範囲では |t| < 1 という条件が付くことを思い出そう。tan の値域は (−∞, ∞) なのに、絶対値が 1 未満じゃないと駄目というのは、きつい縛り…

この制限を乗り越えるには、ちょっとマニアックだが arcoth の導関数が役立つ。arcoth は coth の逆関数。三角関数の tan と cot もそうだが、双曲線関数の tanh と coth は互いに逆数。逆関数の artanh と arcoth は、一方の定義域にない範囲を他方の定義域がカバーする関係にある。
  Y = arcoth X は…
  X = coth Y (= cosh Y / sinh Y) の逆算。
X は coth の出力なので、実数の範囲では |X| > 1 に限定され、それが arcoth の定義域。artanh が受け付けない範囲を引き受けてくれる!

まず X = coth Y の導関数は…
  dX / dY = d(cosh Y / sinh Y) / dY = (sinh Y sinh Y − cosh Y cosh Y) / sinh2 Y = −1 / sinh2 Y  【J10】

逆関数の微分法を使うため、【J10】の右端を X の式(つまり coth Y の式)にしたい:
  恒等式 cosh2 Y − sinh2 Y = 1 の両辺を sinh Y で割って
  恒等式 coth2 Y − 1 = 1 / sinh2 Y を得る。
だから【J10】は…
  dX / dY = −(1 / sinh2 Y) = −(coth2 Y − 1) = −(X2 − 1) = 1 − X2
  つまり d(arcoth X) / dX = dY / dX = 1 / (1 − X2)

結局、artanh X の導関数と arcoth X の導関数は、どちらも 1 / (1 − X2) だけれど、前者は |X| < 1、後者は |X| > 1 という守備範囲(実数の範囲では)。この知見を (⌘) に適用すると「第7積分」が再び得られる:
  |t| < 1 なら  sec x dx = 2  [1 / (1 − t2)] dt = 2 artanh t + C = 2 artanh (tan (x/2)) + C
  |t| > 1 なら  sec x dx = 2  [1 / (1 − t2)] dt = 2 arcoth t + C = 2 arcoth (tan (x/2)) + C

めったに見掛けない形かもしれないが、これもまた sec x の立派な原始関数。|x| ≤ π/2 なら |tan (x/2)| < 1、π/2 < |x| < π なら |tan (x/2)| > 1 なので、|t| の範囲による場合分けは、sec x の正負による場合分けに当たる(24.では、T の正負による場合分け)。

ここから先は、24.の⑦以下の話とつながる。artanh と arcoth の関係の面白さを楽しみつつ、同時に「実数の範囲で考えると、話がややこしくなる。複素関数として考えた方がいい!」というモチベーションが得られる。三角関数の範囲で表現したければ、わざわざ双曲線関数を使うまでもないけど、こういう方角から眺めてみるのも乙なもの。

2021-03-28  ∫sec x dx (その11) 第6積分

30. 実関数 y = arcosh x の導関数。定義域を y ≥ 0 に限って x = cosh y を考える。値域は x ≥ 1 で1対1。このとき sinh y ≥ 0 なので dx/dy = sinh y = cosh2 y − 1 = x2 − 1。dy/dx = 1 / x2 − 1

ところで sec θ = 1 / cos θ の導関数は −(−sin θ) / cos2 θ = sec θ tan θ。

sec2 θ − 1 = tan2 θ に留意する。一般に、tan θ ≥ 0 なら sec2 θ − 1 = tan θ であり、tan θ < 0 なら sec2 θ − 1 = −tan θ。特に、0 ≤ θ < π/2 の場合と −π/2 < θ < 0 の場合には、それぞれ前者と後者が成り立つ。

上記の一般論では sec θ ≥ 1 という条件は必要ない。このことから、負の入力も受け付けられるように準備をすれば、下記【6C】を sec θ ≤ −1 の場合にも拡張できる(33. 参照)。

さて −π/2 < θ < π/2 なら sec θ ≥ 1。このとき (arcosh (sec θ))′ = (1 / sec2 θ − 1)(sec θ tan θ) = (1 / ±tan θ)(sec θ tan θ) = ±sec θ。複号選択は上記による:
  0 ≤ θ < π/2 なら  sec θ = arcosh (sec θ) + C  … 【6A】
  −π/2 < θ < 0 なら  sec θ = −arcosh (sec θ) + C  … 【6B】

これを逆向きに行うと、tan θ の符号に応じて:
  sec θ = (1 / tan θ)(sec θ tan θ) = ±(1 / sec2 θ − 1)(sec θ tan θ)
   sec θ dθ = ± (1 / sec2 θ − 1) d(sec θ) = sign (tan θ) arcosh (sec θ) + C  … 【6C】

明示的に置換積分の形で書くと、u = sec θ, du/dθ = sec θ tan θ,
dθ = du / (sec θ tan θ) = du / [u(±u2 − 1)],
 sec θ dθ =  u du / [u(±u2 − 1)] = ± du / u2 − 1 = ±arcosh u + C

【6A】【6B】から、次の結論を得る:
  gd−1 θ = sign (θ) arcosh (sec θ)
【6C】は、次の表現(9.2参照)と似ているが、違いとして【6C】のままでは、sec θ が負の場合に対応できない:
   sec θ dθ = sign (sec θ) arsinh (tan θ) + C

31. y = arcosh x の対数表示。x = cosh y = (ey + e−y) / 2。ただし、y ≥ 0, x ≥ 1 とする。
  2x = ey + e−y
  (ey)2 − 2x(ey) + 1 = 0
  ey = (2x ± 4x2 − 4) / 2 = x ± x2 − 1
y ≥ 0 だから x ± x2 − 1 ≥ 1 であり、複号ではプラスを選ぶ必要がある:
  y = log (x + x2 − 1)
  y′ = [1 + ½(x2 − 1)−½ × 2x] / [x + (x2 − 1)½]
(x2 − 1)½ = A と書くと:
  y′ = (1 + x/A) / (x + A) = [(1 + x/A)(x − A)] / (x2 − A2) この分母は 1
  y′ = x − A + x2/A − x = (−A2 + x2) / A この分子は 1
  y′ = 1/A = 1 / x2 − 1 が再び得られた。

32. 30. と 31. の結果を組み合わせると(積分定数省略):
  0 ≤ x < π/2 なら  sec x = log (sec x + tan x)  … 【*】
  −π/2 < x < 0 なら  sec x = −log (sec x − tan x) = log (sec x − tan x)−1
ところが:
  (sec x − tan x)−1 = (sec x + tan x) / (sec2 x − tan2 x) この分母は 1
従って【6A】【6B】のどちらのケースでも、【*】は成り立つ:
  −π/2 < x < π/2 なら  sec x = log (sec x + tan x)

この結論そのものは、既に arsinh (tan θ) 経由などでも得られていた(7.参照)。

2021-04-01  ∫sec x dx (その12) 第6積分(続き)

33. 複素数の範囲での y = arcosh x においては、31. と異なり、
  y = log (x ± x2 − 1)
の複号でプラスを選んでいいとは限らない。慣例として、arcosh の主値は、実部が負にならないように選択される。log の出力の実部が負でないということは、log の入力 x ± x2 − 1 の絶対値が 1 以上であることと同値であり、そうなるように、プラスかマイナスの一方を選択する必要がある(それだけでは必ずしも十分ではないが…)。

α = x + x2 − 1 と β = x − x2 − 1 の積は 1 だから(α と β は逆数)、|α| = |β| = 1 の場合を除き、α と β のどちらか一方だけがこの必要条件(arcosh の実部は非負)を満たす。特に x が −1 未満の実数なら β を選択する必要がある(理由は、以下で次第に明らかになる):
  x < −1 なら arcosh x = log (x − x2 − 1)  … 【6D】
  このとき 31. と同様にして (arcosh x)′ = −1 / x2 − 1  … 【6E】

実数の範囲での通常の公式 (arcosh x)′ = 1 / x2 − 1 は、複素数の範囲では必ずしも成り立たない。【6E】によれば x = −2 のとき導関数の値は −1/√3 = −0.577…。【6D】によれば
  y1 = arcosh (−2.01) ≈ 1.322712 + πi
  y = arcosh (−2.00) ≈ 1.316957 + πi
  dy ≈ (y1 − y) / 0.01 = −0.005755 / 0.01 = −0.5755
なので、確かにそのくらいの割合で変化(減少)している。

従って x = sec θ ≤ −1 の場合…言い換えると θ が実数で第2・第3象限の角である場合、【6C】とは符号が反対になる:
  sec θ ≤ −1 なら  sec θ dθ = −sign (tan θ) arcosh (sec θ) + C  … 【6F】

【6C】と考え合わせると、次のように、arcosh の前の符号を sign (sin θ) に一本化できる:

     Q1   Q2   Q3   Q4
tan   +   (-)  (+)   -
-tan (-)   +    -   (+)
6C,6F +    +    -    -
sin   +    +    -    -

すなわち、任意の実数 θ について:
   sec θ dθ = sign (sin θ) arcosh (sec θ) + C  … 【6G】

30. との関連で言えば、次の通り。定義域を Re y ≥ 0 に制限し、さらに幾つか条件を付けると、x = cosh y は「複素数のある領域」から「複素数全体」への1対1写像になるが、そのとき y は一般の複素数なので、もちろん sinh y の値は実数とは限らない。sinh y が第2・第3象限(負の実数軸・虚部が負の虚数軸を含む)にあるなら、平方根の主値の定義上 sinh y = cosh2 y − 1 は不可能であり、従って sinh y = −cosh2 y − 1 になる。例えば
  Α = arcosh 2 = log (2 + √3)
とすると、cosh Α = 2。今 y = Α + πi とすれば:
  cosh y = cosh (Α + πi) = cosh Α cosh (πi) + sinh Α sinh (πi)
  = 2 cos π + (sinh Α)(i sin π) = −2
ところが:
  sinh y = sinh (Α + πi) = sinh Α cosh πi + cosh Α sinh πi = −sinh Α = −1.7320508… = −√3
  実際、2 sinh Α = eΑ − e−Α = (2 + √3) − 1 / (2 + √3) = 2√3
従ってこの例では sinh y = −cosh2 y − 1

34. α, β のうち絶対値が大きい方を選ぶ…というだけでは、|α| = |β| = 1 の場合、主値を選択できない。x = ±1 なら α = β なので、どちらを選んでも同じ結果であり、それを主値とすればいい(arcosh 1 = log 1 = 0, arcosh (−1) = log (−1) = πi)。それ以外の場合は…。以下で見るように、その場合、x は (−1, 1) の範囲の実数で、arcosh は純虚数になる。虚部が正の側を主値と約束する。これは、α, β のうち α を選択することに当たる。

仮に x を (−1, 1) の範囲の実数として、x = cos φ, 0 < φ < π/2 と書くと、α = x + x2 − 1 と β = x − x2 − 1 は、それぞれ cos φ ± i sin φ に等しい。実際、1 − x2 = 1 − cos2 φ = sin2 φ は正の実数、その平方根は ±sin φ なので、符号を逆にした x2 − 1 の平方根は純虚数 ±i sin φ。根号が主値を表すという前提の下、α の虚部は正で、複素平面上において α は、原点を中心とする単位円の上半分のどこかの点を表す。つまり |α| = 1 かつ 0 < Arg α < π。

逆に |α| = |β| = 1 なら、それらは明らかに単位円上の点。α, β = cos φ ± i sin φ と書くことができ、x = cos φ は (−1, 1) の範囲の実数。

z = Log w のとき、z の実部は Log |w|、z の虚部は Arg w であることを思い出そう。上記の状況では w = α, Log |w| = Log |α| = Log 1 = 0 だから Log w = Log α は実部が 0。Arg w = Arg α なのだから、Log w = Log α は、虚部が正の純虚数(一方、Log β は虚部が負の純虚数)。従って、約束として、log β ではなく、虚部が正の log α = log (x + x2 − 1) が arcosh x の主値となる(これらの log は、全て主値 Log を意味する)。

これらの規約全体を、次のように再解釈することもできる:
  y = log (x + x2 − 1) ならば cosh y = x。このとき:
  (1) もし sinh y = cosh2 y − 1 が成立すれば、arcosh x = y とする。
  (2) 不成立なら Y = log (x − x2 − 1) = −y によって sinh Y = cosh2 Y − 1 が成立し、arcosh x = Y = −y とする。
x が (−1, 1) の範囲の実数なら、sinh y = cosh2 y − 1 と sinh Y = cosh2 Y − 1 が両方成立するが、(1) が優先される。

(1) の場合、sinh y = ½[exp y − exp (−y)] = ½[(x + x2 − 1) − (x − x2 − 1)] = x2 − 1 の主値は第1・第4象限にあるので(虚部が非負の虚数軸を含む)、Arsinh の値域内から y を選ぶなら、y の実部は非負。従って:
  Re y = Re log (x + x2 − 1) = log | x + x2 − 1 | ≥ 0
  | x + x2 − 1 | ≥ 1

つまり α, β のうち絶対値 1 以上のものを選ぶ(両方とも絶対値 1 なら α を選ぶ)ことと同じ意味。

一般の複素数 z について、log 内の複号の選択を含めて、次のように arcosh の主値を表記できる:
  arcosh z = log (z + z + 1z − 1)  (*)

実際、α, β = z ± z2 − 1 のうち、絶対値が大きい方を選べばいいのだが、もし z = ±1 なら α = β なので選択の余地はなく、z が実数で |z| < 1 なら、上述のように log (z + z2 − 1) = log (z + z + 1z − 1) が主値となる。以下では、それ以外の場合(つまり z が実数でないか、または |z| > 1 の場合)について考える。

±z2 − 1 は、プラスを選んだ場合とマイナスを選んだ場合とで、正反対の偏角を持つ。簡単な考察によると、2種類の(正反対の)偏角のうち一方は arg z とほぼ同じ(または等しい)値を持ち、他方はその逆方向。±z2 − 1 のうち、値の偏角が arg z と(ほぼ)逆方向になるように複号を選択したとしよう。そのような値を z と足し合わせると、和の絶対値は小さくなる――これを避ける必要がある。

−π/2 < arg z ≤ π/2 の場合、z2 − 1 は、z とほぼ同じ(または等しい)偏角を持つ。この場合、z2 − 1 = z + 1z − 1 なので、(*) は、上記の複号選択において、プラスを正しく選んだ形になっている。

一方、π/2 < arg z ≤ π の場合、−π/2 < arg z2 − 1 ≤ 0 となって、「逆方向」のケースに当たる。この場合、z + 1z − 1 は、いずれも第1象限(虚数軸を含む)にあり、それらの積 z + 1z − 1 は z とほぼ同じ(または等しい)偏角を持つ。つまり (*) を考えれば、上記の複号選択において、マイナスを正しく選択したのと同じ結果になる。同様に、−π < arg z ≤ −π/2 の場合、z2 − 1 は第1象限(虚数軸を含む)になってしまうが、z + 1z − 1 は、いずれも第4象限(虚数軸を含まない)にあり、それらの積は z とほぼ同じ(または等しい)偏角を持つ。

z ≠ 0 なら:
  arsech z = arcosh (1/z) = log (z + 1/z + 11/z − 1)
これを使うと、【6G】を次のように書き直すこともできる:
   sec x dx = sign (sin x) arsech (cos x) + C
この表記自体は特に便利ではないが、arcosh (sec x) = arsech (cos x) という対称性は心地よい。同様のことは、例えば artanh (sin x) = arcoth (csc x) についても成立(26. 参照)。

***

2021-03-06 すてきな証明 tan ((α + β)/2) = ? ウィキペディアより

2021-03-16 めったに使わない三角関数 csc

青は y = csc x、赤はその原始関数 F(x) = log | tan (x/2) | + C のうち C = 0 のもの。

PNG画像

csc のグラフは sec のグラフが横に平行移動したものなので、csc の原始関数のグラフも、おなじみ sec の原始関数のグラフが水平移動したものになる。当たり前といえば当たり前だが、図示すると「そりゃそうだ」。

csc は普通の三角関数6種のうち、最もマイナーな存在。使い慣れてないため、比較的直観が働きにくい。

sec を横にずらしただけなので、結局は簡単な話だろうが、念のため、升目を数えて、大きな間違いがないか確認してみる。次の図の黄緑の面積は、∫ csc dx の x=1 から x=2 までの定積分に当たり、約26マス。25マスが面積 1 なので、26/25 = 1.04 くらい。

PNG画像

この値は、B の縦座標と A の縦座標の差に一致するはず。グラフを見ると、前者は 0.4 よりわずかに(グリッドの間隔の1~2割程度)大きい。つまり 0.42~0.44 くらい。後者はちょうど −0.6 くらい。従って、差は 1.02~1.04 くらい。目分量の誤差の範囲で、ちゃんと一致してる!

正確な計算によると、B の縦座標:
  F(2) = 0.4430…
A の 縦座標:
  F(1) = −0.6045…
黄緑の面積:
  F(2) − F(1) = 1.0476…

2021-04-12 exp (−π) = 0.04321… を四則と平方根だけで

π = 3.1415926… を P = 3217/1024 = 3 + 1/8 + 1/64 + 1/1024 = 3.1416015625 で近似。

2021-05-08 log (1 + i) とか 複素関数って値の変数名がwで草

実数の範囲では log ab = b log a のような計算が成り立つが、複素数の範囲ではどうだろうか。順を追って、あれこれ考えてみたい。

1. z を複素数とする。ez つまり exp z の値を w とするとき、
  A = log w = log |w| + i arg w
という複素数は、
  exp A = w
という関係を満たすが、A = z とは限らない。一般に、A は z を含めて無限個の値を取ることができるのだった。そのうち特定の一つ(具体的には arg w として、偏角の主値 Arg w を選んだ場合)が、log w の主値とされる。主値以外の log w の値は、主値と 2πi の整数倍の差を持つ。

*簡単に言えば…

ということだった。

2. 例えば 1 + i は、絶対値 √2、偏角の主値 π/4 なので、log (1 + i) の主値は:
  A = log (1 + i) = log √2 + i(π/4)
という特定の複素数。主値以外も含めて言うと、k を任意の整数として:
  log (1 + i) = log √2 + i(π/4) + 2πik
  = ½ log 2 + ¼(8k + 1)πi

ここで log √2 = log 2½ = ½ log 2 という関係を使った(実数の範囲では、このような計算が成り立つ)。

k = 0 のときが主値に当たる:
  A = log (1 + i) = ½ log 2 + (π/4)i = 0.346… + (0.785…)i

この複素数 A は exp A = 1 + i を満たす。

主値以外の例として、例えば k = 3 とでもすると:
  B = log (1 + i) = ½ log 2 + (25π/4)i = 0.346… + (19.634…)i

この複素数 B も exp B = 1 + i を満たす。

<検算> 複素数 z の実部を x、虚部を y とすると、ez つまり exp z は、こうなる:
  exp z = exp x cis y
ここで cis y = cos y + i sin y は偏角を表す単位ベクトル(偏角そのものは y)。従って:
  exp A = [exp (log √2)] cis (π/4)
  = √2 cis (π/4)  [なぜなら exp (log X) = X
  = √2 [cos (π/4) + i sin (π/4)]
  = √2 (√2 / 2 + i √2 / 2) = 1 + i
exp B では上記の cis (π/4) が cis (25π/4) に置き換わるが、両者は等しいので最終結果は同じ。□

log (1 + i) 自体は、そんなに難しくなかった。上で見たように、その主値は:
  A = log (1 + i) = (1/2) log 2 + (π/4)i = 0.346… + (0.785…)i

3. では log (1 + i)2 はどうなるだろうか? 実数の世界の感覚としては、主値として
  log (1 + i)2 = 2 log (1 + i) = 2A
  = log 2 + (π/2)i = 0.693… + (1.570…)i
とやりたくなるが、この変形は正しい?

答えはイエス。虚部が −π より大きく π 以下の範囲にあるのだから、上記は主値の条件を満たしている。一方、それとほとんど同じに見える次の計算は、正しい主値を与えてくれない:
  log (1 + i)5 = 5 log (1 + i) = 5A
  = (5/2) log 2 + (5π/4)i = 1.732… + (3.926…)i

何がいけないの? まず最後の虚部 3.926… は π = 3.141… を超えている。主値の条件を満たしていないので、これが主値ということはあり得ない!

もう少し具体的に言うと、A の虚部は π/4 なのだから、その4倍を超えると、上記の「主値の範囲」をはみ出してしまう。結果として、
  log (1 + i)2 = 2 log (1 + i)
は正しいのに、
  log (1 + i)5 = 5 log (1 + i)
は正しくない。表面的には同様の変形に見えるのにね…

本をただせば「主値」というコンセプトが、人工的というか、すっきりしない。虚部が −π より大きく π 以下の範囲という約束は、不自然ではないが、必然的でもない…。虚部が 0 以上で 2π 未満の範囲としたっていいわけで…。要は幅が 2π の区間を「約束として」選んでるだけ。…だけど、ごねても話が進まないので、とりあえず虚部が −π より大きく π 以下の範囲という約束を受け入れて、

という問題に取り組んでみたい。(続く)

2021-05-15 log (1 + i) とか ~その2~

前回の続き。

4. そもそも、log ab = b log a というのは、どういうことだろうか?

log a というのは e = a を満たす □ のこと。例えば a の値が e3 だとすると:
  log a = log e3 = 3 (なぜなら e3 = a)
…当たり前。

log A というのは e = A を満たす □ のこと。今度は A の値が ab だとしてみる。ただし a = e3, b = 2 とする。
  A = ab = (e3)2 = (e3) × (e3)
  = (e × e × e) × (e × e × e) = e6
  だから log A = log e6 = 6

上記のように、実数の範囲では指数法則 (e3)2 = e3×2 が成り立つので:
  log (e3)2 = 「eを何乗すると (e3)2 になるか」
  = 「eを何乗すると e3 になるか?」の答えの2倍
  = (log e3) × 2 = 2 log e3

同様に考えると、一般に log ab = b log a が成り立つのは、当たり前に思える。実数の範囲では…ね。

5. ところが複素数の範囲では、そうとも言い切れない。a = 1 + i, b = 2, 3, 4, … とすると、前回チラッと観察したことだが…
  log a2 = log (1 + i)2 = 2 log (1 + i) = 2 log a
  log a3 = log (1 + i)3 = 3 log (1 + i) = 3 log a
  log a4 = log (1 + i)4 = 4 log (1 + i) = 4 log a
までは順調に進むのだが、
  log a5 = log (1 + i)5 ≠ 5 log (1 + i) = 5 log a
…という衝撃の事実(?)が待っている。これは「主値」というものを考える場合に起きる現象。

とりあえず (1 + i)2 などの部分を直接展開して、何が起きるか見てみましょう。
  (1 + i)2 = 12 + 2 × 1 × i + i2 = 1 + 2i + (−1) = 2i
  だから log (1 + i)2 = log 2i

log w = log |w| + i arg w という性質を思い出そう。上記の場合 w = 2i で、複素平面を考えれば、その絶対値(原点からの距離)が 2 であること、偏角の主値が 90° つまり π/2 であることは容易に分かるので:
  log (1 + i)2 = log 2i = log 2 + πi/2

前回見たように log (1 + i) = (log 2)/2 + πi/4 (☆)なので
  log (1 + i)2 = 2 log (1 + i)
がちゃ~んと成り立つ。ここまでは楽勝。

同じことを「3乗」の場合について考えると:
  (1 + i)3 = 13 + 3 × 12 × i + 3 × 1 × i2 + i3 = 1 + 3i − 3 − i = −2 + 2i
  だから log (1 + i)3 = log (−2 + 2i)
この −2 + 2i は、絶対値が √8、偏角の主値が 3π/4 なので:
  log (1 + i)3 = log (−2 + 2i) = log √8 + 3πi/4
ここで √8 = 23/2 に留意すると、先ほど見たように、実数の範囲では log ab = b log a なので
  log √8 = log 23/2 = (3/2) log 2 = (3 log 2)/2
  従って log (1 + i)3 = log √8 + 3πi/4 = (3 log 2)/2 + 3πi/4
これは(☆)の3倍なので
  log (1 + i)3 = 3 log (1 + i)
も、ちゃんと成り立つ。

最後に (1 + i)2 = 2i は上記で計算済みなので、その両辺を自乗して (1 + i)4 = (2i)2 = −4。だから
  log (1 + i)4 = log (−4) = log 4 + πi = 2 log 2 + πi
これも(☆)のちょうど4倍なので
  log (1 + i)4 = 4 log (1 + i)
も、また正しい。

2乗・3乗・4乗まではOKなのに、何で5乗になると、同様のシンプルな関係が成り立たないのか? 大方予想がつくだろうが arg w の部分で「偏角の主値」を選ぶというところに問題が潜んでいる。(続く)

***

2022-05-07 sec (π/7) オイラーによる、とある置換法

cos 7θ = −1 を満たす角度を考える。7倍角の公式を使い、cos 7θ = x と置くと(詳細):

  1. cos 7θ = 64 cos7 θ − 112 cos5 θ + 56 cos3 θ − 7 cos θ = −1
  2. 64x7 − 112x5 + 56x3 − 7x + 1 = (x − 1)(8x3 − 4x2 − 4x + 1)2 = 0

cos (π/7), cos (3π/7), cos (5π/7)8x3 − 4x2 − 4x + 1 = 0 の解(詳細)。この3次方程式の両辺を 8 で割って x = y 2 と置くと、y3 − y2 − 2y + 1 = 0 になる(詳細)。y = z 1 3 と置いて2次項を除去し、さらに z = u 3 と置くと、シンプルな3次方程式 u3 − 21u + 7 = 0 に帰着される。

一方、オイラーは、上記 8x3 − 4x2 − 4x + 1 = 0 のような式で x = 1/z と置く方法にも言及している*。その置換を試してみる。

  1. 8(1/z)3 − 4(1/z)2 − 4(1/z) + 1 = 0 の両辺を z3 倍すると 8 − 4z − 4z2 + z3 = 0
  2. つまり z3 − 4z2 − 4z + 8 = 0
  3. z = s + 4/3 と置くと s3 − (28/3)s − 56/27 = 0
  4. s = t/3 と置くと t3/27 − (28/9)t − 56/27 = 0
  5. 27 倍すると t3 − 84t − 56 = 0
  6. t = 2u と置くと 8u3 − 168u − 56 = 0
  7. 8 で割ると u3 − 21u − 7 = 0

前記 u3 − 21u + 7 = 0 とよく似た式になった! その解は…

  1. p = −21, q = 7, D = q2 + 4p3/27
  2. α, β = (−q ± √D)/2 = (7 ± 21√−3)/2 を使って
  3. u = 3α + 3β = [(7 + 21√−3)/2]1/3 + [(7 − 21√−3)/2]1/3

z = s + 4/3 = t/3 + 4/3 = (t + 4)/3 = (2u + 4)/3 なので、求める z は:

  1. 2u = 81/3(α1/3 + β1/3) = (8α)1/3 + (8β)1/3 に注意すると
  2. z = [(28 + 84√−3)1/3 + (28 − 84√−3)1/3 + 4] / 3

この解は、cos (π/7) ≈ 0.9009, cos (3π/7) ≈ 0.2225, cos (5π/7) ≈ −0.6234 の逆数だから、sec (π/7) ≈ 1.1099, sec (3π/7) ≈ 4.4939, sec (5π/7) ≈ −1.6038 のはずだが、立方根の主値を使った場合、最大の正の実数解が得られる:

これは sec (3π/7) に当たる。

α1/3 = [(7 + 21√−3)/2]1/3 の主値の偏角は約 26°。共役の β1/3 と足し合わされ、大きな正の実数を表す。α1/3ω の偏角は約 26° + 120° = 146° なので α1/3ω + β1/3ω2 は、それなりに絶対値の大きい負の数。変数を変換すると sec (5π/7) ≈ −1.603 に当たる。

最後に、α1/3ω2 の偏角は約 26° + 240° = 266°。第3象限にあり、虚軸の少し手前。だから α1/3ω2 + β1/3ω は、絶対値の小さな負の数。u から z への変数変換は z = (2u + 4)/3 なので、0 より少し小さい負の u は、0 より少し大きい正の z になる。これが sec (π/7) ≈ 1.109 に当たる。

最初の3次方程式を普通に解くと、主値として、最大の正の実数解 cos (π/7) が得られる。素朴に考えると、上述の「逆数置換」では、「その逆数、つまり sec (π/7) が得られる」ようにも思える。実際には、「逆数置換」経由で主値を使った計算を行うと、cos (π/7) ではなく cos (3π/7) が求まる。

【観察】 方程式の未知数の置換の中には「主値を保存しない」ものもある。「未知数を逆数で置換」という発想は面白いが、逆数の世界では(2 ≤ 3 に対する 1/2 ≥ 1/3 のように)大小の逆転が起きるため、主値の選択に影響が出る可能性がある。

(2022-05-08へ続く)

* Elements of Algebra (3rd ed. 1828)、256ページ。2015年版、234ページ。

⁂

2022-05-08 目で見る sec (π/7)

(2022-05-07の続き)

図の緑は、O を中心とする半径1の単位円。C, P, Q は円周上の点。赤は C を通る垂直線で、単位円の接線。

緑の単位円の図(PNG画像)。正七角形は単位円に内接。点C (1,0) が一つの頂点。 ∠POC = π/7 = 180° × 1/7 ≈ 25.7°
OA = cos (π/7) = 0.9009…
OD = sec (π/7) = 1.1099…

扇形 POC は、円を14等分した一切れ分に当たる(図の正七角形――単位円に内接する――との関係で言えば、半直線 OP は、辺を2等分する線)。

この青い半直線 OP が赤と交わる点を D とすると、sec (π/7)OD の長さ。緑の半径が1なので、OA = cos (π/7) が約 0.9 であること、OD = sec (π/7) が約 1.1 であることは、目分量で分かる。正確には、この二つは互いに逆数(なぜ?)。

∠QOC = 3π/7 = 180° × 3/7 ≈ 77.1°
OB = cos (3π/7) = 0.2225…
OE = sec (3π/7) = 4.4939…

扇形 QOC は、円を14等分した3個分に当たる。

x = cos (π/7), x = cos (3π/7)。その2個に加えて、図には記されてないが x = cos (5π/7)。これら3個の値は、
  8x3 − 4x2 − 4x + 1 = 0 (☆)
の解。

一方、上の式で x = 1/z と置いて変形すると、
  z3 − 4z2 − 4z + 8 = 0 (★)
となる。x の代わりに、その逆数 z を求める方程式。

図はあまり正確じゃないけど、OE が、単位円の半径の 4 倍くらい(計算上は約 4.5 倍)…ってことは、読み取れる。OB = cos (3π/7)0.25 よりちょっと小さいくらい?ってことも目分量で分かるので、その逆数が 4 より少し大きいというのは、納得がいく。

3次方程式が3個の実数解を持ち、それらが複素数の立方根の和の形で表されるとき、一般的には、3解の中で一番大きいものが「解の主値」(立方根の主値の選択の影響)。(☆)の3解の中では x = cos (π/7) = 0.9009… が最大だが、(★)の3解の中では z = sec (3π/7) = 4.4939… が最大。「解の逆数」を求める変数変換をしたにもかかわらず、主値の関係で、前者と後者は互いに逆数ではない!

前者の逆数は(★)の解の一つ。後者の逆数は(☆)の解の一つ。解であることには、違いない。ただ、(☆)にも(★)にも3個ずつ解がある。「3解のうち、一番大きいやつが主値」とすると…。大きい正の解の逆数は小さい正の解、小さい正の解の逆数は大きい正の解なので、主値の立場が入れ替わる可能性がある。まぁ、人生、そんなこともあるさ…。図でいうと、OAOB より大きいけど、前者の逆数 OD は後者の逆数 OE より小さい。

⁂

〔付記〕 OD, OE の長さが、それぞれ中心角に対応する sec に等しい理由

定義として、seccos の逆数:
  sec θ = 1 / (cos θ)

図の △OPA△ODC は相似なので:
  OP / OA = OD / OC

この左辺は 1 / cos (π/7) に等しく(OP = 1, OA = cos (π/7) なので)、右辺は OD に等しい(OC = 1 なので)。

要するに 1 / cos (π/7) = sec (π/7) は、OD の長さに等しい。

同様に △OQB△OEC は相似なので:
  OQ / OB = OE / OC
  つまり 1 / cos (3π/7) = OE
  なぜなら OQ = 1, OC = 1

⁂


メールアドレス(画像)