|
|
●概要 とりあえず、双曲線正接も用意する。 ●級数 ・tanh X = Σ (-1)k-1・Tk・X(2*k-1) /(2 * k - 1)! [k = 0 to ∞] である。Tk はベルヌーイ数から算出される正接係数。残念ながら、これは複雑過ぎるので、級数から求めない方が良さそう。 ●方法検討 級数がだめなら、定義式から求めることになる。 ○直接 tanh X = (eX - e-X) / (eX + e-X) であるが、まともに計算するとExp を二回することになるので、以下のように変形する。分母、分子を、eX 倍し、変形すると、 (e2X - 1) / (e2X + 1) = (e2X
+ 1 - 1 - 1) / (e2X + 1) となる。これで、1回のExp で済む。 ところで、上式では、X < 0 の場合、e2X の演算で、逆数がでるので、今度は、e-X 倍し、変形すると、 (e2X - 1) / (e2X + 1) =2 / (e-2X + 1) - 1 を得る。X < 0 の場合は、この式で計算する。 但し、いずれも、|X| ≪ 1 のとき、e±2X ≒ 1 となり(下図参照)、整数 - [1] の計算による桁落ちが生じる。
これを避けるために、次の方法を取る。 ○sinh 法 cosh2 X - sinh2 X = 1 であるから、両辺を、sinh2 X で割って変形すると、 1/ tanh2 X - 1 = 1/ sinh2 X ∴tanh X = sinh X / sqrt( 1 + sinh2 X) となる。
|