Subroutine Convert(nab) c This subroutine converts the an and bn to An and Bn. c Right now it does not have a mechanism for asymptotic flatness. c That can be added later. Implicit None Integer nab Real*8 a2,a3,a4,a5,a6,a7,a8,b2,b3,b4,b5,b6,b7,b8 Real*8 A22,A33,A34,A35,A44,B22,B33,B34,B35,B44 Common/coeff/a2,a3,a4,a5,a6,a7,a8,b2,b3,b4,b5,b6,b7,b8 Common/series/A22,A33,A34,A35,A44,B22,B33,B34,B35,B44 c This is because one variable can't be in two common blocks A22 = a2 B22= b2 c We'll assume for now that A34 = B34 = A35 = B35 = 0 A34 = 0.d0 B34 = 0.d0 A35 = 0.d0 B35 = 0.d0 If(nab.eq.1) then a3 = -2.d0*a2 b3 = -2.d0*b2 a4 = 3.d0*a2 b4 = 3.d0*b2 A33 = 0.d0 B33 = 0.d0 A44 = 0.d0 B44 = 0.d0 Else if(nab.eq.2) then A33 = a3 + 2.d0*a2 B33 = b3 + 2.d0*b2 a4 = 3.d0 - 3*A33 b4 = 3*b2 - 3*B33 A44 = 0.d0 B44 = 0.d0 Else if(nab.eq.3) then A33 = a3 + 2.d0*a2 B33 = b3 + 2.d0*b2 A44 = a4 + 3.d0*a3 + 3.d0*a2 B44 = b4 + 3.d0*b3 + 3.d0*b2 Endif c Convert using results from Mathematica a5 = -4.d0 + 6*A33 + 10*A34 + 15*A35 - 4*A44 a6 = 5.d0 - 10*A33 - 20*A34 - 35*A35 + 10*A44 a7 = -6.d0 + 15*A33 + 35*A34 + 70*A35 - 20*A44 a8 = 7.d0 - 21*A33 - 56*A34 - 126*A35 + 35*A44 b4 = 3*b2 - 3*B33 - 4*B34 - 5*B35 + B44 b5 = -4*b2 + 6*B33 + 10*B34 + 15*B35 - 4*B44 b6 = 5*b2 - 10*B33 - 20*B34 -35*B35 + 10*B44 b7 = -6*b2 + 15*B33 + 35*B34 + 70*B35 - 20*B44 b8 = 7*b2 - 21*B33 - 56*B34 - 126*B35 + 35*B44 Print *,'b2 = ',b2 Print *,'a3 = ',a3,' b3 = ',b3 Print *,'a4 = ',a4,' b4 = ',b4 Print *,'a5 = ',a5,' b5 = ',b5 Print *,'a6 = ',a6,' b6 = ',b6 Print *,'a7 = ',a7,' b7 = ',b7 Print *,'a8 = ',a8,' b8 = ',b8 Return End