XLPack 7.0
XLPack Numerical Library (Excel VBA) Reference Manual
Loading...
Searching...
No Matches

◆ 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]ZArgument z. (Z <> 0)
[in]NuOrder of first member of the sequence. (Nu >= 0)
[in]MSuperscript of Hankel function. (m = 1 or 2)
[in]NNumber 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