1 SUBROUTINE ZUNHJ
(ZR
, ZI
, FNU
, IPMTR
, TOL
, PHIR
, PHII
, ARGR
, ARGI
,
2 * ZETA1R
, ZETA1I
, ZETA2R
, ZETA2I
, ASUMR
, ASUMI
, BSUMR
, BSUMI
)
3 C***BEGIN PROLOGUE ZUNHJ
4 C***REFER TO ZBESI,ZBESK
7 C HANDBOOK OF MATHEMATICAL FUNCTIONS BY M. ABRAMOWITZ AND I.A.
8 C STEGUN, AMS55, NATIONAL BUREAU OF STANDARDS, 1965, CHAPTER 9.
10 C ASYMPTOTICS AND SPECIAL FUNCTIONS BY F.W.J. OLVER, ACADEMIC
11 C PRESS, N.Y., 1974, PAGE 420
14 C ZUNHJ COMPUTES PARAMETERS FOR BESSEL FUNCTIONS C(FNU,Z) =
15 C J(FNU,Z), Y(FNU,Z) OR H(I,FNU,Z) I=1,2 FOR LARGE ORDERS FNU
16 C BY MEANS OF THE UNIFORM ASYMPTOTIC EXPANSION
18 C C(FNU,Z)=C1*PHI*( ASUM*AIRY(ARG) + C2*BSUM*DAIRY(ARG) )
20 C FOR PROPER CHOICES OF C1, C2, AIRY AND DAIRY WHERE AIRY IS
21 C AN AIRY FUNCTION AND DAIRY IS ITS DERIVATIVE.
23 C (2/3)*FNU*ZETA**1.5 = ZETA1-ZETA2,
25 C ZETA1=0.5*FNU*CLOG((1+W)/(1-W)), ZETA2=FNU*W FOR SCALING
26 C PURPOSES IN AIRY FUNCTIONS FROM CAIRY OR CBIRY.
28 C MCONJ=SIGN OF AIMAG(Z), BUT IS AMBIGUOUS WHEN Z IS REAL AND
29 C MUST BE SPECIFIED. IPMTR=0 RETURNS ALL PARAMETERS. IPMTR=
30 C 1 COMPUTES ALL EXCEPT ASUM AND BSUM.
32 C***ROUTINES CALLED AZABS,ZDIV,AZLOG,AZSQRT,D1MACH
33 C***END PROLOGUE ZUNHJ
34 C COMPLEX ARG,ASUM,BSUM,CFNU,CONE,CR,CZERO,DR,P,PHI,PRZTH,PTFN,
35 C *RFN13,RTZTA,RZTH,SUMA,SUMB,TFN,T2,UP,W,W2,Z,ZA,ZB,ZC,ZETA,ZETA1,
37 DOUBLE PRECISION ALFA
, ANG
, AP
, AR
, ARGI
, ARGR
, ASUMI
, ASUMR
,
38 * ATOL
, AW2
, AZTH
, BETA
, BR
, BSUMI
, BSUMR
, BTOL
, C
, CONEI
, CONER
,
39 * CRI
, CRR
, DRI
, DRR
, EX1
, EX2
, FNU
, FN13
, FN23
, GAMA
, GPI
, HPI
,
40 * PHII
, PHIR
, PI
, PP
, PR
, PRZTHI
, PRZTHR
, PTFNI
, PTFNR
, RAW
, RAW2
,
41 * RAZTH
, RFNU
, RFNU2
, RFN13
, RTZTI
, RTZTR
, RZTHI
, RZTHR
, STI
, STR
,
42 * SUMAI
, SUMAR
, SUMBI
, SUMBR
, TEST
, TFNI
, TFNR
, THPI
, TOL
, TZAI
,
43 * TZAR
, T2I
, T2R
, UPI
, UPR
, WI
, WR
, W2I
, W2R
, ZAI
, ZAR
, ZBI
, ZBR
,
44 * ZCI
, ZCR
, ZEROI
, ZEROR
, ZETAI
, ZETAR
, ZETA1I
, ZETA1R
, ZETA2I
,
45 * ZETA2R
, ZI
, ZR
, ZTHI
, ZTHR
, AZABS
, AC
, D1MACH
46 INTEGER IAS
, IBS
, IPMTR
, IS
, J
, JR
, JU
, K
, KMAX
, KP1
, KS
, L
, LR
,
47 * LRP1
, L1
, L2
, M
, IDUM
48 DIMENSION AR
(14), BR
(14), C
(105), ALFA
(180), BETA
(210), GAMA
(30),
49 * AP
(30), PR
(30), PI
(30), UPR
(14), UPI
(14), CRR
(14), CRI
(14),
51 DATA AR
(1), AR
(2), AR
(3), AR
(4), AR
(5), AR
(6), AR
(7), AR
(8),
52 1 AR
(9), AR
(10), AR
(11), AR
(12), AR
(13), AR
(14)/
53 2 1.00000000000000000D
+00, 1.04166666666666667D
-01,
54 3 8.35503472222222222D
-02, 1.28226574556327160D
-01,
55 4 2.91849026464140464D
-01, 8.81627267443757652D
-01,
56 5 3.32140828186276754D
+00, 1.49957629868625547D
+01,
57 6 7.89230130115865181D
+01, 4.74451538868264323D
+02,
58 7 3.20749009089066193D
+03, 2.40865496408740049D
+04,
59 8 1.98923119169509794D
+05, 1.79190200777534383D
+06/
60 DATA BR
(1), BR
(2), BR
(3), BR
(4), BR
(5), BR
(6), BR
(7), BR
(8),
61 1 BR
(9), BR
(10), BR
(11), BR
(12), BR
(13), BR
(14)/
62 2 1.00000000000000000D
+00, -1.45833333333333333D
-01,
63 3 -9.87413194444444444D
-02, -1.43312053915895062D
-01,
64 4 -3.17227202678413548D
-01, -9.42429147957120249D
-01,
65 5 -3.51120304082635426D
+00, -1.57272636203680451D
+01,
66 6 -8.22814390971859444D
+01, -4.92355370523670524D
+02,
67 7 -3.31621856854797251D
+03, -2.48276742452085896D
+04,
68 8 -2.04526587315129788D
+05, -1.83844491706820990D
+06/
69 DATA C
(1), C
(2), C
(3), C
(4), C
(5), C
(6), C
(7), C
(8), C
(9), C
(10),
70 1 C
(11), C
(12), C
(13), C
(14), C
(15), C
(16), C
(17), C
(18),
71 2 C
(19), C
(20), C
(21), C
(22), C
(23), C
(24)/
72 3 1.00000000000000000D
+00, -2.08333333333333333D
-01,
73 4 1.25000000000000000D
-01, 3.34201388888888889D
-01,
74 5 -4.01041666666666667D
-01, 7.03125000000000000D
-02,
75 6 -1.02581259645061728D
+00, 1.84646267361111111D
+00,
76 7 -8.91210937500000000D
-01, 7.32421875000000000D
-02,
77 8 4.66958442342624743D
+00, -1.12070026162229938D
+01,
78 9 8.78912353515625000D
+00, -2.36408691406250000D
+00,
79 A
1.12152099609375000D
-01, -2.82120725582002449D
+01,
80 B
8.46362176746007346D
+01, -9.18182415432400174D
+01,
81 C
4.25349987453884549D
+01, -7.36879435947963170D
+00,
82 D
2.27108001708984375D
-01, 2.12570130039217123D
+02,
83 E
-7.65252468141181642D
+02, 1.05999045252799988D
+03/
84 DATA C
(25), C
(26), C
(27), C
(28), C
(29), C
(30), C
(31), C
(32),
85 1 C
(33), C
(34), C
(35), C
(36), C
(37), C
(38), C
(39), C
(40),
86 2 C
(41), C
(42), C
(43), C
(44), C
(45), C
(46), C
(47), C
(48)/
87 3 -6.99579627376132541D
+02, 2.18190511744211590D
+02,
88 4 -2.64914304869515555D
+01, 5.72501420974731445D
-01,
89 5 -1.91945766231840700D
+03, 8.06172218173730938D
+03,
90 6 -1.35865500064341374D
+04, 1.16553933368645332D
+04,
91 7 -5.30564697861340311D
+03, 1.20090291321635246D
+03,
92 8 -1.08090919788394656D
+02, 1.72772750258445740D
+00,
93 9 2.02042913309661486D
+04, -9.69805983886375135D
+04,
94 A
1.92547001232531532D
+05, -2.03400177280415534D
+05,
95 B
1.22200464983017460D
+05, -4.11926549688975513D
+04,
96 C
7.10951430248936372D
+03, -4.93915304773088012D
+02,
97 D
6.07404200127348304D
+00, -2.42919187900551333D
+05,
98 E
1.31176361466297720D
+06, -2.99801591853810675D
+06/
99 DATA C
(49), C
(50), C
(51), C
(52), C
(53), C
(54), C
(55), C
(56),
100 1 C
(57), C
(58), C
(59), C
(60), C
(61), C
(62), C
(63), C
(64),
101 2 C
(65), C
(66), C
(67), C
(68), C
(69), C
(70), C
(71), C
(72)/
102 3 3.76327129765640400D
+06, -2.81356322658653411D
+06,
103 4 1.26836527332162478D
+06, -3.31645172484563578D
+05,
104 5 4.52187689813627263D
+04, -2.49983048181120962D
+03,
105 6 2.43805296995560639D
+01, 3.28446985307203782D
+06,
106 7 -1.97068191184322269D
+07, 5.09526024926646422D
+07,
107 8 -7.41051482115326577D
+07, 6.63445122747290267D
+07,
108 9 -3.75671766607633513D
+07, 1.32887671664218183D
+07,
109 A
-2.78561812808645469D
+06, 3.08186404612662398D
+05,
110 B
-1.38860897537170405D
+04, 1.10017140269246738D
+02,
111 C
-4.93292536645099620D
+07, 3.25573074185765749D
+08,
112 D
-9.39462359681578403D
+08, 1.55359689957058006D
+09,
113 E
-1.62108055210833708D
+09, 1.10684281682301447D
+09/
114 DATA C
(73), C
(74), C
(75), C
(76), C
(77), C
(78), C
(79), C
(80),
115 1 C
(81), C
(82), C
(83), C
(84), C
(85), C
(86), C
(87), C
(88),
116 2 C
(89), C
(90), C
(91), C
(92), C
(93), C
(94), C
(95), C
(96)/
117 3 -4.95889784275030309D
+08, 1.42062907797533095D
+08,
118 4 -2.44740627257387285D
+07, 2.24376817792244943D
+06,
119 5 -8.40054336030240853D
+04, 5.51335896122020586D
+02,
120 6 8.14789096118312115D
+08, -5.86648149205184723D
+09,
121 7 1.86882075092958249D
+10, -3.46320433881587779D
+10,
122 8 4.12801855797539740D
+10, -3.30265997498007231D
+10,
123 9 1.79542137311556001D
+10, -6.56329379261928433D
+09,
124 A
1.55927986487925751D
+09, -2.25105661889415278D
+08,
125 B
1.73951075539781645D
+07, -5.49842327572288687D
+05,
126 C
3.03809051092238427D
+03, -1.46792612476956167D
+10,
127 D
1.14498237732025810D
+11, -3.99096175224466498D
+11,
128 E
8.19218669548577329D
+11, -1.09837515608122331D
+12/
129 DATA C
(97), C
(98), C
(99), C
(100), C
(101), C
(102), C
(103), C
(104),
131 2 1.00815810686538209D
+12, -6.45364869245376503D
+11,
132 3 2.87900649906150589D
+11, -8.78670721780232657D
+10,
133 4 1.76347306068349694D
+10, -2.16716498322379509D
+09,
134 5 1.43157876718888981D
+08, -3.87183344257261262D
+06,
135 6 1.82577554742931747D
+04/
136 DATA ALFA
(1), ALFA
(2), ALFA
(3), ALFA
(4), ALFA
(5), ALFA
(6),
137 1 ALFA
(7), ALFA
(8), ALFA
(9), ALFA
(10), ALFA
(11), ALFA
(12),
138 2 ALFA
(13), ALFA
(14), ALFA
(15), ALFA
(16), ALFA
(17), ALFA
(18),
139 3 ALFA
(19), ALFA
(20), ALFA
(21), ALFA
(22)/
140 4 -4.44444444444444444D
-03, -9.22077922077922078D
-04,
141 5 -8.84892884892884893D
-05, 1.65927687832449737D
-04,
142 6 2.46691372741792910D
-04, 2.65995589346254780D
-04,
143 7 2.61824297061500945D
-04, 2.48730437344655609D
-04,
144 8 2.32721040083232098D
-04, 2.16362485712365082D
-04,
145 9 2.00738858762752355D
-04, 1.86267636637545172D
-04,
146 A
1.73060775917876493D
-04, 1.61091705929015752D
-04,
147 B
1.50274774160908134D
-04, 1.40503497391269794D
-04,
148 C
1.31668816545922806D
-04, 1.23667445598253261D
-04,
149 D
1.16405271474737902D
-04, 1.09798298372713369D
-04,
150 E
1.03772410422992823D
-04, 9.82626078369363448D
-05/
151 DATA ALFA
(23), ALFA
(24), ALFA
(25), ALFA
(26), ALFA
(27), ALFA
(28),
152 1 ALFA
(29), ALFA
(30), ALFA
(31), ALFA
(32), ALFA
(33), ALFA
(34),
153 2 ALFA
(35), ALFA
(36), ALFA
(37), ALFA
(38), ALFA
(39), ALFA
(40),
154 3 ALFA
(41), ALFA
(42), ALFA
(43), ALFA
(44)/
155 4 9.32120517249503256D
-05, 8.85710852478711718D
-05,
156 5 8.42963105715700223D
-05, 8.03497548407791151D
-05,
157 6 7.66981345359207388D
-05, 7.33122157481777809D
-05,
158 7 7.01662625163141333D
-05, 6.72375633790160292D
-05,
159 8 6.93735541354588974D
-04, 2.32241745182921654D
-04,
160 9 -1.41986273556691197D
-05, -1.16444931672048640D
-04,
161 A
-1.50803558053048762D
-04, -1.55121924918096223D
-04,
162 B
-1.46809756646465549D
-04, -1.33815503867491367D
-04,
163 C
-1.19744975684254051D
-04, -1.06184319207974020D
-04,
164 D
-9.37699549891194492D
-05, -8.26923045588193274D
-05,
165 E
-7.29374348155221211D
-05, -6.44042357721016283D
-05/
166 DATA ALFA
(45), ALFA
(46), ALFA
(47), ALFA
(48), ALFA
(49), ALFA
(50),
167 1 ALFA
(51), ALFA
(52), ALFA
(53), ALFA
(54), ALFA
(55), ALFA
(56),
168 2 ALFA
(57), ALFA
(58), ALFA
(59), ALFA
(60), ALFA
(61), ALFA
(62),
169 3 ALFA
(63), ALFA
(64), ALFA
(65), ALFA
(66)/
170 4 -5.69611566009369048D
-05, -5.04731044303561628D
-05,
171 5 -4.48134868008882786D
-05, -3.98688727717598864D
-05,
172 6 -3.55400532972042498D
-05, -3.17414256609022480D
-05,
173 7 -2.83996793904174811D
-05, -2.54522720634870566D
-05,
174 8 -2.28459297164724555D
-05, -2.05352753106480604D
-05,
175 9 -1.84816217627666085D
-05, -1.66519330021393806D
-05,
176 A
-1.50179412980119482D
-05, -1.35554031379040526D
-05,
177 B
-1.22434746473858131D
-05, -1.10641884811308169D
-05,
178 C
-3.54211971457743841D
-04, -1.56161263945159416D
-04,
179 D
3.04465503594936410D
-05, 1.30198655773242693D
-04,
180 E
1.67471106699712269D
-04, 1.70222587683592569D
-04/
181 DATA ALFA
(67), ALFA
(68), ALFA
(69), ALFA
(70), ALFA
(71), ALFA
(72),
182 1 ALFA
(73), ALFA
(74), ALFA
(75), ALFA
(76), ALFA
(77), ALFA
(78),
183 2 ALFA
(79), ALFA
(80), ALFA
(81), ALFA
(82), ALFA
(83), ALFA
(84),
184 3 ALFA
(85), ALFA
(86), ALFA
(87), ALFA
(88)/
185 4 1.56501427608594704D
-04, 1.36339170977445120D
-04,
186 5 1.14886692029825128D
-04, 9.45869093034688111D
-05,
187 6 7.64498419250898258D
-05, 6.07570334965197354D
-05,
188 7 4.74394299290508799D
-05, 3.62757512005344297D
-05,
189 8 2.69939714979224901D
-05, 1.93210938247939253D
-05,
190 9 1.30056674793963203D
-05, 7.82620866744496661D
-06,
191 A
3.59257485819351583D
-06, 1.44040049814251817D
-07,
192 B
-2.65396769697939116D
-06, -4.91346867098485910D
-06,
193 C
-6.72739296091248287D
-06, -8.17269379678657923D
-06,
194 D
-9.31304715093561232D
-06, -1.02011418798016441D
-05,
195 E
-1.08805962510592880D
-05, -1.13875481509603555D
-05/
196 DATA ALFA
(89), ALFA
(90), ALFA
(91), ALFA
(92), ALFA
(93), ALFA
(94),
197 1 ALFA
(95), ALFA
(96), ALFA
(97), ALFA
(98), ALFA
(99), ALFA
(100),
198 2 ALFA
(101), ALFA
(102), ALFA
(103), ALFA
(104), ALFA
(105),
199 3 ALFA
(106), ALFA
(107), ALFA
(108), ALFA
(109), ALFA
(110)/
200 4 -1.17519675674556414D
-05, -1.19987364870944141D
-05,
201 5 3.78194199201772914D
-04, 2.02471952761816167D
-04,
202 6 -6.37938506318862408D
-05, -2.38598230603005903D
-04,
203 7 -3.10916256027361568D
-04, -3.13680115247576316D
-04,
204 8 -2.78950273791323387D
-04, -2.28564082619141374D
-04,
205 9 -1.75245280340846749D
-04, -1.25544063060690348D
-04,
206 A
-8.22982872820208365D
-05, -4.62860730588116458D
-05,
207 B
-1.72334302366962267D
-05, 5.60690482304602267D
-06,
208 C
2.31395443148286800D
-05, 3.62642745856793957D
-05,
209 D
4.58006124490188752D
-05, 5.24595294959114050D
-05,
210 E
5.68396208545815266D
-05, 5.94349820393104052D
-05/
211 DATA ALFA
(111), ALFA
(112), ALFA
(113), ALFA
(114), ALFA
(115),
212 1 ALFA
(116), ALFA
(117), ALFA
(118), ALFA
(119), ALFA
(120),
213 2 ALFA
(121), ALFA
(122), ALFA
(123), ALFA
(124), ALFA
(125),
214 3 ALFA
(126), ALFA
(127), ALFA
(128), ALFA
(129), ALFA
(130)/
215 4 6.06478527578421742D
-05, 6.08023907788436497D
-05,
216 5 6.01577894539460388D
-05, 5.89199657344698500D
-05,
217 6 5.72515823777593053D
-05, 5.52804375585852577D
-05,
218 7 5.31063773802880170D
-05, 5.08069302012325706D
-05,
219 8 4.84418647620094842D
-05, 4.60568581607475370D
-05,
220 9 -6.91141397288294174D
-04, -4.29976633058871912D
-04,
221 A
1.83067735980039018D
-04, 6.60088147542014144D
-04,
222 B
8.75964969951185931D
-04, 8.77335235958235514D
-04,
223 C
7.49369585378990637D
-04, 5.63832329756980918D
-04,
224 D
3.68059319971443156D
-04, 1.88464535514455599D
-04/
225 DATA ALFA
(131), ALFA
(132), ALFA
(133), ALFA
(134), ALFA
(135),
226 1 ALFA
(136), ALFA
(137), ALFA
(138), ALFA
(139), ALFA
(140),
227 2 ALFA
(141), ALFA
(142), ALFA
(143), ALFA
(144), ALFA
(145),
228 3 ALFA
(146), ALFA
(147), ALFA
(148), ALFA
(149), ALFA
(150)/
229 4 3.70663057664904149D
-05, -8.28520220232137023D
-05,
230 5 -1.72751952869172998D
-04, -2.36314873605872983D
-04,
231 6 -2.77966150694906658D
-04, -3.02079514155456919D
-04,
232 7 -3.12594712643820127D
-04, -3.12872558758067163D
-04,
233 8 -3.05678038466324377D
-04, -2.93226470614557331D
-04,
234 9 -2.77255655582934777D
-04, -2.59103928467031709D
-04,
235 A
-2.39784014396480342D
-04, -2.20048260045422848D
-04,
236 B
-2.00443911094971498D
-04, -1.81358692210970687D
-04,
237 C
-1.63057674478657464D
-04, -1.45712672175205844D
-04,
238 D
-1.29425421983924587D
-04, -1.14245691942445952D
-04/
239 DATA ALFA
(151), ALFA
(152), ALFA
(153), ALFA
(154), ALFA
(155),
240 1 ALFA
(156), ALFA
(157), ALFA
(158), ALFA
(159), ALFA
(160),
241 2 ALFA
(161), ALFA
(162), ALFA
(163), ALFA
(164), ALFA
(165),
242 3 ALFA
(166), ALFA
(167), ALFA
(168), ALFA
(169), ALFA
(170)/
243 4 1.92821964248775885D
-03, 1.35592576302022234D
-03,
244 5 -7.17858090421302995D
-04, -2.58084802575270346D
-03,
245 6 -3.49271130826168475D
-03, -3.46986299340960628D
-03,
246 7 -2.82285233351310182D
-03, -1.88103076404891354D
-03,
247 8 -8.89531718383947600D
-04, 3.87912102631035228D
-06,
248 9 7.28688540119691412D
-04, 1.26566373053457758D
-03,
249 A
1.62518158372674427D
-03, 1.83203153216373172D
-03,
250 B
1.91588388990527909D
-03, 1.90588846755546138D
-03,
251 C
1.82798982421825727D
-03, 1.70389506421121530D
-03,
252 D
1.55097127171097686D
-03, 1.38261421852276159D
-03/
253 DATA ALFA
(171), ALFA
(172), ALFA
(173), ALFA
(174), ALFA
(175),
254 1 ALFA
(176), ALFA
(177), ALFA
(178), ALFA
(179), ALFA
(180)/
255 2 1.20881424230064774D
-03, 1.03676532638344962D
-03,
256 3 8.71437918068619115D
-04, 7.16080155297701002D
-04,
257 4 5.72637002558129372D
-04, 4.42089819465802277D
-04,
258 5 3.24724948503090564D
-04, 2.20342042730246599D
-04,
259 6 1.28412898401353882D
-04, 4.82005924552095464D
-05/
260 DATA BETA
(1), BETA
(2), BETA
(3), BETA
(4), BETA
(5), BETA
(6),
261 1 BETA
(7), BETA
(8), BETA
(9), BETA
(10), BETA
(11), BETA
(12),
262 2 BETA
(13), BETA
(14), BETA
(15), BETA
(16), BETA
(17), BETA
(18),
263 3 BETA
(19), BETA
(20), BETA
(21), BETA
(22)/
264 4 1.79988721413553309D
-02, 5.59964911064388073D
-03,
265 5 2.88501402231132779D
-03, 1.80096606761053941D
-03,
266 6 1.24753110589199202D
-03, 9.22878876572938311D
-04,
267 7 7.14430421727287357D
-04, 5.71787281789704872D
-04,
268 8 4.69431007606481533D
-04, 3.93232835462916638D
-04,
269 9 3.34818889318297664D
-04, 2.88952148495751517D
-04,
270 A
2.52211615549573284D
-04, 2.22280580798883327D
-04,
271 B
1.97541838033062524D
-04, 1.76836855019718004D
-04,
272 C
1.59316899661821081D
-04, 1.44347930197333986D
-04,
273 D
1.31448068119965379D
-04, 1.20245444949302884D
-04,
274 E
1.10449144504599392D
-04, 1.01828770740567258D
-04/
275 DATA BETA
(23), BETA
(24), BETA
(25), BETA
(26), BETA
(27), BETA
(28),
276 1 BETA
(29), BETA
(30), BETA
(31), BETA
(32), BETA
(33), BETA
(34),
277 2 BETA
(35), BETA
(36), BETA
(37), BETA
(38), BETA
(39), BETA
(40),
278 3 BETA
(41), BETA
(42), BETA
(43), BETA
(44)/
279 4 9.41998224204237509D
-05, 8.74130545753834437D
-05,
280 5 8.13466262162801467D
-05, 7.59002269646219339D
-05,
281 6 7.09906300634153481D
-05, 6.65482874842468183D
-05,
282 7 6.25146958969275078D
-05, 5.88403394426251749D
-05,
283 8 -1.49282953213429172D
-03, -8.78204709546389328D
-04,
284 9 -5.02916549572034614D
-04, -2.94822138512746025D
-04,
285 A
-1.75463996970782828D
-04, -1.04008550460816434D
-04,
286 B
-5.96141953046457895D
-05, -3.12038929076098340D
-05,
287 C
-1.26089735980230047D
-05, -2.42892608575730389D
-07,
288 D
8.05996165414273571D
-06, 1.36507009262147391D
-05,
289 E
1.73964125472926261D
-05, 1.98672978842133780D
-05/
290 DATA BETA
(45), BETA
(46), BETA
(47), BETA
(48), BETA
(49), BETA
(50),
291 1 BETA
(51), BETA
(52), BETA
(53), BETA
(54), BETA
(55), BETA
(56),
292 2 BETA
(57), BETA
(58), BETA
(59), BETA
(60), BETA
(61), BETA
(62),
293 3 BETA
(63), BETA
(64), BETA
(65), BETA
(66)/
294 4 2.14463263790822639D
-05, 2.23954659232456514D
-05,
295 5 2.28967783814712629D
-05, 2.30785389811177817D
-05,
296 6 2.30321976080909144D
-05, 2.28236073720348722D
-05,
297 7 2.25005881105292418D
-05, 2.20981015361991429D
-05,
298 8 2.16418427448103905D
-05, 2.11507649256220843D
-05,
299 9 2.06388749782170737D
-05, 2.01165241997081666D
-05,
300 A
1.95913450141179244D
-05, 1.90689367910436740D
-05,
301 B
1.85533719641636667D
-05, 1.80475722259674218D
-05,
302 C
5.52213076721292790D
-04, 4.47932581552384646D
-04,
303 D
2.79520653992020589D
-04, 1.52468156198446602D
-04,
304 E
6.93271105657043598D
-05, 1.76258683069991397D
-05/
305 DATA BETA
(67), BETA
(68), BETA
(69), BETA
(70), BETA
(71), BETA
(72),
306 1 BETA
(73), BETA
(74), BETA
(75), BETA
(76), BETA
(77), BETA
(78),
307 2 BETA
(79), BETA
(80), BETA
(81), BETA
(82), BETA
(83), BETA
(84),
308 3 BETA
(85), BETA
(86), BETA
(87), BETA
(88)/
309 4 -1.35744996343269136D
-05, -3.17972413350427135D
-05,
310 5 -4.18861861696693365D
-05, -4.69004889379141029D
-05,
311 6 -4.87665447413787352D
-05, -4.87010031186735069D
-05,
312 7 -4.74755620890086638D
-05, -4.55813058138628452D
-05,
313 8 -4.33309644511266036D
-05, -4.09230193157750364D
-05,
314 9 -3.84822638603221274D
-05, -3.60857167535410501D
-05,
315 A
-3.37793306123367417D
-05, -3.15888560772109621D
-05,
316 B
-2.95269561750807315D
-05, -2.75978914828335759D
-05,
317 C
-2.58006174666883713D
-05, -2.41308356761280200D
-05,
318 D
-2.25823509518346033D
-05, -2.11479656768912971D
-05,
319 E
-1.98200638885294927D
-05, -1.85909870801065077D
-05/
320 DATA BETA
(89), BETA
(90), BETA
(91), BETA
(92), BETA
(93), BETA
(94),
321 1 BETA
(95), BETA
(96), BETA
(97), BETA
(98), BETA
(99), BETA
(100),
322 2 BETA
(101), BETA
(102), BETA
(103), BETA
(104), BETA
(105),
323 3 BETA
(106), BETA
(107), BETA
(108), BETA
(109), BETA
(110)/
324 4 -1.74532699844210224D
-05, -1.63997823854497997D
-05,
325 5 -4.74617796559959808D
-04, -4.77864567147321487D
-04,
326 6 -3.20390228067037603D
-04, -1.61105016119962282D
-04,
327 7 -4.25778101285435204D
-05, 3.44571294294967503D
-05,
328 8 7.97092684075674924D
-05, 1.03138236708272200D
-04,
329 9 1.12466775262204158D
-04, 1.13103642108481389D
-04,
330 A
1.08651634848774268D
-04, 1.01437951597661973D
-04,
331 B
9.29298396593363896D
-05, 8.40293133016089978D
-05,
332 C
7.52727991349134062D
-05, 6.69632521975730872D
-05,
333 D
5.92564547323194704D
-05, 5.22169308826975567D
-05,
334 E
4.58539485165360646D
-05, 4.01445513891486808D
-05/
335 DATA BETA
(111), BETA
(112), BETA
(113), BETA
(114), BETA
(115),
336 1 BETA
(116), BETA
(117), BETA
(118), BETA
(119), BETA
(120),
337 2 BETA
(121), BETA
(122), BETA
(123), BETA
(124), BETA
(125),
338 3 BETA
(126), BETA
(127), BETA
(128), BETA
(129), BETA
(130)/
339 4 3.50481730031328081D
-05, 3.05157995034346659D
-05,
340 5 2.64956119950516039D
-05, 2.29363633690998152D
-05,
341 6 1.97893056664021636D
-05, 1.70091984636412623D
-05,
342 7 1.45547428261524004D
-05, 1.23886640995878413D
-05,
343 8 1.04775876076583236D
-05, 8.79179954978479373D
-06,
344 9 7.36465810572578444D
-04, 8.72790805146193976D
-04,
345 A
6.22614862573135066D
-04, 2.85998154194304147D
-04,
346 B
3.84737672879366102D
-06, -1.87906003636971558D
-04,
347 C
-2.97603646594554535D
-04, -3.45998126832656348D
-04,
348 D
-3.53382470916037712D
-04, -3.35715635775048757D
-04/
349 DATA BETA
(131), BETA
(132), BETA
(133), BETA
(134), BETA
(135),
350 1 BETA
(136), BETA
(137), BETA
(138), BETA
(139), BETA
(140),
351 2 BETA
(141), BETA
(142), BETA
(143), BETA
(144), BETA
(145),
352 3 BETA
(146), BETA
(147), BETA
(148), BETA
(149), BETA
(150)/
353 4 -3.04321124789039809D
-04, -2.66722723047612821D
-04,
354 5 -2.27654214122819527D
-04, -1.89922611854562356D
-04,
355 6 -1.55058918599093870D
-04, -1.23778240761873630D
-04,
356 7 -9.62926147717644187D
-05, -7.25178327714425337D
-05,
357 8 -5.22070028895633801D
-05, -3.50347750511900522D
-05,
358 9 -2.06489761035551757D
-05, -8.70106096849767054D
-06,
359 A
1.13698686675100290D
-06, 9.16426474122778849D
-06,
360 B
1.56477785428872620D
-05, 2.08223629482466847D
-05,
361 C
2.48923381004595156D
-05, 2.80340509574146325D
-05,
362 D
3.03987774629861915D
-05, 3.21156731406700616D
-05/
363 DATA BETA
(151), BETA
(152), BETA
(153), BETA
(154), BETA
(155),
364 1 BETA
(156), BETA
(157), BETA
(158), BETA
(159), BETA
(160),
365 2 BETA
(161), BETA
(162), BETA
(163), BETA
(164), BETA
(165),
366 3 BETA
(166), BETA
(167), BETA
(168), BETA
(169), BETA
(170)/
367 4 -1.80182191963885708D
-03, -2.43402962938042533D
-03,
368 5 -1.83422663549856802D
-03, -7.62204596354009765D
-04,
369 6 2.39079475256927218D
-04, 9.49266117176881141D
-04,
370 7 1.34467449701540359D
-03, 1.48457495259449178D
-03,
371 8 1.44732339830617591D
-03, 1.30268261285657186D
-03,
372 9 1.10351597375642682D
-03, 8.86047440419791759D
-04,
373 A
6.73073208165665473D
-04, 4.77603872856582378D
-04,
374 B
3.05991926358789362D
-04, 1.60315694594721630D
-04,
375 C
4.00749555270613286D
-05, -5.66607461635251611D
-05,
376 D
-1.32506186772982638D
-04, -1.90296187989614057D
-04/
377 DATA BETA
(171), BETA
(172), BETA
(173), BETA
(174), BETA
(175),
378 1 BETA
(176), BETA
(177), BETA
(178), BETA
(179), BETA
(180),
379 2 BETA
(181), BETA
(182), BETA
(183), BETA
(184), BETA
(185),
380 3 BETA
(186), BETA
(187), BETA
(188), BETA
(189), BETA
(190)/
381 4 -2.32811450376937408D
-04, -2.62628811464668841D
-04,
382 5 -2.82050469867598672D
-04, -2.93081563192861167D
-04,
383 6 -2.97435962176316616D
-04, -2.96557334239348078D
-04,
384 7 -2.91647363312090861D
-04, -2.83696203837734166D
-04,
385 8 -2.73512317095673346D
-04, -2.61750155806768580D
-04,
386 9 6.38585891212050914D
-03, 9.62374215806377941D
-03,
387 A
7.61878061207001043D
-03, 2.83219055545628054D
-03,
388 B
-2.09841352012720090D
-03, -5.73826764216626498D
-03,
389 C
-7.70804244495414620D
-03, -8.21011692264844401D
-03,
390 D
-7.65824520346905413D
-03, -6.47209729391045177D
-03/
391 DATA BETA
(191), BETA
(192), BETA
(193), BETA
(194), BETA
(195),
392 1 BETA
(196), BETA
(197), BETA
(198), BETA
(199), BETA
(200),
393 2 BETA
(201), BETA
(202), BETA
(203), BETA
(204), BETA
(205),
394 3 BETA
(206), BETA
(207), BETA
(208), BETA
(209), BETA
(210)/
395 4 -4.99132412004966473D
-03, -3.45612289713133280D
-03,
396 5 -2.01785580014170775D
-03, -7.59430686781961401D
-04,
397 6 2.84173631523859138D
-04, 1.10891667586337403D
-03,
398 7 1.72901493872728771D
-03, 2.16812590802684701D
-03,
399 8 2.45357710494539735D
-03, 2.61281821058334862D
-03,
400 9 2.67141039656276912D
-03, 2.65203073395980430D
-03,
401 A
2.57411652877287315D
-03, 2.45389126236094427D
-03,
402 B
2.30460058071795494D
-03, 2.13684837686712662D
-03,
403 C
1.95896528478870911D
-03, 1.77737008679454412D
-03,
404 D
1.59690280765839059D
-03, 1.42111975664438546D
-03/
405 DATA GAMA
(1), GAMA
(2), GAMA
(3), GAMA
(4), GAMA
(5), GAMA
(6),
406 1 GAMA
(7), GAMA
(8), GAMA
(9), GAMA
(10), GAMA
(11), GAMA
(12),
407 2 GAMA
(13), GAMA
(14), GAMA
(15), GAMA
(16), GAMA
(17), GAMA
(18),
408 3 GAMA
(19), GAMA
(20), GAMA
(21), GAMA
(22)/
409 4 6.29960524947436582D
-01, 2.51984209978974633D
-01,
410 5 1.54790300415655846D
-01, 1.10713062416159013D
-01,
411 6 8.57309395527394825D
-02, 6.97161316958684292D
-02,
412 7 5.86085671893713576D
-02, 5.04698873536310685D
-02,
413 8 4.42600580689154809D
-02, 3.93720661543509966D
-02,
414 9 3.54283195924455368D
-02, 3.21818857502098231D
-02,
415 A
2.94646240791157679D
-02, 2.71581677112934479D
-02,
416 B
2.51768272973861779D
-02, 2.34570755306078891D
-02,
417 C
2.19508390134907203D
-02, 2.06210828235646240D
-02,
418 D
1.94388240897880846D
-02, 1.83810633800683158D
-02,
419 E
1.74293213231963172D
-02, 1.65685837786612353D
-02/
420 DATA GAMA
(23), GAMA
(24), GAMA
(25), GAMA
(26), GAMA
(27), GAMA
(28),
421 1 GAMA
(29), GAMA
(30)/
422 2 1.57865285987918445D
-02, 1.50729501494095594D
-02,
423 3 1.44193250839954639D
-02, 1.38184805735341786D
-02,
424 4 1.32643378994276568D
-02, 1.27517121970498651D
-02,
425 5 1.22761545318762767D
-02, 1.18338262398482403D
-02/
426 DATA EX1
, EX2
, HPI
, GPI
, THPI
/
427 1 3.33333333333333333D
-01, 6.66666666666666667D
-01,
428 2 1.57079632679489662D
+00, 3.14159265358979324D
+00,
429 3 4.71238898038468986D
+00/
430 DATA ZEROR
,ZEROI
,CONER
,CONEI
/ 0.0D0
, 0.0D0
, 1.0D0
, 0.0D0
/
433 C-----------------------------------------------------------------------
434 C OVERFLOW TEST (Z/FNU TOO SMALL)
435 C-----------------------------------------------------------------------
436 TEST
= D1MACH
(1)*1.0D
+3
438 IF (DABS
(ZR
).GT
.AC
.OR
. DABS
(ZI
).GT
.AC
) GO TO 15
439 ZETA1R
= 2.0D0*DABS
(DLOG
(TEST
))+FNU
452 C-----------------------------------------------------------------------
453 C COMPUTE IN THE FOURTH QUADRANT
454 C-----------------------------------------------------------------------
458 W2R
= CONER
- ZBR*ZBR
+ ZBI*ZBI
459 W2I
= CONEI
- ZBR*ZBI
- ZBR*ZBI
461 IF (AW2
.GT
.0.25D0
) GO TO 130
462 C-----------------------------------------------------------------------
463 C POWER SERIES FOR CABS(W2).LE.0.25D0
464 C-----------------------------------------------------------------------
471 IF (AW2
.LT
.TOL
) GO TO 20
473 PR
(K
) = PR
(K
-1)*W2R
- PI
(K
-1)*W2I
474 PI
(K
) = PR
(K
-1)*W2I
+ PI
(K
-1)*W2R
475 SUMAR
= SUMAR
+ PR
(K
)*GAMA
(K
)
476 SUMAI
= SUMAI
+ PI
(K
)*GAMA
(K
)
478 IF (AP
(K
).LT
.TOL
) GO TO 20
483 ZETAR
= W2R*SUMAR
- W2I*SUMAI
484 ZETAI
= W2R*SUMAI
+ W2I*SUMAR
487 CALL AZSQRT
(SUMAR
, SUMAI
, ZAR
, ZAI
)
488 CALL AZSQRT
(W2R
, W2I
, STR
, STI
)
491 STR
= CONER
+ EX2*
(ZETAR*ZAR
-ZETAI*ZAI
)
492 STI
= CONEI
+ EX2*
(ZETAR*ZAI
+ZETAI*ZAR
)
493 ZETA1R
= STR*ZETA2R
- STI*ZETA2I
494 ZETA1I
= STR*ZETA2I
+ STI*ZETA2R
497 CALL AZSQRT
(ZAR
, ZAI
, STR
, STI
)
500 IF (IPMTR
.EQ
.1) GO TO 120
501 C-----------------------------------------------------------------------
502 C SUM SERIES FOR ASUM AND BSUM
503 C-----------------------------------------------------------------------
507 SUMBR
= SUMBR
+ PR
(K
)*BETA
(K
)
508 SUMBI
= SUMBI
+ PI
(K
)*BETA
(K
)
516 BTOL
= TOL*
(DABS
(BSUMR
)+DABS
(BSUMI
))
521 IF (RFNU2
.LT
.TOL
) GO TO 110
525 IF (IAS
.EQ
.1) GO TO 60
530 SUMAR
= SUMAR
+ PR
(K
)*ALFA
(M
)
531 SUMAI
= SUMAI
+ PI
(K
)*ALFA
(M
)
532 IF (AP
(K
).LT
.ATOL
) GO TO 50
535 ASUMR
= ASUMR
+ SUMAR*PP
536 ASUMI
= ASUMI
+ SUMAI*PP
537 IF (PP
.LT
.TOL
) IAS
= 1
539 IF (IBS
.EQ
.1) GO TO 90
544 SUMBR
= SUMBR
+ PR
(K
)*BETA
(M
)
545 SUMBI
= SUMBI
+ PI
(K
)*BETA
(M
)
546 IF (AP
(K
).LT
.ATOL
) GO TO 80
549 BSUMR
= BSUMR
+ SUMBR*PP
550 BSUMI
= BSUMI
+ SUMBI*PP
551 IF (PP
.LT
.BTOL
) IBS
= 1
553 IF (IAS
.EQ
.1 .AND
. IBS
.EQ
.1) GO TO 110
558 ASUMR
= ASUMR
+ CONER
564 C-----------------------------------------------------------------------
566 C-----------------------------------------------------------------------
568 CALL AZSQRT
(W2R
, W2I
, WR
, WI
)
569 IF (WR
.LT
.0.0D0
) WR
= 0.0D0
570 IF (WI
.LT
.0.0D0
) WI
= 0.0D0
573 CALL ZDIV
(STR
, STI
, ZBR
, ZBI
, ZAR
, ZAI
)
574 CALL AZLOG
(ZAR
, ZAI
, ZCR
, ZCI
, IDUM
)
575 IF (ZCI
.LT
.0.0D0
) ZCI
= 0.0D0
576 IF (ZCI
.GT
.HPI
) ZCI
= HPI
577 IF (ZCR
.LT
.0.0D0
) ZCR
= 0.0D0
578 ZTHR
= (ZCR
-WR
)*1.5D0
579 ZTHI
= (ZCI
-WI
)*1.5D0
584 AZTH
= AZABS
(ZTHR
,ZTHI
)
586 IF (ZTHR
.GE
.0.0D0
.AND
. ZTHI
.LT
.0.0D0
) GO TO 140
588 IF (ZTHR
.EQ
.0.0D0
) GO TO 140
589 ANG
= DATAN
(ZTHI
/ZTHR
)
590 IF (ZTHR
.LT
.0.0D0
) ANG
= ANG
+ GPI
596 IF (ZETAI
.LT
.0.0D0
) ZETAI
= 0.0D0
599 CALL ZDIV
(ZTHR
, ZTHI
, ZETAR
, ZETAI
, RTZTR
, RTZTI
)
600 CALL ZDIV
(RTZTR
, RTZTI
, WR
, WI
, ZAR
, ZAI
)
603 CALL AZSQRT
(TZAR
, TZAI
, STR
, STI
)
606 IF (IPMTR
.EQ
.1) GO TO 120
607 RAW
= 1.0D0
/DSQRT
(AW2
)
615 RZTHR
= STR*RAZTH*RFNU
616 RZTHI
= STI*RAZTH*RFNU
624 STR
= T2R*C
(2) + C
(3)
626 UPR
(2) = STR*TFNR
- STI*TFNI
627 UPI
(2) = STR*TFNI
+ STI*TFNR
632 IF (RFNU
.LT
.TOL
) GO TO 220
640 BTOL
= TOL*
(DABS
(BSUMR
)+DABS
(BSUMI
))
648 C-----------------------------------------------------------------------
649 C COMPUTE TWO ADDITIONAL CR, DR, AND UP FOR TWO MORE TERMS IN
651 C-----------------------------------------------------------------------
660 STR
= ZAR*T2R
- T2I*ZAI
+ C
(L
)
661 ZAI
= ZAR*T2I
+ ZAI*T2R
664 STR
= PTFNR*TFNR
- PTFNI*TFNI
665 PTFNI
= PTFNR*TFNI
+ PTFNI*TFNR
667 UPR
(KP1
) = PTFNR*ZAR
- PTFNI*ZAI
668 UPI
(KP1
) = PTFNI*ZAR
+ PTFNR*ZAI
669 CRR
(KS
) = PRZTHR*BR
(KS
+1)
670 CRI
(KS
) = PRZTHI*BR
(KS
+1)
671 STR
= PRZTHR*RZTHR
- PRZTHI*RZTHI
672 PRZTHI
= PRZTHR*RZTHI
+ PRZTHI*RZTHR
674 DRR
(KS
) = PRZTHR*AR
(KS
+2)
675 DRI
(KS
) = PRZTHI*AR
(KS
+2)
678 IF (IAS
.EQ
.1) GO TO 180
684 SUMAR
= SUMAR
+ CRR
(JR
)*UPR
(JU
) - CRI
(JR
)*UPI
(JU
)
685 SUMAI
= SUMAI
+ CRR
(JR
)*UPI
(JU
) + CRI
(JR
)*UPR
(JU
)
687 ASUMR
= ASUMR
+ SUMAR
688 ASUMI
= ASUMI
+ SUMAI
689 TEST
= DABS
(SUMAR
) + DABS
(SUMAI
)
690 IF (PP
.LT
.TOL
.AND
. TEST
.LT
.TOL
) IAS
= 1
692 IF (IBS
.EQ
.1) GO TO 200
693 SUMBR
= UPR
(LR
+2) + UPR
(LRP1
)*ZCR
- UPI
(LRP1
)*ZCI
694 SUMBI
= UPI
(LR
+2) + UPR
(LRP1
)*ZCI
+ UPI
(LRP1
)*ZCR
698 SUMBR
= SUMBR
+ DRR
(JR
)*UPR
(JU
) - DRI
(JR
)*UPI
(JU
)
699 SUMBI
= SUMBI
+ DRR
(JR
)*UPI
(JU
) + DRI
(JR
)*UPR
(JU
)
701 BSUMR
= BSUMR
+ SUMBR
702 BSUMI
= BSUMI
+ SUMBI
703 TEST
= DABS
(SUMBR
) + DABS
(SUMBI
)
704 IF (PP
.LT
.BTOL
.AND
. TEST
.LT
.BTOL
) IBS
= 1
706 IF (IAS
.EQ
.1 .AND
. IBS
.EQ
.1) GO TO 220
709 ASUMR
= ASUMR
+ CONER
712 CALL ZDIV
(STR
, STI
, RTZTR
, RTZTI
, BSUMR
, BSUMI
)