SECONDさんへのお返事です。
>その計算は、きびしいものがあるようで、なかなかできない。
積分部分の精度、計算時間のことでしょうか? 評価用プログラムを掲載しておきます。
FOR DL=0 TO 1 STEP .01
PRINT USING "%.## %.######################":DL, NAGAOKA(DL)
NEXT DL
FOR Ld=.01 TO 1 STEP .01
PRINT USING "%.## %.######################":Ld, NAGAOKA(1/Ld)
NEXT Ld
END
EXTERNAL FUNCTION NAGAOKA(DL) !長岡係数を返す
IF DL<EPS(0) THEN
LET NAGAOKA=1
ELSE
LET k2=DL^2/(DL^2+1)
LET k=SQR(k2)
LET F=Z1(k)
LET E=Z2(k)
LET NAGAOKA=4/(3*PI*SQR(1-k2))*((1-k2)/k2*(F-E)+E-k)
END IF
END FUNCTION
EXTERNAL FUNCTION Z1(k) !第1種完全楕円積分 ※ガウス変換
IF k<0 OR k>0.9999999999 THEN
PRINT "kが不適切です。"
STOP
END IF
LET a=1
DO WHILE k>1E-15
LET k=((1-SQR(1-k^2))/k)^2
LET a=a*(1+k)
LOOP
LET Z1=a*PI/2
END FUNCTION
EXTERNAL FUNCTION Z2(k) !第2種完全楕円積分
IF k<0 OR k>1 THEN
PRINT "kが不適切です。"
STOP
END IF
IF k=1 THEN
LET Z2=1
ELSE
LET i=PI/2
LET ku=2
LET f=0
LET a=1
LET k2=k*k
DO WHILE ABS(i*a)>1E-15
LET f=i*a+f
LET i=i*(ku-1)/ku
LET a=a*k2*(ku-3)/ku
LET ku=ku+2
LOOP
LET Z2=f
END IF
END FUNCTION