C C .................................................................. C C SUBROUTINE JELF C C PURPOSE C COMPUTES THE THREE JACOBIAN ELLIPTIC FUNCTIONS SN, CN, DN. C C USAGE C CALL JELF(SN,CN,DN,X,SCK) C C DESCRIPTION OF PARAMETERS C SN - RESULT VALUE SN(X) C CN - RESULT VALUE CN(X) C DN - RESULT VALUE DN(X) C X - ARGUMENT OF JACOBIAN ELLIPTIC FUNCTIONS C SCK - SQUARE OF COMPLEMENTARY MODULUS C C REMARKS C NONE C C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED C NONE C C METHOD C DEFINITION C X=INTEGRAL(1/SQRT((1-T*T)*(1-(K*T)**2)), SUMMED OVER C T FROM 0 TO SN), WHERE K=SQRT(1-SCK). C SN*SN + CN*CN = 1 C (K*SN)**2 + DN**2 = 1. C EVALUATION C CALCULATION IS DONE USING THE PROCESS OF THE ARITHMETIC C GEOMETRIC MEAN TOGETHER WITH GAUSS DESCENDING TRANSFORMATION C BEFORE INVERSION OF THE INTEGRAL TAKES PLACE. C REFERENCE C R. BULIRSCH, NUMERICAL CALCULATION OF ELLIPTIC INTEGRALS AND C ELLIPTIC FUNCTIOMS. C HANDBOOK SERIES OF SPECIAL FUNCTIONS C NUMERISCHE MATHEMATIK VOL. 7, 1965, PP. 78-90. C C .................................................................. C SUBROUTINE JELF(SN,CN,DN,X,SCK) C C DIMENSION ARI(12),GEO(12) C TEST MODULUS CM=SCK Y=X IF(SCK)3,1,4 1 D=EXP(X) A=1./D B=A+D CN=2./B DN=CN SN=TANH(X) C DEGENERATE CASE SCK=0 GIVES RESULTS C CN X = DN X = 1/COSH X C SN X = TANH X 2 RETURN C JACOBIS MODULUS TRANSFORMATION 3 D=1.-SCK CM=-SCK/D D=SQRT(D) Y=D*X 4 A=1. DN=1. DO 6 I=1,12 L=I ARI(I)=A CM=SQRT(CM) GEO(I)=CM C=(A+CM)*.5 IF(ABS(A-CM)-1.E-4*A)7,7,5 5 CM=A*CM 6 A=C C C START BACKWARD RECURSION 7 Y=C*Y SN=SIN(Y) CN=COS(Y) IF(SN)8,13,8 8 A=CN/SN C=A*C DO 9 I=1,L K=L-I+1 B=ARI(K) A=C*A C=DN*C DN=(GEO(K)+A)/(B+A) 9 A=C/B A=1./SQRT(C*C+1.) IF(SN)10,11,11 10 SN=-A GOTO 12 11 SN=A 12 CN=C*SN 13 IF(SCK)14,2,2 14 A=DN DN=CN CN=A SN=SN/D RETURN END