Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TCplx Airy(TCplx Z) | Airy function of the first kind, complex argument: $Ai(z)$. |
| 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)$. |
| 3 | TSCplx Airy(TSCplx Z) | |
| 4 | TSCplx Airy(TSCplx Z, Boolean Derive, Boolean Scale, ref Int32 Error) | |
| 5 | Double Airy(Double A) | Airy function of the first kind, real argument: $Ai(x)$. |
| 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)$. |
| 7 | Single Airy(Single A) | |
| 8 | Single Airy(Single A, Boolean Derive, Boolean Scale, ref Int32 Error) |
Overload 1: TCplx Airy(TCplx Z)
Airy function of the first kind, complex argument: .
| # | Name | Description |
|---|---|---|
| 1 | Z | Defines 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.
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: .
| # | Name | Description |
|---|---|---|
| 1 | Z | Function independant variable, complex value. |
| 2 | Error | Returns error code after the calculation. Return values are: * 0, Normal return - Computation completed. * 1, input error - no computation. * 2, overflow - no computation |
| 3 | dreal(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 | |
| 4 | complete loss of accuracy by argument reduction. * 5, error - no computation | |
| 5 | algorithm termination condition not met. | |
| 6 | Derive | If true, function will return Airy derivative instead of the actual Airy (AI) function. |
| 7 | Scale | If 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)$.
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).
Overload 3: TSCplx Airy(TSCplx Z)
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Z | TSCplx | scalar |
Returns: TSCplx
Overload 4: TSCplx Airy(TSCplx Z, Boolean Derive, Boolean Scale, ref Int32 Error)
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Z | TSCplx | scalar |
| 2 | Derive | Boolean | |
| 3 | Scale | Boolean | |
| 4 | Error | Int32 (ref) | output |
Returns: TSCplx
Overload 5: Double Airy(Double A)
Airy function of the first kind, real argument: .
| # | Name | Description |
|---|---|---|
| 1 | A | Defines 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.
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: .
| # | Name | Description |
|---|---|---|
| 1 | A | Defines real value where AI or its derivative should be evaluated. |
| 2 | Derive | If true, returns the derivative Ai' of the Airy function of the first kind. |
| 3 | Scale | If true, the result is additionally multiplied by e^(zeta), where zeta=2/3 x^(3/2). |
| 4 | Error | Returns error code after the calculation. Return values are: * 0, Normal return - Computation completed. * 1, input error - no computation. * 2, overflow - no computation |
| 5 | dreal(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 | |
| 6 | complete loss of accuracy by argument reduction. * 5, error - no computation | |
| 7 | algorithm 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.
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)
| # | Name | Type | Description |
|---|---|---|---|
| 1 | A | Single | scalar |
Returns: Single
Overload 8: Single Airy(Single A, Boolean Derive, Boolean Scale, ref Int32 Error)
| # | Name | Type | Description |
|---|---|---|---|
| 1 | A | Single | scalar |
| 2 | Derive | Boolean | |
| 3 | Scale | Boolean | |
| 4 | Error | Int32 (ref) | output |
Returns: Single