Keyword: 多ガンマ関数, ポリガンマ関数, 複素数
概要
本サンプルは複素数zの多ガンマ関数(プサイ関数の導関数)を求めるFortranによるサンプルプログラムです。 本サンプルは引数zを読み込み、zの各値について以下に示される多ガンマ関数を求めて出力します。
※本サンプルはnAG Fortranライブラリに含まれるルーチン s14aff() のExampleコードです。本サンプル及びルーチンの詳細情報は s14aff のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
入力データ
(本ルーチンの詳細はs14aff のマニュアルページを参照)- 1行目はタイトル行で読み飛ばされます。
- 2行目に引数zの値と導関数の階数(k)を指定しています。
出力結果
(本ルーチンの詳細はs14aff のマニュアルページを参照)| この出力例をダウンロード |
S14AFF Example Program Results
Z K (d^K/dz^K)psi(Z)
( -1.5, 2.5 ) 1 ( -1.9737E-01, -2.4271E-01 )
- 5行目に引数zの値、導関数の階数、多ガンマ関数の値が出力されています。
ソースコード
(本ルーチンの詳細はs14aff のマニュアルページを参照)
※本サンプルソースコードは科学技術・統計計算ライブラリである「nAG Fortranライブラリ」のルーチンを呼び出します。
サンプルのコンパイル及び実行方法
| このソースコードをダウンロード |
PROGRAM s14affe
! S14AFF Example Program Text
! Mark 23 Release. nAG Copyright 2011.
! .. Use Statements ..
USE nag_library, ONLY : nag_wp, s14aff
! .. Implicit None Statement ..
IMPLICIT NONE
! .. Parameters ..
INTEGER, PARAMETER :: nin = 5, nout = 6
! .. Local Scalars ..
COMPLEX (KIND=nag_wp) :: y, z
INTEGER :: ifail, ioerr, k
! .. Executable Statements ..
WRITE (nout,*) 'S14AFF Example Program Results'
! Skip heading in data file
READ (nin,*)
WRITE (nout,*)
WRITE (nout,*) ' Z K (d^K/dz^K)psi(Z)'
WRITE (nout,*)
DATA: DO
READ (nin,*,IOSTAT=ioerr) z, k
IF (ioerr<0) THEN
EXIT DATA
END IF
ifail = -1
y = s14aff(z,k,ifail)
IF (ifail<0) THEN
EXIT DATA
END IF
WRITE (nout,99999) z, k, y
END DO DATA
99999 FORMAT (1X,'(',F5.1,',',F5.1,' )',I6,' (',1P,E12.4,',',E12.4,' )')
END PROGRAM s14affe
