pub fn bessel_jy_half<P, E, V>(nu: V, x: V) -> (V, V)Expand description
$(J_\nu(x), Y_\nu(x))$ at half-integer $\nu$, both signs of $\nu$, for $x > 0$.
nu must be exactly a half-odd-integer ($\pm 1/2, \pm 3/2, \ldots$). Whole orders do not
belong here and are not detected: BesselOrder::simplify
narrows HalfInteger(2m) to Integer(m) before any kernel sees it, which is why the tag
stores a numerator.
§Negative order is a swap, not a rotation
The general rule at non-integer order is the rotation
$J_{-\nu} = J_\nu\cos\nu\pi - Y_\nu\sin\nu\pi$. At $\nu = m + 1/2$ the cosine vanishes
exactly and the sine is $(-1)^m$, so the rotation degenerates into an exchange:
J_{-(m+1/2)} = (-1)^{m+1}\,Y_{m+1/2}, \qquad Y_{-(m+1/2)} = (-1)^m\,J_{m+1/2}No trigonometry is evaluated for it, and no cancellation is possible in it, which is the
second reason this order class is worth its own kernel, since the general path pays a
sincos_pi and a pair of products to reach the same answer less exactly.