jax.scipy.special.fresnel#

jax.scipy.special.fresnel = <jax._src.custom_derivatives.custom_jvp object>[源码]#

菲涅尔积分

JAX 对 scipy.special.fresnel 的实现。

菲涅尔积分定义为
\[\begin{split}S(x) &= \int_0^x \sin(\pi t^2 /2) dt \\ C(x) &= \int_0^x \cos(\pi t^2 /2) dt.\end{split}\]
参数:

x (ArrayLike) – 类数组,实数值。

返回:

包含菲涅尔积分值的数组。

返回类型:

tuple[Array, Array]

注意事项

JAX 版本仅支持实值输入,并且基于 SciPy C++ 实现,请参阅 此处。对于 float32 数据类型,该实现直接基于 Cephes 实现 fresnlf

与原始的 Cephes 实现一样,精度仅在 [-10, 10] 域中得到保证。在该域之外,可能会观察到理论导数与自定义 JVP 实现之间存在偏差,尤其是在输入值较大的情况下。

最后,对于半精度数据类型 float16bfloat16,数组元素将被向上转换为 float32,因为否则用于级数展开的 Cephes 系数将导致结果不佳。其他数据类型,如 float8,则不支持。