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.