[ 新着記事
| 数学・プログラミング
| 天文・暦
| シリア語・Unicode・詩
| ジョーク
| 漫画・アニメ
| 字幕
| 哲学・ファンタジー
| 全記事
| チラ裏 ]
チラ裏
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。前回の作図から、θ がこの範囲(±90°)を動くとき、黄緑の点 Q が縦線上の全体を自在に動き、それに対応して青い点 S が双曲線上の全体を動く。理屈も大事だが、この単純なイメージを感覚的に捉えよう。
【キ】の両辺の arsinh(後述)を取れば、【ク】の逆関数 t = f−1(θ) を考えることができる:
t = arsinh (tan θ) 【ケ】
この【ケ】が sec θ の原始関数の正体。三角関数の範囲で処理しようとすると不透明なトリックが必要になるが、【ク】(グーデルマン関数と呼ばれる)を経由すると、分かりやすい一本道になる。
【5】 双曲線関数の解析的な定義は cosh t = (et + e−t)/2, sinh t = (et − e−t)/2、従って:
d(sinh t) / dt = cosh t 【サ】
cosh2 t − sinh2 t = 1, 1 + sinh2 t = cosh2 t 【シ】
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 < ∞ は実数なので et は正であり、複号のプラスのみが題意に適する。
【6】 【ケ】の導関数 dt / dθ が sec θ であることを示したい。直接攻める手もあるが、逆関数の微分なのだから、まずは素直に逆関数の微分法を試そう。次の基本公式*1については既知とする:
d(arctan x) / dx = 1 / (1 + x2) 【タ】
とりあえず【ク】を 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 θ) で表される」という認識さえあれば(前回の作図からも、鮮明にイメージできること)、【カ】【キ】【ク】【ケ】は間違いようのない一本道。双曲線関数についての簡単な知識【5】や、逆関数の微分法【6】は、応用範囲の広い事柄であり、この方法なら「1/cos x の積分のやり方のトリック」を個別的に暗記する必要がない。
【7】 必要なら【ケ】を変形して、sec θ の積分の伝統的表現(log | sec θ + tan θ | + C など)を導くことも簡単にできる。【ケ】は arsinh の対数表現【ス】において y = tan θ としたものに他ならない。つまり:
arsinh (tan θ) = log (tan θ + √tan2 θ + 1)
= log (tan θ + sec θ)
最後の等号については、前回の(☆☆☆)参照。…意味不明にも思える教科書の式 log | sec θ + tan θ | + C は、【ケ】の arsinh (tan θ) を対数表現したものだった。
sec の原始関数の表現は他にもいろいろあり、まだ全体像を見通せていないが、今回はこの辺で…
*1 検索すれば、説明ページがたくさん見つかる。
Derivative of arctan(x) - MIT OpenCourseWare (PDF)
Derivative of the Inverse of a Function - MIT OpenCourseWare (PDF)
2021-03-01 グーデルマン関数の可視化 円と双曲線 虹の懸け橋
【1】 cos θ の逆数 1 / cos θ を sec θ と書く(sec は secant の略)。cos θ が正なら sec θ も正。
図のように、単位円 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 = 1 + y2
x = √1 + y2
を満たす。(☆)(☆☆)を使うと:
x = √1 + tan2 θ
= √sec2 θ
= 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 より少し大きい。
グラフの縦線の間隔は π/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 θ をイメージしやすくした。
「チラ裏」は、きちんとまとまった記事ではなく、断片的なメモです。
Map
の長所、splice
より速い要素挿入法も紹介。 〔最終更新: 2016年4月10日〕bdi
要素と Unicode 6.3 の新しい双方向アルゴリズム (2012-12-04)dir
属性は落とし穴が多い。HTML5 の <bdi>
は役立つ。近い将来、「ユーザー入力欄などの語句は、このタグで隔離」が常識になるかも。 〔最終更新: 2014年4月27日〕fad()
は濁りやすい。各種の代替手段を紹介。msystem.waw.pl
/ videolan.org