Home » Archimedes archive » Archimedes World » AW-1995-05-Disc1.adf » AWMay95_1 » InTheMag/DrawBasic/!DrawBasic/Library/SpecialFns/Bessel

InTheMag/DrawBasic/!DrawBasic/Library/SpecialFns/Bessel

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1995-05-Disc1.adf » AWMay95_1
Filename: InTheMag/DrawBasic/!DrawBasic/Library/SpecialFns/Bessel
Read OK:
File size: 1530 bytes
Load address: 0000
Exec address: 0000
File contents
    1REM > DrawBasic:Resources.Calculus.SpecialFns.Bessel
    2
    3REM =======================================================
    4REM
    5REM copyright Joe Taylor June 1994
    6REM
    7REM N.B. For ERROR THROWBACK to work The first line above
    8REM      MUST have the correct pathname of this file.
    9REM      If you move the location of the file remember to
   10REM      alter this pathname.
   11REM
   12REM =======================================================
   13REM
   14REM
   15REM ------------------------------------------------------------------
   16REM
   17REM References
   18REM ==========
   19REM
   20REM  1. 'Handbook of Mathematical Functions' Dover Chapter 9
   21REM      M.Abramowitz & I.A.Stegun
   22REM
   23REM  2. 'Numerical Recipes' CUP,  pp.170-180
   24REM      W.H.Press, B.P.Flannery, S.A.Teukolsky & W.T.Vetterling
   25REM
   26REM
   27REM  N.B.
   28REM
   29REM      Bessel functions are solutions of the differential equation
   30REM
   31REM             z^2 (d/dz)^2 w + z dw/dz + (z^2-n^2) w = 0
   32REM
   33REM
   34REM -----------------------------------------------------------------
   35
   36
   37REM ------------------------------------
   38REM
   39REM 1. Bessel functions of the 1st kind
   40REM
   41REM ------------------------------------
   42
   43DEF FNBesselJ0(x)
   44LOCAL i%,y,result,ax,y,z,xx
   45LOCAL DATA
   46IF ABSx < 8 THEN
   47 y=x*x
   48 RESTORE +0
   49 DATA -184.9052456,77392.33017,-11214424.18,651619640.7,-13362590354,57568490574
   50 DATA 1,267.8532712,59272.64853,9494680.718,1029532985,57568490411
   51 result=FNPolynomial(y,6)/FNPolynomial(y,6)
   52ELSE
   53 ax=ABSx
   54 z=8/ax
   55 y=z*z
   56 xx=ax-PI/4
   57 RESTORE +0
   58 DATA .2093887211E-6,-.20733706397E-5,.2734510407E-4,-.1098628627E-2,1
   59 DATA -.934945152E-7,.7621095161E-6,-.6911147651E-5
   60 DATA .1430488765E-3,-.1562499995E-1
   61 result=COS(xx)*FNPolynomial(y,5)-z*SIN(xx)*FNPolynomial(y,5)
   62 result=SQR(2/ax/PI)*result
   63ENDIF
   64RESTORE DATA
   65=result
   66
   67DEF FNBesselJ1(x)
   68LOCAL i%,y,result,ax,y,z,xx
   69LOCAL DATA
   70IF ABSx < 8 THEN
   71 y=x*x
   72 RESTORE +0
   73 DATA -30.16036606,15704.4826,-2972611.439,242396853.1,-7895059235,72362614232
   74 DATA 1,376.9991397,99447.43394,18583304.74,2300535178,144725228442
   75 result=x*FNPolynomial(y,6)/FNPolynomial(y,6)
   76ELSE
   77 ax=ABSx
   78 z=8/ax
   79 y=z*z
   80 xx=ax-3*PI/4
   81 RESTORE +0
   82 DATA -.240337019E-6,.2457520174E-5,-.3516396496E-4,.183105E-2,1
   83 DATA .105787412E-6,-.88228987E-6,.8449199096E-5,-.2002690873E-3,.04687499995
   84 result=(COS(xx)*FNPolynomial(y,5)-z*SIN(xx)*FNPolynomial(y,5))*SGN(x)
   85 result=SQR(2/ax/PI)*result
   86ENDIF
   87RESTORE DATA
   88=result
   89
   90DEF FNBesselJ(x,order%)
   91LOCAL B,ax
   92CASE order% OF
   93 WHEN 0 : B=FNBesselJ0(x)
   94 WHEN 1 : B=FNBesselJ1(x)
   95 OTHERWISE
   96  ax=ABSx
   97  CASE TRUE OF
   98   WHEN ax=0      : B=0
   99   WHEN ax>order% : B=FNBesselForwardRecurrence(ax,order%)
  100   OTHERWISE      : B=FNBesselBackwardRecurrence(ax,order%)
  101  ENDCASE
  102ENDCASE
  103=B
  104
  105DEF FNBesselForwardRecurrence(ax,order%)
  106LOCAL B0,B1,B,jj%,tox
  107tox=2/ax
  108B0=FNBesselJ0(ax) : B1=FNBesselJ1(ax)
  109FOR jj%=1 TO order%-1
  110 B=jj%*tox*B1-B0
  111 B0=B1 : B1=B
  112 NEXT
  113=B
  114
  115DEF FNBesselBackwardRecurrence(ax,order%)
  116LOCAL BJP,BJ,BJM,jj%,tox,sum,bessj,jsum%
  117tox=2/ax
  118mm%=2*((order%+INT(SQR(order%*40))) DIV 2)
  119BJP=0 : BJ=1 : sum=0 : jsum%=0 : bessj=0
  120FOR jj%=mm% TO 1 STEP-1
  121 BJM=jj%*tox*BJ-BJP
  122 BJP=BJ : BJ=BJM
  123 IF ABS(BJ)>1E10 THEN
  124  BJ=BJ/1E10 : BJP=BJP/1E10 : bessj=bessj/1E10 : sum=sum/1E10
  125  ENDIF
  126 IF jsum%<>0 THEN sum+=BJ
  127 jsum%=1-jsum%
  128 IF jj%=order% THEN bessj=BJP
  129 NEXT
  130 sum=2*sum-BJ
  131 =bessj/sum
  132
  133DEF FNBesselJ_Asymptotic(x,n%)=SQR(2/PI/x)*COS(x-PI*n%/2-PI/4)
  134
  135REM ------------------------------------
  136REM
  137REM 2. Bessel functions of the 2cnd kind
  138REM
  139REM ------------------------------------
  140
  141DEF FNBesselY0(x)
  142REM Not defined for negative x
  143LOCAL i%,y,result,y,z,xx
  144LOCAL DATA
  145IF x < 8 THEN
  146 y=x*x
  147 RESTORE +0
  148 DATA 228.4622733,-86327.92757,10879881.29,-512359803.6,7062834065,-2957821389
  149 DATA 1,226.1030244,47447.2647,7189466.438,745249964.8,40076544269
  150 result=FNPolynomial(y,6)/FNPolynomial(y,6)+.636619772*FNBesselJ0(x)*LN(x)
  151ELSE
  152 z=8/x
  153 y=z*z
  154 xx=x-.785398164
  155 RESTORE +0
  156 DATA .2093887211E-6,-.2073370639E-5,.2734510407E-4,-.1098628627E-2,1
  157 DATA -.934945152E-7,.7621095161E-6,-.6911147651E-5,.1430488765E-3
  158 DATA -.1562499995E-1
  159 result=SQR(.636619772/x)
  160 result=result*(SIN(xx)*FNPolynomial(y,5)+z*COS(xx)*FNPolynomial(y,5))
  161ENDIF
  162RESTORE DATA
  163=result
  164
  165DEF FNBesselY1(x)
  166REM Not defined for negative x
  167LOCAL i%,y,result,y,z,xx
  168LOCAL DATA
  169IF x < 8 THEN
  170 y=x*x
  171 RESTORE +0
  172 DATA .8511937935E4,-.4237922726E7,.7349264551E9,-.5153438139E11
  173 DATA .1275274390E13,-.4900604943E13
  174 result=x*FNPolynomial(y,6)
  175 DATA 1,.3549632885E3,.102042605E6,.2245904002E8,.3733650367E10
  176 DATA .4244419664E12,.249958057E14
  177 result=result/FNPolynomial(y,7)+.636619772*(FNBesselJ1(x)*LN(x)-1/x)
  178ELSE
  179 z=8/x
  180 y=z*z
  181 xx=x-2.356194491
  182 RESTORE +0
  183 DATA -.240337019E-6,.2457520174E-5,-.3516396496E-4,.183105E-2,1
  184 result=SIN(xx)*FNPolynomial(y,5)
  185 DATA .105787412E-6,-.88228987E-6,.8449199096E-5,-.2002690873E-3,.04687499995
  186 result+=z*COS(xx)*FNPolynomial(y,5)
  187 result=SQR(.636619772/x)*result
  188ENDIF
  189RESTORE DATA
  190=result
  191
  192DEF FNBesselY(x,order%)
  193LOCAL B,factor,b1,b0,ii%
  194CASE order% OF
  195 WHEN 0
  196  B=FNBesselY0(x)
  197 WHEN 1
  198  B=FNBesselY1(x)
  199 OTHERWISE
  200  factor=2/x
  201  b1=FNBesselY1(x) : b0=FNBesselY0(x)
  202  FOR ii%=1 TO order%-1
  203   B=ii%*factor*b1-b0
  204   b0=b1 : b1=B
  205   NEXT
  206ENDCASE
  207=B
  208
  209REM ------------------------------------
  210REM
  211REM 3. Utility : Evaluating Polynomials
  212REM
  213REM ------------------------------------
  214
  215DEF FNPolynomial(x,n%)
  216LOCAL i%,coeff,P
  217P=0
  218FOR i%=1 TO n%
  219 READ coeff
  220 P=coeff+P*x
  221 NEXT
  222=P
