Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TCplx Besh(double NU, TCplx Z); | Bessel function of the third kind (Hankel function), complex argument: H^((1))_(nu)(z). |
| 2 | TSCplx Besh(float NU, TSCplx Z); | |
| 3 | TCplx Besh(double NU, double A); | Bessel function of the third kind (Hankel function), real argument: H^((1))_(nu)(x). |
| 4 | TSCplx Besh(float NU, float A); | |
| 5 | TCplx Besh(double NU, TCplx Z, bool Scale, bool FirstKind); | Hankel function of the first or second kind, complex argument, optional scaling: H^((1))_(nu)(z) or H^((2))_(nu)(z). |
| 6 | TSCplx Besh(float NU, TSCplx Z, bool Scale, bool FirstKind); | |
| 7 | void Besh(double NU, TCplx Z, TVec *resCY, bool Scale, bool FirstKind); | Sequence of Hankel functions of the first or second kind, complex argument: H^((m))_(nu+i)(z), i=0... N-1. |
| 8 | TCplx Besh(double NU, double A, bool Scale, bool FirstKind); | Hankel function of the first or second kind, real argument, optional scaling: H^((1))_(nu)(x) or H^((2))_(nu)(x). |
| 9 | TSCplx Besh(float NU, float A, bool Scale, bool FirstKind); |
Overload 1: TCplx Besh(double NU, TCplx Z);
Bessel function of the third kind (Hankel function), complex argument: H^((1))_(nu)(z).
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | double | Defines the order of Hankel function. |
| 2 | Z | TCplx | Defines complex value for which H(Z) should be evaluated. |
Returns: 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: TSCplx Besh(float NU, TSCplx Z);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | float | |
| 2 | Z | TSCplx |
Overload 3: TCplx Besh(double NU, double A);
Bessel function of the third kind (Hankel function), real argument: H^((1))_(nu)(x).
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | double | Defines the order of Hankel function. |
| 2 | A | double | Defines real value for which H(A) should be evaluated. |
Returns: 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 4: TSCplx Besh(float NU, float A);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | float | |
| 2 | A | float |
Overload 5: TCplx Besh(double NU, TCplx Z, bool Scale, bool FirstKind);
Hankel function of the first or second kind, complex argument, optional scaling: H^((1))_(nu)(z) or H^((2))_(nu)(z).
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | double | describes the order of Hankel function. |
| 2 | Z | TCplx | Defines complex value for which H(Z) should be evaluated. |
| 3 | Scale | bool | If true, the result will be multiplied by scale factor e^(-i z) or e^(+i z), depending on FirstKind parameter value. |
| 4 | FirstKind | bool | If true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind. |
Returns: 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 6: TSCplx Besh(float NU, TSCplx Z, bool Scale, bool FirstKind);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | float | |
| 2 | Z | TSCplx | |
| 3 | Scale | bool | |
| 4 | FirstKind | bool |
Overload 7: void Besh(double NU, TCplx Z, TVec *resCY, bool Scale, bool FirstKind);
Sequence of Hankel functions of the first or second kind, complex argument: H^((m))_(nu+i)(z), i=0... N-1.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | double | describes the order of Hankel function. |
| 2 | Z | TCplx | Defines complex value for which H(Z) should be evaluated. |
| 3 | resCY | TVec * | 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 | Scale | bool | If true, the result will be multiplied by scale factor e^(-i z) or e^(+i z), depending on FirstKind parameter value. |
| 5 | FirstKind | bool | If true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind. |
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 8: TCplx Besh(double NU, double A, bool Scale, bool FirstKind);
Hankel function of the first or second kind, real argument, optional scaling: H^((1))_(nu)(x) or H^((2))_(nu)(x).
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | double | describes the order of Hankel function. |
| 2 | A | double | Defines real value for which H(Z) should be evaluated. |
| 3 | Scale | bool | If true, the result will be multiplied by scale factor e^(-i x) or e^(+i x), depending on FirstKind parameter value. |
| 4 | FirstKind | bool | If true, calculate Hankel function of first kind, if false, calculate Hankel function of second kind. |
Returns: 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 9: TSCplx Besh(float NU, float A, bool Scale, bool FirstKind);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | NU | float | |
| 2 | A | float | |
| 3 | Scale | bool | |
| 4 | FirstKind | bool |