SpecialFuncs.Besh Method

Overload List

#SignatureDescription
1function Besh(NU: Double; Z: TCplx): TCplx;Bessel function of the third kind (Hankel function), complex argument: H^((1))_(nu)(z).
2procedure 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.
3function 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).
4function Besh(NU: Double; A: Double): TCplx;Bessel function of the third kind (Hankel function), real argument: H^((1))_(nu)(x).
5function 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).
6function Besh(NU: Single; Z: TSCplx): TSCplx;
7function Besh(NU: Single; Z: TSCplx; Scale: Boolean; FirstKind: Boolean): TSCplx;
8function Besh(NU: Single; A: Single): TSCplx;
9function Besh(NU: Single; A: Single; Scale: Boolean; FirstKind: Boolean): TSCplx;

Overload 1: function Besh(NU: Double; Z: TCplx): TCplx;

Bessel function of the third kind (Hankel function), complex argument: H^((1))_(nu)(z).

#NameDescription
1NUDefines the order of Hankel function.
2ZDefines 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).

Remarks:

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.

#NameDescription
1ZDefines complex value for which H(Z) should be evaluated.
2NUdescribes the order of Hankel function.
3resCYContains 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)
4FirstKindIf true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind.
5ScaleIf 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).

Remarks:

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).

#NameDescription
1ZDefines complex value for which H(Z) should be evaluated.
2NUdescribes the order of Hankel function.
3FirstKindIf true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind.
4ScaleIf 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).

Remarks:

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)).

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

Overload 4: function Besh(NU: Double; A: Double): TCplx;

Bessel function of the third kind (Hankel function), real argument: H^((1))_(nu)(x).

#NameDescription
1NUDefines the order of Hankel function.
2ADefines 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).

Remarks:

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).

#NameDescription
1ADefines real value for which H(Z) should be evaluated.
2NUdescribes the order of Hankel function.
3FirstKindIf true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind.
4ScaleIf 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).

Remarks:

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;

#NameTypeDescription
1NUSinglescalar
2ZTSCplxscalar

Returns: TSCplx

Overload 7: function Besh(NU: Single; Z: TSCplx; Scale: Boolean; FirstKind: Boolean): TSCplx;

#NameTypeDescription
1NUSinglescalar
2ZTSCplxscalar
3ScaleBoolean
4FirstKindBoolean

Returns: TSCplx

Overload 8: function Besh(NU: Single; A: Single): TSCplx;

#NameTypeDescription
1NUSinglescalar
2ASinglescalar

Returns: TSCplx

Overload 9: function Besh(NU: Single; A: Single; Scale: Boolean; FirstKind: Boolean): TSCplx;

#NameTypeDescription
1NUSinglescalar
2ASinglescalar
3ScaleBoolean
4FirstKindBoolean

Returns: TSCplx