6� > DrawBasic:Resources.Calculus.SpecialFns.Bessel

=� =======================================================
�
$� copyright Joe Taylor June 1994
�
;� N.B. For ERROR THROWBACK to work The first line above
7�      MUST have the correct pathname of this file.
	;�      If you move the location of the file remember to

�      alter this pathname.
�
=� =======================================================

�
�
H� ------------------------------------------------------------------
�
� References
� ==========
�
>�  1. 'Handbook of Mathematical Functions' Dover Chapter 9
$�      M.Abramowitz & I.A.Stegun
�
.�  2. 'Numerical Recipes' CUP,  pp.170-180
B�      W.H.Press, B.P.Flannery, S.A.Teukolsky & W.T.Vetterling
�
�
�  N.B.
�
F�      Bessel functions are solutions of the differential equation
�
<�             z^2 (d/dz)^2 w + z dw/dz + (z^2-n^2) w = 0
 �
!�
"G� -----------------------------------------------------------------
#
$
%*� ------------------------------------
&�
')� 1. Bessel functions of the 1st kind
(�
)*� ------------------------------------
*
+� �BesselJ0(x)
,� i%,y,result,ax,y,z,xx
-� �
.� �x < 8 �
/
 y=x*x
0	 � +0
1Q � -184.9052456,77392.33017,-11214424.18,651619640.7,-13362590354,57568490574
2C � 1,267.8532712,59272.64853,9494680.718,1029532985,57568490411
3- result=�Polynomial(y,6)/�Polynomial(y,6)
4�
5
 ax=�x
6 z=8/ax
7
 y=z*z
8 xx=ax-�/4
9	 � +0
:G � .2093887211E-6,-.20733706397E-5,.2734510407E-4,-.1098628627E-2,1
;4 � -.934945152E-7,.7621095161E-6,-.6911147651E-5
<% � .1430488765E-3,-.1562499995E-1
=; result=�(xx)*�Polynomial(y,5)-z*�(xx)*�Polynomial(y,5)
> result=�(2/ax/�)*result
?�
@� �
A=result
B
C� �BesselJ1(x)
D� i%,y,result,ax,y,z,xx
E� �
F� �x < 8 �
G
 y=x*x
H	 � +0
IO � -30.16036606,15704.4826,-2972611.439,242396853.1,-7895059235,72362614232
JD � 1,376.9991397,99447.43394,18583304.74,2300535178,144725228442
K/ result=x*�Polynomial(y,6)/�Polynomial(y,6)
L�
M
 ax=�x
N z=8/ax
O
 y=z*z
