ALOG1P/DLOG1P/QLOG1P/CLOG1P/CDLOG1P/CQLOG1P
関数 log(1 + x)
作成 二宮 市三  1977年4月 改訂 2003年8月 
形式 関数 言語:FORTRAN 26,34,41,20,21,21各行 

概要
ALOG1P(DLOG1P,QLOG1P)は単(倍,4倍)精度実数 xに対して,
関数 log(1 + x)を単(倍,4倍)精度で計算する.

CLOG1P(CDLOG1P,CQLOG1P)は単(倍,4倍)精度複素数 zに対して,
関数 log(1 + z)を単(倍,4倍)精度で計算する.

使用法

(1)
ALOG1P(x),DLOG1P(d),QLOG1P(q)
x(d,q)は単(倍,4倍)精度型の任意の式である.DLOG1P(QLOG1P)は
倍(4倍)精度型の宣言を要する.
CLOG1P(z),CDLOG1P(w),CQLOG1P(y)
z(w,y)は単(倍,4倍)精度複素数型の任意の式である.
CLOG1P(CDLOG1P,CQLOG1P)は単(倍,4倍)精度複素数型の宣言を要する.
(2)
引数の範囲: ALOG1P等については x > -1, d > -1, q > -1
CLOG1P等については z ≠ -1, w ≠ -1, y ≠ -1
(3)
エラー処理: 範囲外の引数があたえられた場合は,エラーとし,メッセージを印刷し,関数値を0として計算を続行する.( FNERST 参照)

計算法

(1)
ALOG1P(x),DLOG1P(d),QLOG1P(q)
1.
-0.5 ≦ x(d,q) ≦ 1 のとき t = x / (x + 2)とし,
log(1 + x) = log((1 + t)/(1-t))をtに関する最良近似式によって
計算する.
2.
-1 < x(d,q) < -0.5, 1 < x(d,q)のとき,定義式通りに計算する.
3.
x(d,q) ≦ -1のとき,エラーとする.
(2)
CLOG1P(z),CDLOG1P(w),CQLOG1P(y)
1.
|z| ≦ 1, |w| ≦ 1, |y| ≦ 1のとき
CLOG1P(z) = (ALOG1P(x(x + 2)+y2)/2, atan2(y, 1 + x)), x = R(z), y = I(z)
等と計算する.
2.
|z| > 1, |w| > 1, |y| > 1のとき,定義式通りに計算する.

摘要
本節の関数を標準関数によって定義式通りに計算すると,原点の近傍で精度が損 なわれる. なお本節の関数は以前log1,dlog1,qlog1,clog1,cdlog1,cqlog1と呼ばれていた.


Yohsuke HOSODA 平成15年9月24日