Overload List
Overload 1: function Besh(NU: Double; Z: TCplx): TCplx;
Bessel function of the third kind (Hankel function), complex argument: H^((1))_(nu)(z).
| # | Name | Description |
|---|---|---|
| 1 | NU | Defines the order of Hankel function. |
| 2 | Z | Defines complex value for which H(Z) should be evaluated. |
Returns: TCplx (complex) - H^((1))_(nu)(z), the Hankel function of the first kind of order NU at Z (this default overload uses the first kind, unscaled).
The Hankel functions combine the two standard solutions: H^((1))_(nu)(z) = J_(nu)(z) + i Y_(nu)(z), H^((2))_(nu)(z) = J_(nu)(z) - i Y_(nu)(z). Domain. Any finite complex Z, z != 0; order NU any real value.
Overload 2: procedure Besh(NU: Double; Z: TCplx; resCY: TVec; Scale: Boolean; FirstKind: Boolean);
Sequence of Hankel functions of the first or second kind, complex argument: H^((m))_(nu+i)(z), i=0... N-1.
| # | Name | Description |
|---|---|---|
| 1 | Z | Defines complex value for which H(Z) should be evaluated. |
| 2 | NU | describes the order of Hankel function. |
| 3 | resCY | Contains result on output and resCY.Length specifies the length "N" on input. Will hold on output (FirstKind): resCY[j] = H(M, NU + j, Z) * Expj(-Z) Second kind: resCY[j] = H(M, NU + j, Z) * Expj(Z) if Scaling is enabled. Otherwise just: resCY[j] = H(M, NU + j, Z) |
| 4 | FirstKind | If true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind. |
| 5 | Scale | If true, the result will be multiplied by scale factor e^(-i z) or e^(+i z), depending on FirstKind parameter value. |
Result: stored in self (calling object)
Returns: Fills with H^((1))_(nu+i)(z) (first kind) or H^((2))_(nu+i)(z) (second kind) for i=0,...,N-1 (N = input length of ). When is true each element is multiplied by e^(-i z) (first kind) or e^(+i z) (second kind).
resCY[i] = e^(-/+ i z) H^((m))_(nu+i)(z), i=0,...,N-1, upper sign for the first kind, applied only when scaling is enabled. Domain. resCY must be a non-empty complex double vector; z != 0.
Overload 3: function Besh(NU: Double; Z: TCplx; Scale: Boolean; FirstKind: Boolean): TCplx;
Hankel function of the first or second kind, complex argument, optional scaling: H^((1))_(nu)(z) or H^((2))_(nu)(z).
| # | Name | Description |
|---|---|---|
| 1 | Z | Defines complex value for which H(Z) should be evaluated. |
| 2 | NU | describes the order of Hankel function. |
| 3 | FirstKind | If true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind. |
| 4 | Scale | If true, the result will be multiplied by scale factor e^(-i z) or e^(+i z), depending on FirstKind parameter value. |
Returns: TCplx (complex) - H^((1))_(nu)(z)=J_(nu)(z)+i Y_(nu)(z) when is true, otherwise H^((2))_(nu)(z)=J_(nu)(z)-i Y_(nu)(z). When is true the result is multiplied by e^(-i z) (first kind) or e^(+i z) (second kind).
H^((1))_(nu)(z) = J_(nu)(z) + i Y_(nu)(z), H^((2))_(nu)(z) = J_(nu)(z) - i Y_(nu)(z). Scaled: e^(-i z) H^((1))_(nu)(z) or e^(+i z) H^((2))_(nu)(z).
Domain. Any finite complex Z, z != 0; order NU any real value (negative orders use
H^((1))_(-nu)=e^(nupi i)H^((1))_(nu), H^((2))_(-nu)=e^(-nupi i)H^((2))_(nu)).
Overload 4: function Besh(NU: Double; A: Double): TCplx;
Bessel function of the third kind (Hankel function), real argument: H^((1))_(nu)(x).
| # | Name | Description |
|---|---|---|
| 1 | NU | Defines the order of Hankel function. |
| 2 | A | Defines real value for which H(A) should be evaluated. |
Returns: TCplx (complex) - H^((1))_(nu)(x), the Hankel function of the first kind of order NU at the real argument A (default: first kind, unscaled).
H^((1))_(nu)(x) = J_(nu)(x) + i Y_(nu)(x). Domain. A>0 (real); order NU any real value.
Overload 5: function Besh(NU: Double; A: Double; Scale: Boolean; FirstKind: Boolean): TCplx;
Hankel function of the first or second kind, real argument, optional scaling: H^((1))_(nu)(x) or H^((2))_(nu)(x).
| # | Name | Description |
|---|---|---|
| 1 | A | Defines real value for which H(Z) should be evaluated. |
| 2 | NU | describes the order of Hankel function. |
| 3 | FirstKind | If true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind. |
| 4 | Scale | If true, the result will be multiplied by scale factor e^(-i x) or e^(+i x), depending on FirstKind parameter value. |
Returns: TCplx (complex) - H^((1))_(nu)(x)=J_(nu)(x)+i Y_(nu)(x) when is true, otherwise H^((2))_(nu)(x)=J_(nu)(x)-i Y_(nu)(x). When is true the result is multiplied by e^(-i x) (first kind) or e^(+i x) (second kind).
H^((1))_(nu)(x) = J_(nu)(x) + i Y_(nu)(x), H^((2))_(nu)(x) = J_(nu)(x) - i Y_(nu)(x). Domain. A>0 (real); order NU any real value.
Overload 6: function Besh(NU: Single; Z: TSCplx): TSCplx;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | Single | scalar |
| 2 | Z | TSCplx | scalar |
Returns: TSCplx
Overload 7: function Besh(NU: Single; Z: TSCplx; Scale: Boolean; FirstKind: Boolean): TSCplx;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | Single | scalar |
| 2 | Z | TSCplx | scalar |
| 3 | Scale | Boolean | |
| 4 | FirstKind | Boolean |
Returns: TSCplx
Overload 8: function Besh(NU: Single; A: Single): TSCplx;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | Single | scalar |
| 2 | A | Single | scalar |
Returns: TSCplx
Overload 9: function Besh(NU: Single; A: Single; Scale: Boolean; FirstKind: Boolean): TSCplx;
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | Single | scalar |
| 2 | A | Single | scalar |
| 3 | Scale | Boolean | |
| 4 | FirstKind | Boolean |
Returns: TSCplx