P xx=ax-3*�/4
Q	 � +0
RA � -.240337019E-6,.2457520174E-5,-.3516396496E-4,.183105E-2,1
SN � .105787412E-6,-.88228987E-6,.8449199096E-5,-.2002690873E-3,.04687499995
TB result=(�(xx)*�Polynomial(y,5)-z*�(xx)*�Polynomial(y,5))*�(x)
U result=�(2/ax/�)*result
V�
W� �
X=result
Y
Z� �BesselJ(x,order%)
[
� B,ax
\Ȏ order% �
] � 0 : B=�BesselJ0(x)
^ � 1 : B=�BesselJ1(x)
_ 
`  ax=�x
a  Ȏ � �
b   � ax=0      : B=0
c:   � ax>order% : B=�BesselForwardRecurrence(ax,order%)
d6         : B=�BesselBackwardRecurrence(ax,order%)
e  �
f�
g=B
h
i)� �BesselForwardRecurrence(ax,order%)
j� B0,B1,B,jj%,tox
ktox=2/ax
l'B0=�BesselJ0(ax) : B1=�BesselJ1(ax)
m� jj%=1 � order%-1
n B=jj%*tox*B1-B0
o B0=B1 : B1=B
p �
q=B
r
s*� �BesselBackwardRecurrence(ax,order%)
t(� BJP,BJ,BJM,jj%,tox,sum,bessj,jsum%
utox=2/ax
v(mm%=2*((order%+�(�(order%*40))) � 2)
w,BJP=0 : BJ=1 : sum=0 : jsum%=0 : bessj=0
x� jj%=mm% � 1 �-1
y BJM=jj%*tox*BJ-BJP
z BJP=BJ : BJ=BJM
{ � �(BJ)>1E10 �
|A  BJ=BJ/1E10 : BJP=BJP/1E10 : bessj=bessj/1E10 : sum=sum/1E10
}  �
~ � jsum%<>0 � sum+=BJ
 jsum%=1-jsum%
� � jj%=order% � bessj=BJP
� �
� sum=2*sum-BJ
� =bessj/sum
�
�8� �BesselJ_Asymptotic(x,n%)=�(2/�/x)*�(x-�*n%/2-�/4)
�
�*� ------------------------------------
��
�*� 2. Bessel functions of the 2cnd kind
��
�*� ------------------------------------
�
�� �BesselY0(x)
� � Not defined for negative x
�� i%,y,result,y,z,xx
�� �
�
� x < 8 �
�
 y=x*x
�	 � +0
�O � 228.4622733,-86327.92757,10879881.29,-512359803.6,7062834065,-2957821389
�C � 1,226.1030244,47447.2647,7189466.438,745249964.8,40076544269
�J result=�Polynomial(y,6)/�Polynomial(y,6)+.636619772*�BesselJ0(x)*�(x)
��
�
 z=8/x
�
 y=z*z
� xx=x-.785398164
�	 � +0
�F � .2093887211E-6,-.2073370639E-5,.2734510407E-4,-.1098628627E-2,1
�C � -.934945152E-7,.7621095161E-6,-.6911147651E-5,.1430488765E-3
� � -.1562499995E-1
� result=�(.636619772/x)
�D result=result*(�(xx)*�Polynomial(y,5)+z*�(xx)*�Polynomial(y,5))
��
�� �
�=result
�
�� �BesselY1(x)
� � Not defined for negative x
�� i%,y,result,y,z,xx
�� �
�
� x < 8 �
�
 y=x*x
�	 � +0
�A � .8511937935E4,-.4237922726E7,.7349264551E9,-.5153438139E11
�% � .1275274390E13,-.4900604943E13
� result=x*�Polynomial(y,6)
�@ � 1,.3549632885E3,.102042605E6,.2245904002E8,.3733650367E10
�# � .4244419664E12,.249958057E14
�F result=result/�Polynomial(y,7)+.636619772*(�BesselJ1(x)*�(x)-1/x)
��
�
 z=8/x
�
 y=z*z
� xx=x-2.356194491
�	 � +0
�A � -.240337019E-6,.2457520174E-5,-.3516396496E-4,.183105E-2,1
�" result=�(xx)*�Polynomial(y,5)
�N � .105787412E-6,-.88228987E-6,.8449199096E-5,-.2002690873E-3,.04687499995
�% result+=z*�(xx)*�Polynomial(y,5)
�" result=�(.636619772/x)*result
��
�� �
�=result
�
�� �BesselY(x,order%)
�� B,factor,b1,b0,ii%
�Ȏ order% �
� � 0
�  B=�BesselY0(x)
� � 1
�  B=�BesselY1(x)
� 
�  factor=2/x
�'  b1=�BesselY1(x) : b0=�BesselY0(x)
�  � ii%=1 � order%-1
�   B=ii%*factor*b1-b0
�   b0=b1 : b1=B
�   �
��
�=B
�
�*� ------------------------------------
��
�)� 3. Utility : Evaluating Polynomials
��
�*� ------------------------------------
�
�� �Polynomial(x,n%)
�� i%,coeff,P
�P=0
�� i%=1 � n%
� � coeff
� P=coeff+P*x
� �
�=P
�
00000000  0d 00 01 36 f4 20 3e 20  44 72 61 77 42 61 73 69  |...6. > DrawBasi|
00000010  63 3a 52 65 73 6f 75 72  63 65 73 2e 43 61 6c 63  |c:Resources.Calc|
00000020  75 6c 75 73 2e 53 70 65  63 69 61 6c 46 6e 73 2e  |ulus.SpecialFns.|
00000030  42 65 73 73 65 6c 0d 00  02 04 0d 00 03 3d f4 20  |Bessel.......=. |
00000040  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000070  3d 3d 3d 3d 3d 3d 3d 0d  00 04 05 f4 0d 00 05 24  |=======........$|
00000080  f4 20 63 6f 70 79 72 69  67 68 74 20 4a 6f 65 20  |. copyright Joe |
00000090  54 61 79 6c 6f 72 20 4a  75 6e 65 20 31 39 39 34  |Taylor June 1994|
000000a0  0d 00 06 05 f4 0d 00 07  3b f4 20 4e 2e 42 2e 20  |........;. N.B. |
000000b0  46 6f 72 20 45 52 52 4f  52 20 54 48 52 4f 57 42  |For ERROR THROWB|
000000c0  41 43 4b 20 74 6f 20 77  6f 72 6b 20 54 68 65 20  |ACK to work The |
000000d0  66 69 72 73 74 20 6c 69  6e 65 20 61 62 6f 76 65  |first line above|
000000e0  0d 00 08 37 f4 20 20 20  20 20 20 4d 55 53 54 20  |...7.      MUST |
000000f0  68 61 76 65 20 74 68 65  20 63 6f 72 72 65 63 74  |have the correct|
00000100  20 70 61 74 68 6e 61 6d  65 20 6f 66 20 74 68 69  | pathname of thi|
00000110  73 20 66 69 6c 65 2e 0d  00 09 3b f4 20 20 20 20  |s file....;.    |
00000120  20 20 49 66 20 79 6f 75  20 6d 6f 76 65 20 74 68  |  If you move th|
00000130  65 20 6c 6f 63 61 74 69  6f 6e 20 6f 66 20 74 68  |e location of th|
00000140  65 20 66 69 6c 65 20 72  65 6d 65 6d 62 65 72 20  |e file remember |
00000150  74 6f 0d 00 0a 1f f4 20  20 20 20 20 20 61 6c 74  |to.....      alt|
00000160  65 72 20 74 68 69 73 20  70 61 74 68 6e 61 6d 65  |er this pathname|
00000170  2e 0d 00 0b 05 f4 0d 00  0c 3d f4 20 3d 3d 3d 3d  |.........=. ====|
00000180  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000001b0  3d 3d 3d 0d 00 0d 05 f4  0d 00 0e 05 f4 0d 00 0f  |===.............|
000001c0  48 f4 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |H. -------------|
000001d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000200  2d 2d 2d 2d 2d 0d 00 10  05 f4 0d 00 11 10 f4 20  |-----.......... |
00000210  52 65 66 65 72 65 6e 63  65 73 0d 00 12 10 f4 20  |References..... |
00000220  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 0d 00 13 05 f4 0d  |==========......|
00000230  00 14 3e f4 20 20 31 2e  20 27 48 61 6e 64 62 6f  |..>.  1. 'Handbo|
00000240  6f 6b 20 6f 66 20 4d 61  74 68 65 6d 61 74 69 63  |ok of Mathematic|
00000250  61 6c 20 46 75 6e 63 74  69 6f 6e 73 27 20 44 6f  |al Functions' Do|
00000260  76 65 72 20 43 68 61 70  74 65 72 20 39 0d 00 15  |ver Chapter 9...|
00000270  24 f4 20 20 20 20 20 20  4d 2e 41 62 72 61 6d 6f  |$.      M.Abramo|
00000280  77 69 74 7a 20 26 20 49  2e 41 2e 53 74 65 67 75  |witz & I.A.Stegu|
00000290  6e 0d 00 16 05 f4 0d 00  17 2e f4 20 20 32 2e 20  |n..........  2. |
000002a0  27 4e 75 6d 65 72 69 63  61 6c 20 52 65 63 69 70  |'Numerical Recip|
000002b0  65 73 27 20 43 55 50 2c  20 20 70 70 2e 31 37 30  |es' CUP,  pp.170|
000002c0  2d 31 38 30 0d 00 18 42  f4 20 20 20 20 20 20 57  |-180...B.      W|
000002d0  2e 48 2e 50 72 65 73 73  2c 20 42 2e 50 2e 46 6c  |.H.Press, B.P.Fl|
000002e0  61 6e 6e 65 72 79 2c 20  53 2e 41 2e 54 65 75 6b  |annery, S.A.Teuk|
000002f0  6f 6c 73 6b 79 20 26 20  57 2e 54 2e 56 65 74 74  |olsky & W.T.Vett|
00000300  65 72 6c 69 6e 67 0d 00  19 05 f4 0d 00 1a 05 f4  |erling..........|
00000310  0d 00 1b 0b f4 20 20 4e  2e 42 2e 0d 00 1c 05 f4  |.....  N.B......|
00000320  0d 00 1d 46 f4 20 20 20  20 20 20 42 65 73 73 65  |...F.      Besse|
00000330  6c 20 66 75 6e 63 74 69  6f 6e 73 20 61 72 65 20  |l functions are |
00000340  73 6f 6c 75 74 69 6f 6e  73 20 6f 66 20 74 68 65  |solutions of the|
00000350  20 64 69 66 66 65 72 65  6e 74 69 61 6c 20 65 71  | differential eq|
00000360  75 61 74 69 6f 6e 0d 00  1e 05 f4 0d 00 1f 3c f4  |uation........<.|
00000370  20 20 20 20 20 20 20 20  20 20 20 20 20 7a 5e 32  |             z^2|
00000380  20 28 64 2f 64 7a 29 5e  32 20 77 20 2b 20 7a 20  | (d/dz)^2 w + z |
00000390  64 77 2f 64 7a 20 2b 20  28 7a 5e 32 2d 6e 5e 32  |dw/dz + (z^2-n^2|
000003a0  29 20 77 20 3d 20 30 0d  00 20 05 f4 0d 00 21 05  |) w = 0.. ....!.|
000003b0  f4 0d 00 22 47 f4 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..."G. ---------|
000003c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000003f0  2d 2d 2d 2d 2d 2d 2d 2d  0d 00 23 04 0d 00 24 04  |--------..#...$.|
00000400  0d 00 25 2a f4 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..%*. ----------|
00000410  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000420  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 00 26 05 f4 0d  |----------..&...|
00000430  00 27 29 f4 20 31 2e 20  42 65 73 73 65 6c 20 66  |.'). 1. Bessel f|
00000440  75 6e 63 74 69 6f 6e 73  20 6f 66 20 74 68 65 20  |unctions of the |
00000450  31 73 74 20 6b 69 6e 64  0d 00 28 05 f4 0d 00 29  |1st kind..(....)|
00000460  2a f4 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |*. -------------|
00000470  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000480  2d 2d 2d 2d 2d 2d 2d 0d  00 2a 04 0d 00 2b 12 dd  |-------..*...+..|
00000490  20 a4 42 65 73 73 65 6c  4a 30 28 78 29 0d 00 2c  | .BesselJ0(x)..,|
000004a0  1b ea 20 69 25 2c 79 2c  72 65 73 75 6c 74 2c 61  |.. i%,y,result,a|
000004b0  78 2c 79 2c 7a 2c 78 78  0d 00 2d 07 ea 20 dc 0d  |x,y,z,xx..-.. ..|
000004c0  00 2e 0e e7 20 94 78 20  3c 20 38 20 8c 0d 00 2f  |.... .x < 8 .../|
000004d0  0a 20 79 3d 78 2a 78 0d  00 30 09 20 f7 20 2b 30  |. y=x*x..0. . +0|
000004e0  0d 00 31 51 20 dc 20 2d  31 38 34 2e 39 30 35 32  |..1Q . -184.9052|
000004f0  34 35 36 2c 37 37 33 39  32 2e 33 33 30 31 37 2c  |456,77392.33017,|
00000500  2d 31 31 32 31 34 34 32  34 2e 31 38 2c 36 35 31  |-11214424.18,651|
00000510  36 31 39 36 34 30 2e 37  2c 2d 31 33 33 36 32 35  |619640.7,-133625|
00000520  39 30 33 35 34 2c 35 37  35 36 38 34 39 30 35 37  |90354,5756849057|
00000530  34 0d 00 32 43 20 dc 20  31 2c 32 36 37 2e 38 35  |4..2C . 1,267.85|
00000540  33 32 37 31 32 2c 35 39  32 37 32 2e 36 34 38 35  |32712,59272.6485|
00000550  33 2c 39 34 39 34 36 38  30 2e 37 31 38 2c 31 30  |3,9494680.718,10|
00000560  32 39 35 33 32 39 38 35  2c 35 37 35 36 38 34 39  |29532985,5756849|
00000570  30 34 31 31 0d 00 33 2d  20 72 65 73 75 6c 74 3d  |0411..3- result=|
00000580  a4 50 6f 6c 79 6e 6f 6d  69 61 6c 28 79 2c 36 29  |.Polynomial(y,6)|
00000590  2f a4 50 6f 6c 79 6e 6f  6d 69 61 6c 28 79 2c 36  |/.Polynomial(y,6|
000005a0  29 0d 00 34 05 cc 0d 00  35 0a 20 61 78 3d 94 78  |)..4....5. ax=.x|
000005b0  0d 00 36 0b 20 7a 3d 38  2f 61 78 0d 00 37 0a 20  |..6. z=8/ax..7. |
000005c0  79 3d 7a 2a 7a 0d 00 38  0e 20 78 78 3d 61 78 2d  |y=z*z..8. xx=ax-|
000005d0  af 2f 34 0d 00 39 09 20  f7 20 2b 30 0d 00 3a 47  |./4..9. . +0..:G|
000005e0  20 dc 20 2e 32 30 39 33  38 38 37 32 31 31 45 2d  | . .2093887211E-|
000005f0  36 2c 2d 2e 32 30 37 33  33 37 30 36 33 39 37 45  |6,-.20733706397E|
00000600  2d 35 2c 2e 32 37 33 34  35 31 30 34 30 37 45 2d  |-5,.2734510407E-|
00000610  34 2c 2d 2e 31 30 39 38  36 32 38 36 32 37 45 2d  |4,-.1098628627E-|
00000620  32 2c 31 0d 00 3b 34 20  dc 20 2d 2e 39 33 34 39  |2,1..;4 . -.9349|
00000630  34 35 31 35 32 45 2d 37  2c 2e 37 36 32 31 30 39  |45152E-7,.762109|
00000640  35 31 36 31 45 2d 36 2c  2d 2e 36 39 31 31 31 34  |5161E-6,-.691114|
00000650  37 36 35 31 45 2d 35 0d  00 3c 25 20 dc 20 2e 31  |7651E-5..<% . .1|
00000660  34 33 30 34 38 38 37 36  35 45 2d 33 2c 2d 2e 31  |430488765E-3,-.1|
00000670  35 36 32 34 39 39 39 39  35 45 2d 31 0d 00 3d 3b  |562499995E-1..=;|
00000680  20 72 65 73 75 6c 74 3d  9b 28 78 78 29 2a a4 50  | result=.(xx)*.P|
00000690  6f 6c 79 6e 6f 6d 69 61  6c 28 79 2c 35 29 2d 7a  |olynomial(y,5)-z|
000006a0  2a b5 28 78 78 29 2a a4  50 6f 6c 79 6e 6f 6d 69  |*.(xx)*.Polynomi|
000006b0  61 6c 28 79 2c 35 29 0d  00 3e 1c 20 72 65 73 75  |al(y,5)..>. resu|
000006c0  6c 74 3d b6 28 32 2f 61  78 2f af 29 2a 72 65 73  |lt=.(2/ax/.)*res|
000006d0  75 6c 74 0d 00 3f 05 cd  0d 00 40 07 f7 20 dc 0d  |ult..?....@.. ..|
000006e0  00 41 0b 3d 72 65 73 75  6c 74 0d 00 42 04 0d 00  |.A.=result..B...|
000006f0  43 12 dd 20 a4 42 65 73  73 65 6c 4a 31 28 78 29  |C.. .BesselJ1(x)|
00000700  0d 00 44 1b ea 20 69 25  2c 79 2c 72 65 73 75 6c  |..D.. i%,y,resul|
00000710  74 2c 61 78 2c 79 2c 7a  2c 78 78 0d 00 45 07 ea  |t,ax,y,z,xx..E..|
00000720  20 dc 0d 00 46 0e e7 20  94 78 20 3c 20 38 20 8c  | ...F.. .x < 8 .|
00000730  0d 00 47 0a 20 79 3d 78  2a 78 0d 00 48 09 20 f7  |..G. y=x*x..H. .|
00000740  20 2b 30 0d 00 49 4f 20  dc 20 2d 33 30 2e 31 36  | +0..IO . -30.16|
00000750  30 33 36 36 30 36 2c 31  35 37 30 34 2e 34 38 32  |036606,15704.482|
00000760  36 2c 2d 32 39 37 32 36  31 31 2e 34 33 39 2c 32  |6,-2972611.439,2|
00000770  34 32 33 39 36 38 35 33  2e 31 2c 2d 37 38 39 35  |42396853.1,-7895|
00000780  30 35 39 32 33 35 2c 37  32 33 36 32 36 31 34 32  |059235,723626142|
00000790  33 32 0d 00 4a 44 20 dc  20 31 2c 33 37 36 2e 39  |32..JD . 1,376.9|
000007a0  39 39 31 33 39 37 2c 39  39 34 34 37 2e 34 33 33  |991397,99447.433|
000007b0  39 34 2c 31 38 35 38 33  33 30 34 2e 37 34 2c 32  |94,18583304.74,2|
000007c0  33 30 30 35 33 35 31 37  38 2c 31 34 34 37 32 35  |300535178,144725|
000007d0  32 32 38 34 34 32 0d 00  4b 2f 20 72 65 73 75 6c  |228442..K/ resul|
000007e0  74 3d 78 2a a4 50 6f 6c  79 6e 6f 6d 69 61 6c 28  |t=x*.Polynomial(|
000007f0  79 2c 36 29 2f a4 50 6f  6c 79 6e 6f 6d 69 61 6c  |y,6)/.Polynomial|
00000800  28 79 2c 36 29 0d 00 4c  05 cc 0d 00 4d 0a 20 61  |(y,6)..L....M. a|
00000810  78 3d 94 78 0d 00 4e 0b  20 7a 3d 38 2f 61 78 0d  |x=.x..N. z=8/ax.|
00000820  00 4f 0a 20 79 3d 7a 2a  7a 0d 00 50 10 20 78 78  |.O. y=z*z..P. xx|
00000830  3d 61 78 2d 33 2a af 2f  34 0d 00 51 09 20 f7 20  |=ax-3*./4..Q. . |
00000840  2b 30 0d 00 52 41 20 dc  20 2d 2e 32 34 30 33 33  |+0..RA . -.24033|
00000850  37 30 31 39 45 2d 36 2c  2e 32 34 35 37 35 32 30  |7019E-6,.2457520|
00000860  31 37 34 45 2d 35 2c 2d  2e 33 35 31 36 33 39 36  |174E-5,-.3516396|
00000870  34 39 36 45 2d 34 2c 2e  31 38 33 31 30 35 45 2d  |496E-4,.183105E-|
00000880  32 2c 31 0d 00 53 4e 20  dc 20 2e 31 30 35 37 38  |2,1..SN . .10578|
00000890  37 34 31 32 45 2d 36 2c  2d 2e 38 38 32 32 38 39  |7412E-6,-.882289|
000008a0  38 37 45 2d 36 2c 2e 38  34 34 39 31 39 39 30 39  |87E-6,.844919909|
000008b0  36 45 2d 35 2c 2d 2e 32  30 30 32 36 39 30 38 37  |6E-5,-.200269087|
000008c0  33 45 2d 33 2c 2e 30 34  36 38 37 34 39 39 39 39  |3E-3,.0468749999|
000008d0  35 0d 00 54 42 20 72 65  73 75 6c 74 3d 28 9b 28  |5..TB result=(.(|
000008e0  78 78 29 2a a4 50 6f 6c  79 6e 6f 6d 69 61 6c 28  |xx)*.Polynomial(|
000008f0  79 2c 35 29 2d 7a 2a b5  28 78 78 29 2a a4 50 6f  |y,5)-z*.(xx)*.Po|
00000900  6c 79 6e 6f 6d 69 61 6c  28 79 2c 35 29 29 2a b4  |lynomial(y,5))*.|
00000910  28 78 29 0d 00 55 1c 20  72 65 73 75 6c 74 3d b6  |(x)..U. result=.|
00000920  28 32 2f 61 78 2f af 29  2a 72 65 73 75 6c 74 0d  |(2/ax/.)*result.|
00000930  00 56 05 cd 0d 00 57 07  f7 20 dc 0d 00 58 0b 3d  |.V....W.. ...X.=|
00000940  72 65 73 75 6c 74 0d 00  59 04 0d 00 5a 18 dd 20  |result..Y...Z.. |
00000950  a4 42 65 73 73 65 6c 4a  28 78 2c 6f 72 64 65 72  |.BesselJ(x,order|
00000960  25 29 0d 00 5b 0a ea 20  42 2c 61 78 0d 00 5c 0f  |%)..[.. B,ax..\.|
00000970  c8 8e 20 6f 72 64 65 72  25 20 ca 0d 00 5d 19 20  |.. order% ...]. |
00000980  c9 20 30 20 3a 20 42 3d  a4 42 65 73 73 65 6c 4a  |. 0 : B=.BesselJ|
00000990  30 28 78 29 0d 00 5e 19  20 c9 20 31 20 3a 20 42  |0(x)..^. . 1 : B|
000009a0  3d a4 42 65 73 73 65 6c  4a 31 28 78 29 0d 00 5f  |=.BesselJ1(x).._|
000009b0  06 20 7f 0d 00 60 0b 20  20 61 78 3d 94 78 0d 00  |. ...`.  ax=.x..|
000009c0  61 0c 20 20 c8 8e 20 b9  20 ca 0d 00 62 18 20 20  |a.  .. . ...b.  |
000009d0  20 c9 20 61 78 3d 30 20  20 20 20 20 20 3a 20 42  | . ax=0      : B|
000009e0  3d 30 0d 00 63 3a 20 20  20 c9 20 61 78 3e 6f 72  |=0..c:   . ax>or|
000009f0  64 65 72 25 20 3a 20 42  3d a4 42 65 73 73 65 6c  |der% : B=.Bessel|
00000a00  46 6f 72 77 61 72 64 52  65 63 75 72 72 65 6e 63  |ForwardRecurrenc|
00000a10  65 28 61 78 2c 6f 72 64  65 72 25 29 0d 00 64 36  |e(ax,order%)..d6|
00000a20  20 20 20 7f 20 20 20 20  20 20 3a 20 42 3d a4 42  |   .      : B=.B|
00000a30  65 73 73 65 6c 42 61 63  6b 77 61 72 64 52 65 63  |esselBackwardRec|
00000a40  75 72 72 65 6e 63 65 28  61 78 2c 6f 72 64 65 72  |urrence(ax,order|
00000a50  25 29 0d 00 65 07 20 20  cb 0d 00 66 05 cb 0d 00  |%)..e.  ...f....|
00000a60  67 06 3d 42 0d 00 68 04  0d 00 69 29 dd 20 a4 42  |g.=B..h...i). .B|
00000a70  65 73 73 65 6c 46 6f 72  77 61 72 64 52 65 63 75  |esselForwardRecu|
00000a80  72 72 65 6e 63 65 28 61  78 2c 6f 72 64 65 72 25  |rrence(ax,order%|
00000a90  29 0d 00 6a 15 ea 20 42  30 2c 42 31 2c 42 2c 6a  |)..j.. B0,B1,B,j|
00000aa0  6a 25 2c 74 6f 78 0d 00  6b 0c 74 6f 78 3d 32 2f  |j%,tox..k.tox=2/|
00000ab0  61 78 0d 00 6c 27 42 30  3d a4 42 65 73 73 65 6c  |ax..l'B0=.Bessel|
00000ac0  4a 30 28 61 78 29 20 3a  20 42 31 3d a4 42 65 73  |J0(ax) : B1=.Bes|
00000ad0  73 65 6c 4a 31 28 61 78  29 0d 00 6d 16 e3 20 6a  |selJ1(ax)..m.. j|
00000ae0  6a 25 3d 31 20 b8 20 6f  72 64 65 72 25 2d 31 0d  |j%=1 . order%-1.|
00000af0  00 6e 14 20 42 3d 6a 6a  25 2a 74 6f 78 2a 42 31  |.n. B=jj%*tox*B1|
00000b00  2d 42 30 0d 00 6f 11 20  42 30 3d 42 31 20 3a 20  |-B0..o. B0=B1 : |
00000b10  42 31 3d 42 0d 00 70 06  20 ed 0d 00 71 06 3d 42  |B1=B..p. ...q.=B|
00000b20  0d 00 72 04 0d 00 73 2a  dd 20 a4 42 65 73 73 65  |..r...s*. .Besse|
00000b30  6c 42 61 63 6b 77 61 72  64 52 65 63 75 72 72 65  |lBackwardRecurre|
00000b40  6e 63 65 28 61 78 2c 6f  72 64 65 72 25 29 0d 00  |nce(ax,order%)..|
00000b50  74 28 ea 20 42 4a 50 2c  42 4a 2c 42 4a 4d 2c 6a  |t(. BJP,BJ,BJM,j|
00000b60  6a 25 2c 74 6f 78 2c 73  75 6d 2c 62 65 73 73 6a  |j%,tox,sum,bessj|
00000b70  2c 6a 73 75 6d 25 0d 00  75 0c 74 6f 78 3d 32 2f  |,jsum%..u.tox=2/|
00000b80  61 78 0d 00 76 28 6d 6d  25 3d 32 2a 28 28 6f 72  |ax..v(mm%=2*((or|
00000b90  64 65 72 25 2b a8 28 b6  28 6f 72 64 65 72 25 2a  |der%+.(.(order%*|
00000ba0  34 30 29 29 29 20 81 20  32 29 0d 00 77 2c 42 4a  |40))) . 2)..w,BJ|
00000bb0  50 3d 30 20 3a 20 42 4a  3d 31 20 3a 20 73 75 6d  |P=0 : BJ=1 : sum|
00000bc0  3d 30 20 3a 20 6a 73 75  6d 25 3d 30 20 3a 20 62  |=0 : jsum%=0 : b|
00000bd0  65 73 73 6a 3d 30 0d 00  78 15 e3 20 6a 6a 25 3d  |essj=0..x.. jj%=|
00000be0  6d 6d 25 20 b8 20 31 20  88 2d 31 0d 00 79 17 20  |mm% . 1 .-1..y. |
00000bf0  42 4a 4d 3d 6a 6a 25 2a  74 6f 78 2a 42 4a 2d 42  |BJM=jj%*tox*BJ-B|
00000c00  4a 50 0d 00 7a 14 20 42  4a 50 3d 42 4a 20 3a 20  |JP..z. BJP=BJ : |
00000c10  42 4a 3d 42 4a 4d 0d 00  7b 13 20 e7 20 94 28 42  |BJ=BJM..{. . .(B|
00000c20  4a 29 3e 31 45 31 30 20  8c 0d 00 7c 41 20 20 42  |J)>1E10 ...|A  B|
00000c30  4a 3d 42 4a 2f 31 45 31  30 20 3a 20 42 4a 50 3d  |J=BJ/1E10 : BJP=|
00000c40  42 4a 50 2f 31 45 31 30  20 3a 20 62 65 73 73 6a  |BJP/1E10 : bessj|
00000c50  3d 62 65 73 73 6a 2f 31  45 31 30 20 3a 20 73 75  |=bessj/1E10 : su|
00000c60  6d 3d 73 75 6d 2f 31 45  31 30 0d 00 7d 07 20 20  |m=sum/1E10..}.  |
00000c70  cd 0d 00 7e 19 20 e7 20  6a 73 75 6d 25 3c 3e 30  |...~. . jsum%<>0|
00000c80  20 8c 20 73 75 6d 2b 3d  42 4a 0d 00 7f 12 20 6a  | . sum+=BJ.... j|
00000c90  73 75 6d 25 3d 31 2d 6a  73 75 6d 25 0d 00 80 1d  |sum%=1-jsum%....|
00000ca0  20 e7 20 6a 6a 25 3d 6f  72 64 65 72 25 20 8c 20  | . jj%=order% . |
00000cb0  62 65 73 73 6a 3d 42 4a  50 0d 00 81 06 20 ed 0d  |bessj=BJP.... ..|
00000cc0  00 82 11 20 73 75 6d 3d  32 2a 73 75 6d 2d 42 4a  |... sum=2*sum-BJ|
00000cd0  0d 00 83 0f 20 3d 62 65  73 73 6a 2f 73 75 6d 0d  |.... =bessj/sum.|
00000ce0  00 84 04 0d 00 85 38 dd  20 a4 42 65 73 73 65 6c  |......8. .Bessel|
00000cf0  4a 5f 41 73 79 6d 70 74  6f 74 69 63 28 78 2c 6e  |J_Asymptotic(x,n|
00000d00  25 29 3d b6 28 32 2f af  2f 78 29 2a 9b 28 78 2d  |%)=.(2/./x)*.(x-|
00000d10  af 2a 6e 25 2f 32 2d af  2f 34 29 0d 00 86 04 0d  |.*n%/2-./4).....|
00000d20  00 87 2a f4 20 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..*. -----------|
00000d30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000d40  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 00 88 05 f4 0d 00  |---------.......|
00000d50  89 2a f4 20 32 2e 20 42  65 73 73 65 6c 20 66 75  |.*. 2. Bessel fu|
00000d60  6e 63 74 69 6f 6e 73 20  6f 66 20 74 68 65 20 32  |nctions of the 2|
00000d70  63 6e 64 20 6b 69 6e 64  0d 00 8a 05 f4 0d 00 8b  |cnd kind........|
00000d80  2a f4 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |*. -------------|
00000d90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000da0  2d 2d 2d 2d 2d 2d 2d 0d  00 8c 04 0d 00 8d 12 dd  |-------.........|
00000db0  20 a4 42 65 73 73 65 6c  59 30 28 78 29 0d 00 8e  | .BesselY0(x)...|
00000dc0  20 f4 20 4e 6f 74 20 64  65 66 69 6e 65 64 20 66  | . Not defined f|
00000dd0  6f 72 20 6e 65 67 61 74  69 76 65 20 78 0d 00 8f  |or negative x...|
00000de0  18 ea 20 69 25 2c 79 2c  72 65 73 75 6c 74 2c 79  |.. i%,y,result,y|
00000df0  2c 7a 2c 78 78 0d 00 90  07 ea 20 dc 0d 00 91 0d  |,z,xx..... .....|
00000e00  e7 20 78 20 3c 20 38 20  8c 0d 00 92 0a 20 79 3d  |. x < 8 ..... y=|
00000e10  78 2a 78 0d 00 93 09 20  f7 20 2b 30 0d 00 94 4f  |x*x.... . +0...O|
00000e20  20 dc 20 32 32 38 2e 34  36 32 32 37 33 33 2c 2d  | . 228.4622733,-|
00000e30  38 36 33 32 37 2e 39 32  37 35 37 2c 31 30 38 37  |86327.92757,1087|
00000e40  39 38 38 31 2e 32 39 2c  2d 35 31 32 33 35 39 38  |9881.29,-5123598|
00000e50  30 33 2e 36 2c 37 30 36  32 38 33 34 30 36 35 2c  |03.6,7062834065,|
00000e60  2d 32 39 35 37 38 32 31  33 38 39 0d 00 95 43 20  |-2957821389...C |
00000e70  dc 20 31 2c 32 32 36 2e  31 30 33 30 32 34 34 2c  |. 1,226.1030244,|
00000e80  34 37 34 34 37 2e 32 36  34 37 2c 37 31 38 39 34  |47447.2647,71894|
00000e90  36 36 2e 34 33 38 2c 37  34 35 32 34 39 39 36 34  |66.438,745249964|
00000ea0  2e 38 2c 34 30 30 37 36  35 34 34 32 36 39 0d 00  |.8,40076544269..|
00000eb0  96 4a 20 72 65 73 75 6c  74 3d a4 50 6f 6c 79 6e  |.J result=.Polyn|
00000ec0  6f 6d 69 61 6c 28 79 2c  36 29 2f a4 50 6f 6c 79  |omial(y,6)/.Poly|
00000ed0  6e 6f 6d 69 61 6c 28 79  2c 36 29 2b 2e 36 33 36  |nomial(y,6)+.636|
00000ee0  36 31 39 37 37 32 2a a4  42 65 73 73 65 6c 4a 30  |619772*.BesselJ0|
00000ef0  28 78 29 2a aa 28 78 29  0d 00 97 05 cc 0d 00 98  |(x)*.(x)........|
00000f00  0a 20 7a 3d 38 2f 78 0d  00 99 0a 20 79 3d 7a 2a  |. z=8/x.... y=z*|
00000f10  7a 0d 00 9a 14 20 78 78  3d 78 2d 2e 37 38 35 33  |z.... xx=x-.7853|
00000f20  39 38 31 36 34 0d 00 9b  09 20 f7 20 2b 30 0d 00  |98164.... . +0..|
00000f30  9c 46 20 dc 20 2e 32 30  39 33 38 38 37 32 31 31  |.F . .2093887211|
00000f40  45 2d 36 2c 2d 2e 32 30  37 33 33 37 30 36 33 39  |E-6,-.2073370639|
00000f50  45 2d 35 2c 2e 32 37 33  34 35 31 30 34 30 37 45  |E-5,.2734510407E|
00000f60  2d 34 2c 2d 2e 31 30 39  38 36 32 38 36 32 37 45  |-4,-.1098628627E|
00000f70  2d 32 2c 31 0d 00 9d 43  20 dc 20 2d 2e 39 33 34  |-2,1...C . -.934|
00000f80  39 34 35 31 35 32 45 2d  37 2c 2e 37 36 32 31 30  |945152E-7,.76210|
00000f90  39 35 31 36 31 45 2d 36  2c 2d 2e 36 39 31 31 31  |95161E-6,-.69111|
00000fa0  34 37 36 35 31 45 2d 35  2c 2e 31 34 33 30 34 38  |47651E-5,.143048|
00000fb0  38 37 36 35 45 2d 33 0d  00 9e 16 20 dc 20 2d 2e  |8765E-3.... . -.|
00000fc0  31 35 36 32 34 39 39 39  39 35 45 2d 31 0d 00 9f  |1562499995E-1...|
00000fd0  1b 20 72 65 73 75 6c 74  3d b6 28 2e 36 33 36 36  |. result=.(.6366|
00000fe0  31 39 37 37 32 2f 78 29  0d 00 a0 44 20 72 65 73  |19772/x)...D res|
00000ff0  75 6c 74 3d 72 65 73 75  6c 74 2a 28 b5 28 78 78  |ult=result*(.(xx|
00001000  29 2a a4 50 6f 6c 79 6e  6f 6d 69 61 6c 28 79 2c  |)*.Polynomial(y,|
00001010  35 29 2b 7a 2a 9b 28 78  78 29 2a a4 50 6f 6c 79  |5)+z*.(xx)*.Poly|
00001020  6e 6f 6d 69 61 6c 28 79  2c 35 29 29 0d 00 a1 05  |nomial(y,5))....|
00001030  cd 0d 00 a2 07 f7 20 dc  0d 00 a3 0b 3d 72 65 73  |...... .....=res|
00001040  75 6c 74 0d 00 a4 04 0d  00 a5 12 dd 20 a4 42 65  |ult......... .Be|
00001050  73 73 65 6c 59 31 28 78  29 0d 00 a6 20 f4 20 4e  |sselY1(x)... . N|
00001060  6f 74 20 64 65 66 69 6e  65 64 20 66 6f 72 20 6e  |ot defined for n|
00001070  65 67 61 74 69 76 65 20  78 0d 00 a7 18 ea 20 69  |egative x..... i|
00001080  25 2c 79 2c 72 65 73 75  6c 74 2c 79 2c 7a 2c 78  |%,y,result,y,z,x|
00001090  78 0d 00 a8 07 ea 20 dc  0d 00 a9 0d e7 20 78 20  |x..... ...... x |
000010a0  3c 20 38 20 8c 0d 00 aa  0a 20 79 3d 78 2a 78 0d  |< 8 ..... y=x*x.|
000010b0  00 ab 09 20 f7 20 2b 30  0d 00 ac 41 20 dc 20 2e  |... . +0...A . .|
000010c0  38 35 31 31 39 33 37 39  33 35 45 34 2c 2d 2e 34  |8511937935E4,-.4|
000010d0  32 33 37 39 32 32 37 32  36 45 37 2c 2e 37 33 34  |237922726E7,.734|
000010e0  39 32 36 34 35 35 31 45  39 2c 2d 2e 35 31 35 33  |9264551E9,-.5153|
000010f0  34 33 38 31 33 39 45 31  31 0d 00 ad 25 20 dc 20  |438139E11...% . |
00001100  2e 31 32 37 35 32 37 34  33 39 30 45 31 33 2c 2d  |.1275274390E13,-|
00001110  2e 34 39 30 30 36 30 34  39 34 33 45 31 33 0d 00  |.4900604943E13..|
00001120  ae 1e 20 72 65 73 75 6c  74 3d 78 2a a4 50 6f 6c  |.. result=x*.Pol|
00001130  79 6e 6f 6d 69 61 6c 28  79 2c 36 29 0d 00 af 40  |ynomial(y,6)...@|
00001140  20 dc 20 31 2c 2e 33 35  34 39 36 33 32 38 38 35  | . 1,.3549632885|
00001150  45 33 2c 2e 31 30 32 30  34 32 36 30 35 45 36 2c  |E3,.102042605E6,|
00001160  2e 32 32 34 35 39 30 34  30 30 32 45 38 2c 2e 33  |.2245904002E8,.3|
00001170  37 33 33 36 35 30 33 36  37 45 31 30 0d 00 b0 23  |733650367E10...#|
00001180  20 dc 20 2e 34 32 34 34  34 31 39 36 36 34 45 31  | . .4244419664E1|
00001190  32 2c 2e 32 34 39 39 35  38 30 35 37 45 31 34 0d  |2,.249958057E14.|
000011a0  00 b1 46 20 72 65 73 75  6c 74 3d 72 65 73 75 6c  |..F result=resul|
000011b0  74 2f a4 50 6f 6c 79 6e  6f 6d 69 61 6c 28 79 2c  |t/.Polynomial(y,|
000011c0  37 29 2b 2e 36 33 36 36  31 39 37 37 32 2a 28 a4  |7)+.636619772*(.|
000011d0  42 65 73 73 65 6c 4a 31  28 78 29 2a aa 28 78 29  |BesselJ1(x)*.(x)|
000011e0  2d 31 2f 78 29 0d 00 b2  05 cc 0d 00 b3 0a 20 7a  |-1/x)......... z|
000011f0  3d 38 2f 78 0d 00 b4 0a  20 79 3d 7a 2a 7a 0d 00  |=8/x.... y=z*z..|
00001200  b5 15 20 78 78 3d 78 2d  32 2e 33 35 36 31 39 34  |.. xx=x-2.356194|
00001210  34 39 31 0d 00 b6 09 20  f7 20 2b 30 0d 00 b7 41  |491.... . +0...A|
00001220  20 dc 20 2d 2e 32 34 30  33 33 37 30 31 39 45 2d  | . -.240337019E-|
00001230  36 2c 2e 32 34 35 37 35  32 30 31 37 34 45 2d 35  |6,.2457520174E-5|
00001240  2c 2d 2e 33 35 31 36 33  39 36 34 39 36 45 2d 34  |,-.3516396496E-4|
00001250  2c 2e 31 38 33 31 30 35  45 2d 32 2c 31 0d 00 b8  |,.183105E-2,1...|
00001260  22 20 72 65 73 75 6c 74  3d b5 28 78 78 29 2a a4  |" result=.(xx)*.|
00001270  50 6f 6c 79 6e 6f 6d 69  61 6c 28 79 2c 35 29 0d  |Polynomial(y,5).|
00001280  00 b9 4e 20 dc 20 2e 31  30 35 37 38 37 34 31 32  |..N . .105787412|
00001290  45 2d 36 2c 2d 2e 38 38  32 32 38 39 38 37 45 2d  |E-6,-.88228987E-|
000012a0  36 2c 2e 38 34 34 39 31  39 39 30 39 36 45 2d 35  |6,.8449199096E-5|
000012b0  2c 2d 2e 32 30 30 32 36  39 30 38 37 33 45 2d 33  |,-.2002690873E-3|
000012c0  2c 2e 30 34 36 38 37 34  39 39 39 39 35 0d 00 ba  |,.04687499995...|
000012d0  25 20 72 65 73 75 6c 74  2b 3d 7a 2a 9b 28 78 78  |% result+=z*.(xx|
000012e0  29 2a a4 50 6f 6c 79 6e  6f 6d 69 61 6c 28 79 2c  |)*.Polynomial(y,|
000012f0  35 29 0d 00 bb 22 20 72  65 73 75 6c 74 3d b6 28  |5)..." result=.(|
00001300  2e 36 33 36 36 31 39 37  37 32 2f 78 29 2a 72 65  |.636619772/x)*re|
00001310  73 75 6c 74 0d 00 bc 05  cd 0d 00 bd 07 f7 20 dc  |sult.......... .|
00001320  0d 00 be 0b 3d 72 65 73  75 6c 74 0d 00 bf 04 0d  |....=result.....|
00001330  00 c0 18 dd 20 a4 42 65  73 73 65 6c 59 28 78 2c  |.... .BesselY(x,|
00001340  6f 72 64 65 72 25 29 0d  00 c1 18 ea 20 42 2c 66  |order%)..... B,f|
00001350  61 63 74 6f 72 2c 62 31  2c 62 30 2c 69 69 25 0d  |actor,b1,b0,ii%.|
00001360  00 c2 0f c8 8e 20 6f 72  64 65 72 25 20 ca 0d 00  |..... order% ...|
00001370  c3 08 20 c9 20 30 0d 00  c4 14 20 20 42 3d a4 42  |.. . 0....  B=.B|
00001380  65 73 73 65 6c 59 30 28  78 29 0d 00 c5 08 20 c9  |esselY0(x).... .|
00001390  20 31 0d 00 c6 14 20 20  42 3d a4 42 65 73 73 65  | 1....  B=.Besse|
000013a0  6c 59 31 28 78 29 0d 00  c7 06 20 7f 0d 00 c8 10  |lY1(x).... .....|
000013b0  20 20 66 61 63 74 6f 72  3d 32 2f 78 0d 00 c9 27  |  factor=2/x...'|
000013c0  20 20 62 31 3d a4 42 65  73 73 65 6c 59 31 28 78  |  b1=.BesselY1(x|
000013d0  29 20 3a 20 62 30 3d a4  42 65 73 73 65 6c 59 30  |) : b0=.BesselY0|
000013e0  28 78 29 0d 00 ca 18 20  20 e3 20 69 69 25 3d 31  |(x)....  . ii%=1|
000013f0  20 b8 20 6f 72 64 65 72  25 2d 31 0d 00 cb 19 20  | . order%-1.... |
00001400  20 20 42 3d 69 69 25 2a  66 61 63 74 6f 72 2a 62  |  B=ii%*factor*b|
00001410  31 2d 62 30 0d 00 cc 13  20 20 20 62 30 3d 62 31  |1-b0....   b0=b1|
00001420  20 3a 20 62 31 3d 42 0d  00 cd 08 20 20 20 ed 0d  | : b1=B....   ..|
00001430  00 ce 05 cb 0d 00 cf 06  3d 42 0d 00 d0 04 0d 00  |........=B......|
00001440  d1 2a f4 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.*. ------------|
00001450  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001460  2d 2d 2d 2d 2d 2d 2d 2d  0d 00 d2 05 f4 0d 00 d3  |--------........|
00001470  29 f4 20 33 2e 20 55 74  69 6c 69 74 79 20 3a 20  |). 3. Utility : |
00001480  45 76 61 6c 75 61 74 69  6e 67 20 50 6f 6c 79 6e  |Evaluating Polyn|
00001490  6f 6d 69 61 6c 73 0d 00  d4 05 f4 0d 00 d5 2a f4  |omials........*.|
000014a0  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
000014b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000014c0  2d 2d 2d 2d 2d 0d 00 d6  04 0d 00 d7 17 dd 20 a4  |-----......... .|
000014d0  50 6f 6c 79 6e 6f 6d 69  61 6c 28 78 2c 6e 25 29  |Polynomial(x,n%)|
000014e0  0d 00 d8 10 ea 20 69 25  2c 63 6f 65 66 66 2c 50  |..... i%,coeff,P|
000014f0  0d 00 d9 07 50 3d 30 0d  00 da 0f e3 20 69 25 3d  |....P=0..... i%=|
00001500  31 20 b8 20 6e 25 0d 00  db 0c 20 f3 20 63 6f 65  |1 . n%.... . coe|
00001510  66 66 0d 00 dc 10 20 50  3d 63 6f 65 66 66 2b 50  |ff.... P=coeff+P|
00001520  2a 78 0d 00 dd 06 20 ed  0d 00 de 06 3d 50 0d ff  |*x.... .....=P..|
00001530