airyBi

Evaluates the Airy function of the second kind.

Synopsis

airyBi (x)

Required Arguments

float x (Input)
Argument for which the function value is desired.

Return Value

The Airy function of the second kind evaluated at x, \(Bi(x)\).

Description

The airy function \(Bi(x)\) is defined to be

\[Bi(x) = \tfrac{1}{\pi} \int_0^{\infty} \exp \left(xt - \tfrac{1}{3} t^3\right)dt + \tfrac{1}{\pi} \int_0^{\infty} \sin \left(xt + \tfrac{1}{3} t^3\right) dt\]

It can also be expressed in terms of modified Bessel functions of the first kind, \(I_v(x)\), and Bessel functions of the first kind \(J_v(x)\) (see besselIx and besselJx):

\[Bi(x) = \sqrt{\tfrac{x}{3}} \left[I_{-1/3} \left(\tfrac{2}{3}x^{3/2}\right) + I_{1/3}\left(\tfrac{2}{3}x^{3/2}\right)\right] \text{ for } x > 0\]

and

\[Bi(x) = \sqrt{\tfrac{-x}{3}} \left[J_{-1/3} \left(\tfrac{2}{3}|x|^{3/2}\right) - J_{1/3}\left(\tfrac{2}{3}|x|^{3/2}\right)\right] \text{ for } x < 0\]

Let ɛ = machine(4), the machine precision. If \(x<-1.31 \varepsilon^{-2/3}\), then the answer will have no precision.

If \(x<-1 31 \varepsilon^{-1/3}\), the answer will be less accurate than half precision. In addition, x should not be so large that \(\exp \left[(2/3) x^{3/2} \right]\) overflows. For more information, see the description for machine.

Example

In this example, \(Bi(-4.9)\) is evaluated.

from __future__ import print_function
from numpy import *
from pyimsl.math.airyBi import airyBi

x = -4.9
ans = airyBi(x)
print("Bi(-4.9) = %f" % (ans))

Output

Bi(-4.9) = -0.057747