SpecialFuncs.Airy Method

Overload List

#SignatureDescription
1TCplx Airy(TCplx Z)Airy function of the first kind, complex argument: $Ai(z)$.
2TCplx Airy(TCplx Z, Boolean Derive, Boolean Scale, ref Int32 Error)Airy function of the first kind or its derivative, complex argument, optional scaling: $Ai(z)orAi'(z)$.
3TSCplx Airy(TSCplx Z)
4TSCplx Airy(TSCplx Z, Boolean Derive, Boolean Scale, ref Int32 Error)
5Double Airy(Double A)Airy function of the first kind, real argument: $Ai(x)$.
6Double Airy(Double A, Boolean Derive, Boolean Scale, ref Int32 Error)Airy function of the first kind or its derivative, real argument, optional scaling: $Ai(x)orAi'(x)$.
7Single Airy(Single A)
8Single Airy(Single A, Boolean Derive, Boolean Scale, ref Int32 Error)

Overload 1: TCplx Airy(TCplx Z)

Airy function of the first kind, complex argument: Ai(z)Ai(z).

#NameDescription
1ZDefines complex value where AI should be evaluated.

Returns: TCplx (complex) - $Ai(z)$, the Airy function of the first kind, evaluated for the complex argument Z.

Remarks:

Ai is the recessive solution of the Airy equation w'' = z w, expressible through the modified Bessel function K_(1/3):

Ai(z) = 1/pisqrt(z/3) K_(1/3)(2/3 z^(3/2))

Domain. Any finite complex Z; the principal branch of z^(3/2) is used.
Behavior. Unscaled, non-derivative form. On argument reduction failure for very large
|z| the underlying routine raises an exception.

Overload 2: TCplx Airy(TCplx Z, Boolean Derive, Boolean Scale, ref Int32 Error)

Airy function of the first kind or its derivative, complex argument, optional scaling: Ai(z)orAi(z)Ai(z)orAi'(z).

#NameDescription
1ZFunction independant variable, complex value.
2ErrorReturns error code after the calculation. Return values are: * 0, Normal return - Computation completed. * 1, input error - no computation. * 2, overflow - no computation
3dreal(zta)- too large with Scaling=false. * 3, zabs(z) large - computation completed. Losses of signifcance by argument reduction produce less than half of machine accuracy. * 4, zabs(z) too large - no computation
4complete loss of accuracy by argument reduction. * 5, error - no computation
5algorithm termination condition not met.
6DeriveIf true, function will return Airy derivative instead of the actual Airy (AI) function.
7ScaleIf true, result function or it's derivative is scaled by e^(zeta), where zeta=2/3 z^(3/2).

Returns: TCplx (complex) - If is false, returns $Ai(z)$; otherwise the derivative $Ai'(z)$.

Remarks:

If Derive is true, the derivative of the Airy function of the first kind is returned. If Scale is true, the result is additionally multiplied by the factor e^(zeta) with zeta=2/3 z^(3/2):

e^(zeta) Ai(z) or e^(zeta) Ai'(z), zeta=2/3 z^(3/2).

Domain. Any finite complex Z; principal branch of z^(3/2).
Behavior. The Error out-parameter is 0 on normal return and carries the AMOS
diagnostic code otherwise (this overload reports codes through Error rather than raising).

See Also: SpecialFuncs.Biry, SpecialFuncs.Besh, SpecialFuncs.Besj, SpecialFuncs.Besk, SpecialFuncs.Besy, SpecialFuncs.EllipComplete, SpecialFuncs.EllipJacoby

Overload 3: TSCplx Airy(TSCplx Z)

#NameTypeDescription
1ZTSCplxscalar

Returns: TSCplx

Overload 4: TSCplx Airy(TSCplx Z, Boolean Derive, Boolean Scale, ref Int32 Error)

#NameTypeDescription
1ZTSCplxscalar
2DeriveBoolean
3ScaleBoolean
4ErrorInt32 (ref)output

Returns: TSCplx

Overload 5: Double Airy(Double A)

Airy function of the first kind, real argument: Ai(x)Ai(x).

#NameDescription
1ADefines real value where AI should be evaluated.

Returns: Double - $Ai(x)$, the Airy function of the first kind, evaluated for the real argument A. The result is real.

Remarks:

Ai is the solution of the Airy equation w'' = z w that decays as z -> +inf:

Ai(x) = 1/piintegral _0^(inf) cos(t^3/3 + x t) dt

Domain. Any finite real A.
Behavior. Returns a finite real value across the whole real line; this overload performs
no scaling and no derivative. For very large arguments the underlying AMOS evaluation may raise an exception on complete loss of precision (see the Dew.Math.Units.SpecialFuncs.Airy overload with the Error out-parameter to obtain the diagnostic code instead).

Overload 6: Double Airy(Double A, Boolean Derive, Boolean Scale, ref Int32 Error)

Airy function of the first kind or its derivative, real argument, optional scaling: Ai(x)orAi(x)Ai(x)orAi'(x).

#NameDescription
1ADefines real value where AI or its derivative should be evaluated.
2DeriveIf true, returns the derivative Ai' of the Airy function of the first kind.
3ScaleIf true, the result is additionally multiplied by e^(zeta), where zeta=2/3 x^(3/2).
4ErrorReturns error code after the calculation. Return values are: * 0, Normal return - Computation completed. * 1, input error - no computation. * 2, overflow - no computation
5dreal(zta)- too large with Scaling=false. * 3, zabs(z) large - computation completed. Losses of signifcance by argument reduction produce less than half of machine accuracy. * 4, zabs(z) too large - no computation
6complete loss of accuracy by argument reduction. * 5, error - no computation
7algorithm termination condition not met.

Returns: Double - If is false, returns $Ai(x)$; if true, returns the derivative Ai'(x)=(d Ai)/dx. When is true the result is additionally multiplied by e^(zeta), with zeta=2/3 x^(3/2) (see below). The result is real.

Remarks:

Ai and Ai' solve w'' = x w. The scaling option returns e^(zeta) Ai(x) or e^(zeta) Ai'(x), zeta=2/3 x^(3/2), which keeps the magnitude bounded for large positive x.

Domain. Any finite real A.
Behavior. The Error out-parameter reports the AMOS diagnostic code and is 0 on a
normal return; this overload does NOT raise on the soft codes 2..5, it reports them through Error instead, so callers must inspect Error.

Overload 7: Single Airy(Single A)

#NameTypeDescription
1ASinglescalar

Returns: Single

Overload 8: Single Airy(Single A, Boolean Derive, Boolean Scale, ref Int32 Error)

#NameTypeDescription
1ASinglescalar
2DeriveBoolean
3ScaleBoolean
4ErrorInt32 (ref)output

Returns: Single