home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / derive / download / Setup.exe / %MAINDIR% / Users / Carlson.dmo < prev    next >
Encoding:
Text File  |  2002-05-15  |  3.4 KB  |  88 lines

  1. "CARLSON.DMO Carlson elliptic integrals demonstration file."
  2.  
  3. "Jim FitzSimons cherry@neta.com"
  4.  
  5. InputMode:=Word
  6.  
  7. PrecisionDigits:=20
  8.  
  9. LOAD("CARLSON.MTH")
  10.  
  11. "Use numerical checks from Numerical Algorithms 10(1995)13-26."
  12.  
  13. "B.C. Carlson Numerical computation of real or complex elliptic integrals"
  14.  
  15. "page 22 3. Numerical checks"
  16.  
  17. mrf:=[[1,2,0,1.3110287771461],[#i,-#i,0,1.8540746773014],[0.5,1,0,1.854074677~
  18. 3014],[#i-1,#i,0,0.79612586584234-#i*(1.2138566698365)],[2,3,4,0.584082841677~
  19. 15],[#i,-#i,2,1.0441445654064],[#i-1,#i,1-#i,0.93912050218619-#i*(0.532962520~
  20. 18635)]]
  21.  
  22. APPROX(MAX(VECTOR(APPROX(ABS(R_F(mrf SUB i SUB 1,mrf SUB i SUB 2,mrf SUB i SU~
  23. B 3)-mrf SUB i SUB 4)),i,1,DIMENSION(mrf))))
  24.  
  25. "Check R_C."
  26.  
  27. mrc:=[[0,1/4,pi],[9/4,2,LN(2)],[0,#i,(1-#i)*(1.1107207345396)],[-#i,#i,1.2260~
  28. 849569072-#i*(0.34471136988768)],[1/4,-2,LN(2)/3],[#i,-1,0.77778596920447+#i*~
  29. (0.19832484993429)]]
  30.  
  31. APPROX(MAX(VECTOR(APPROX(ABS(R_C(mrc SUB i SUB 1,mrc SUB i SUB 2)-mrc SUB i S~
  32. UB 3)),i,1,DIMENSION(mrc))))
  33.  
  34. "I can add some more exact solutions."
  35.  
  36. mrc:=[[0,1/4,pi],[9/4,2,LN(2)],[2,1,-LN(SQRT(2)-1)],[-#i,#i,-LN(SQRT(2)-1)/2+~
  37. pi/4-#i*(LN(SQRT(2)-1)/2+pi/4)],[1/4,-2,LN(2)/3],[#i,-1,SQRT(SQRT(2)/4-1/4)*A~
  38. TAN(SQRT(SQRT(2)-1))-SQRT(SQRT(2)/16+1/16)*LN(-SQRT(2*SQRT(2)+2)+SQRT(2)+1)+#~
  39. i*(SQRT(SQRT(2)/4+1/4)*ATAN(SQRT(SQRT(2)-1))+SQRT(SQRT(2)/16-1/16)*LN(-SQRT(2~
  40. *SQRT(2)+2)+SQRT(2)+1))],[0,1,pi/2],[#i,#i+1,pi/4+#i*LN(SQRT(2)-1)/2]]
  41.  
  42. APPROX(MAX(VECTOR(APPROX(ABS(R_C(mrc SUB i SUB 1,mrc SUB i SUB 2)-mrc SUB i S~
  43. UB 3)),i,1,DIMENSION(mrc))))
  44.  
  45. "Check R_J."
  46.  
  47. mrj:=[[0,1,2,3,0.77688623778582],[2,3,4,5,0.14297579667157],[2,3,4,-1+#i,0.13~
  48. 613945827771-#i*(0.38207561624427)],[#i,-#i,0,2,1.6490011662711],[-1+#i,-1-#i~
  49. ,1,2,0.9414835884122],[#i,-#i,0,1-#i,1.8260115229009+#i*(1.2290661908643)],[-~
  50. 1+#i,-1-#i,1,-3+#i,-0.61127970812028-#i*(1.0684038390007)],[-1+#i,-2-#i,-#i,-~
  51. 1+#i,1.8249027393704-#i*(1.2218475784827)],[2,3,4,-0.5,0.24723819703052],[2,3~
  52. ,4,-5,-0.12711230042964]]
  53.  
  54. APPROX(MAX(VECTOR(APPROX(ABS(R_J(mrj SUB i SUB 1,mrj SUB i SUB 2,mrj SUB i SU~
  55. B 3,mrj SUB i SUB 4)-mrj SUB i SUB 5)),i,1,DIMENSION(mrj))))
  56.  
  57. "page 23 Check R_D."
  58.  
  59. mrd:=[[0,2,1,1.7972103521034],[2,3,4,0.16510527294261],[#i,-#i,2,0.6593385415~
  60. 422],[0,#i,-#i,1.270819627191+#i*(2.7811120159521)],[0,#i-1,#i,-1.85772354392~
  61. 39-#i*(0.96193450888839)],[-2-#i,-#i,-1+#i,1.8249027393704-#i*(1.221847578482~
  62. 7)]]
  63.  
  64. APPROX(MAX(VECTOR(APPROX(ABS(R_D(mrd SUB i SUB 1,mrd SUB i SUB 2,mrd SUB i SU~
  65. B 3)-mrd SUB i SUB 4)),i,1,DIMENSION(mrd))))
  66.  
  67. "Check R_G."
  68.  
  69. mrg:=[[0,16,16,pi],[2,3,4,1.7255030280692],[0,#i,-#i,0.42360654239699],[0,#i-~
  70. 1,#i,0.44660591677018+#i*(0.70768352357515)],[-#i,#i-1,#i,0.36023392184473+#i~
  71. *(0.40348623401722)],[0,0.0796,4,1.0284758090288]]
  72.  
  73. APPROX(MAX(VECTOR(APPROX(ABS(R_G(mrg SUB i SUB 1,mrg SUB i SUB 2,mrg SUB i SU~
  74. B 3)-mrg SUB i SUB 4)),i,1,DIMENSION(mrg))))
  75.  
  76. "Check the Legendre elliptic integrals using numerical integration."
  77.  
  78. APPROX(MAX(VECTOR(MAX(VECTOR(ABS(APPROX(LEGENDRE_F(phi,m)-ELLIPTIC_F(phi,m),6)),phi,~
  79. pi/16,pi/2,pi/16)),m,1/8,7/8,1/8)))
  80.  
  81. APPROX(MAX(VECTOR(MAX(VECTOR(ABS(APPROX(LEGENDRE_E(phi,m)-ELLIPTIC_E(phi,m),6)),phi,~
  82. pi/16,pi/2,pi/16)),m,1/8,7/8,1/8)))
  83.  
  84. "This will take a long time."
  85.  
  86. APPROX(MAX(VECTOR(MAX(VECTOR(MAX(VECTOR(ABS(APPROX(LEGENDRE_PI(phi,m,n)-ELLIPTIC_PI(~
  87. phi,m,n),6)),phi,pi/16,pi/2,pi/16)),m,1/8,7/8,1/8)),n,1/8,7/8,1/8)))
  88.