0
Fixed

Airy Functions of Imaginary Argument

Tom Wallace 1 year ago • updated by Pavel Holoborodko 1 year ago 2

There appears to be an error in computing the values of Airy functions and their derivatives of purely imaginary argument unless z is exactly 0. For example:


>> z = 1i; [ airy(0, z) airy(1, z) airy(2, z) airy(3, z) ].'

ans =

          0.331493305432141 -     0.317449858968444i
         -0.432492659841807 +    0.0980478562292432i
          0.648858208330395 +     0.344958634768048i
          0.135026646710819 -     0.128837386781255i

>> z = mp('1i'); [ airy(0, z) airy(1, z) airy(2, z) airy(3, z) ].'

ans =

        0    
        0    
        0    
        0  

This bug seems to affect only values of z with exactly zero real part:


>> z = mp('1e-100+1i'); [ airy(0, z) airy(1, z) airy(2, z) airy(3, z) ].'

ans =

         0.3314933054321411889845293326171343 -      0.3174498589684437734776429279092585i    
        -0.4324926598418070993062086217182285 +     0.09804785622924323238379104639440311i    
          0.648858208330394944584847653172865 +      0.3449586347680483702471086086672932i    
         0.1350266467108189726991698591958052 -       0.128837386781254879039817640967921i


Mathematica, for comparison


In[9]:= N[ { AiryAi[I], D[AiryAi[x], x] /. x -> I,  AiryBi[I],  D[AiryBi[x], x] /. x -> I }, 34]

Out[9]= {0.3314933054321411889845293326171343 -   0.3174498589684437734776429279092585 I,
-0.4324926598418070993062086217182286 +   0.0980478562292432323837910463944031 I,
 0.6488582083303949445848476531728650 +   0.3449586347680483702471086086672933 I,
 0.1350266467108189726991698591958051 -   0.1288373867812548790398176409679211 I}



Fixed

Thank you very much for the bug report!

It has been fixed in development trunk. Updated toolbox installations will be available soon.


As a quick workaround, please copy file [1] into toolbox_root\private folder.


Thank you!


[1] https://goo.gl/YTFzqY

New version of toolbox is available for Windows: http://goo.gl/pMXV3

It includes fix for the bug.