besselY1¶
Evaluates the real Bessel function of the second kind of order one \(Y_1(x)\).
Synopsis¶
besselY1 (x)
Required Arguments¶
- float
x
(Input) - Point at which the Bessel function is to be evaluated.
Return Value¶
The value of the Bessel function
\[Y_1(x) = -\tfrac{1}{\pi} \int_0^{\pi} \sin (\theta - x \sin \theta) d \theta -
\tfrac{1}{\pi} \int_0^{\infty} \left\{e^t - e^{-t}\right\} e^{-z \sinh t} dt\]
If no solution can be computed, then NaN is returned.
Description¶
This function is sometimes called the Neumann function, \(N_1(x)\), or Weber’s function.
Since \(Y_1(x)\) is complex for negative x and is undefined at
\(x=0\), besselY1
is defined only for \(x>0\). Because the Bessel
function \(Y_1(x)\) is oscillatory, its computation becomes inaccurate as
x increases.
Example¶
The Bessel function \(Y_1(1.5)\) is evaluated.
from __future__ import print_function
from numpy import *
from pyimsl.math.besselY1 import besselY1
x = 1.5
ans = besselY1(x)
print("Y1(%f) = %f" % (x, ans))
Output¶
Y1(1.500000) = -0.412309
Warning Errors¶
IMSL_LARGE_ABS_ARG_WARN |
\(|x|\) should be less than \(1/\sqrt{\varepsilon}\) where ɛ is the machine precision to prevent the answer from being less accurate than half precision. |
Fatal Errors¶
IMSL_SMALL_ARG_OVERFLOW |
The argument x must be large enough (\(x>\max(1/b,s)\) where s is the smallest representable positive number and b is the largest representable number) that \(Y_1(x)\) does not overflow. |
IMSL_LARGE_ABS_ARG_FATAL |
\(|x|\) should be less than \(1/\varepsilon\) where ɛ is the machine precision for the answer to have any precision. |