Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function Airy(Z: TCplx): TCplx; | Airy function of the first kind, complex argument: $Ai(z)$. |
| 2 | function Airy(Z: TCplx; Derive: Boolean; Scale: Boolean; var Error: Integer): TCplx; | Airy function of the first kind or its derivative, complex argument, optional scaling: $Ai(z)orAi'(z)$. |
| 3 | function Airy(Z: TSCplx): TSCplx; | |
| 4 | function Airy(Z: TSCplx; Derive: Boolean; Scale: Boolean; var Error: Integer): TSCplx; | |
| 5 | function Airy(A: Double): Double; | Airy function of the first kind, real argument: $Ai(x)$. |
| 6 | function Airy(A: Double; Derive: Boolean; Scale: Boolean; var Error: Integer): Double; | Airy function of the first kind or its derivative, real argument, optional scaling: $Ai(x)orAi'(x)$. |
| 7 | function Airy(A: Single): Single; | |
| 8 | function Airy(A: Single; Derive: Boolean; Scale: Boolean; var Error: Integer): Single; |
Overload 1: function Airy(Z: TCplx): TCplx;
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: function Airy(Z: TCplx; Derive: Boolean; Scale: Boolean; var Error: Integer): TCplx;
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: function Airy(Z: TSCplx): TSCplx;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Z | TSCplx | scalar |
Returns: TSCplx
Overload 4: function Airy(Z: TSCplx; Derive: Boolean; Scale: Boolean; var Error: Integer): TSCplx;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Z | TSCplx | scalar |
| 2 | Derive | Boolean | |
| 3 | Scale | Boolean | |
| 4 | Error | Integer |
Returns: TSCplx
Overload 5: function Airy(A: Double): Double;
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 SpecialFuncs.Airy overload with the Error out-parameter to obtain the diagnostic code instead).
Overload 6: function Airy(A: Double; Derive: Boolean; Scale: Boolean; var Error: Integer): Double;
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: function Airy(A: Single): Single;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | A | Single | scalar |
Returns: Single
Overload 8: function Airy(A: Single; Derive: Boolean; Scale: Boolean; var Error: Integer): Single;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | A | Single | scalar |
| 2 | Derive | Boolean | |
| 3 | Scale | Boolean | |
| 4 | Error | Integer |
Returns: Single