|
|
◆ Cbesh()
| Sub Cbesh |
( |
Z As |
Complex, |
|
|
Nu As |
Double, |
|
|
M As |
Long, |
|
|
N As |
Long, |
|
|
Y() As |
Complex, |
|
|
Info As |
Long, |
|
|
Optional Kode As |
Long = 1 |
|
) |
| |
Sequence of Hankel functions Hν(m)(z) (fractional order)
- Purpose
- This routine computes the sequence of the Hankel functions Hν(m)(z) for superscript m = 1 or 2, real nonnegative orders ν, ν+1, ... , and nonzero complex argument z.
A scaling option is available to help avoid overflow.
- Parameters
-
| [in] | Z | Argument z. (Z <> 0) |
| [in] | Nu | Order of first member of the sequence. (Nu >= 0) |
| [in] | M | Superscript of Hankel function. (m = 1 or 2) |
| [in] | N | Number of members in the sequence. (N members of orders Nu to Nu+N-1 to be computed) (N >= 1) |
| [out] | Y() | Array Y(LY - 1) (LY >= N)
Sequence of the Hankel functions.
Kode = 1: Hν(m)(z) (ν = Nu to Nu+N-1)
Kode = 2: exp(-(3-2m)*z*i)*Hν(m)(z) (ν = Nu to Nu+N-1) |
| [out] | Info | = 0: Successful exit.
= -1: The argument Z had an illegal value. (Z = 0)
= -2: The argument Nu had an illegal value. (Nu < 0)
= -3: The argument M had an illegal value. (M <> 1 and M <> 2)
= -4: The argument N had an illegal value. (N < 1)
= -5: The argument Y() is invalid.
= -7: The argument Kode had an illegal value. (Kode <> 1 and Kode <> 2)
= nz (0 < nz <= N): The last nz components of Y() set to zero due to underflow.
= N+1: Precision warning. (Half precision or less because |Z| or Nu+N-1 is large)
= N+2: Precision error. (No precision because |Z| or Nu+N-1 is too large)
= N+3: Overflow |Z| too small and/or Nu+N-1 too large. |
| [in] | Kode | (Optional)
A parameter to indicate the scaling option.
= 1: No scaling.
= 2: Returns exponentially scaled values. |
- Reference
- SLATEC
|