jax.scipy.special.fresnel#
- jax.scipy.special.fresnel = <jax._src.custom_derivatives.custom_jvp object>[源代码]#
菲涅尔积分
scipy.special.fresnel
的 JAX 实现。- 菲涅尔积分定义为
- \[\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}\]
注意事项
JAX 版本仅支持实数值输入,并且基于 SciPy C++ 实现,请参阅此处。对于
float32
数据类型,该实现直接基于 Cephes 实现的fresnlf
。至于原始的 Cephes 实现,其精度仅在 [-10, 10] 范围内得到保证。在该范围之外,人们可能会观察到理论导数和自定义 JVP 实现之间的差异,特别是对于较大的输入值。
最后,对于半精度数据类型,
float16
和bfloat16
,数组元素会被向上转换为float32
,因为在级数展开中使用的 Cephes 系数会导致较差的结果。不支持其他数据类型,如float8
。