sph harm y 返回批量角度的不正确值( 与 # 20769 相同)
说明
`jax.scipy. special. sph harm y' 当它被调用时返回不正确的值 带有分批取角并有长度-1度/顺序——结果正确: 索引 0 和 无声错误 。
这是与20769号相同的根源(它通过现在的衰竭报告)
sph harm'),但值得单独一份报告,因为它仍然存在于 sph harm y'、API scipy 1.15+和JAX docs指向用户,因为有两个
更多的问题随之而来。 在Jax 0.11.1上对 1.18.1进行验证。
有错
其内部图例表位置索引 ([`jax/ src/scipy/ special.py' [src]):
lengre val = legendre.at [abs(m), n, jnp.arange (len(n)].get(mode="clip") 互联网档案馆的存檔,存档日期2013-12-21.
jnp.arange(len(n))' 沿 *angle* 轴线行走,指数取自 n',将n'与theta'定位配对,而不是广播这四个
相互反对。 长一度对一组角度
因此仅收集“theta[0]”的传奇值,然后乘以
以每个“phi”的方位系数表示的单值。
• 复制人
[Python] 导入 Os os.environ ["JAX ENABLE X-64"]="真" (中文(简体) ).
导入 Jax 。 数字为jnp 导入 jax. scipy. special as jss 将数字导入为 np 导入 scipy. special 为 sps
theta = jnp.linspace(0.1, 3.0, 4) 互联网档案馆的存檔,存档日期2013-12-20. phi = jnp.zeros(4) (中文(简体) ).
获得 = jss. sph harm y(jnp.array ([3]), jnp.array ([0]), seta, phi) 数据格式 想要=sps.sph harm y(3, 0, np.asaray(theta), np.asaray(phi)) 翻译 : 打印( np.asarray( 有) ) 打印( 需要) 打印(np.abs(np.asarray(got) - want))
[0.72412021+0.j 0.72412021+0.j. 0.72412021+0.j. 0.72412021+0.j] (中文(简体) ). [0.72412021+0.j-0.3304791+0.j0.33377659+0.j-0.70209664+0.j] (中文(简体) ). [2.22044605e-16 1.05459931e+00 3.90343624e-01 1.42621685e+00] (中文(简体) ).
每个条目都是`theta[0]'的值。 误差达到**1.43 绝对**
`n=3,m=0'——普通电话,不是边缘案件。 扫地 "n " 3和
`| m| n',这是这些角度最糟糕的情况;准确的最大值取决于
标出哪些角度,因此是明确的复制者。
排名-0输入
`len(n)'直接要求获得学位,因此,学位不会失败
优雅地说:
```2ZZ
js. sph harm y (3, 0, Theta, phi) (英语).
# TypeError: len () 非大小对象
极地的衍生物
另外,衍生物在两极的"n"值为"n" 1",因为
执行区分了sqrt(1-cos^2 theta)'和幸存的0 * inf'
`nan'是:
n=0:分级(theta=0)=0.0分级(theta=pi)=0.0分级.
n=1:分级(theta=0)=nan分级(theta=pi)=nan分级.
n=2:分级(theta=0)=nan分级(theta=pi)=nan分级.
n=3:分级(theta=0)=nan分级(theta=pi)=nan分级.
页:1
这达到了下游的代码 没有任何测试 抓住它,因为每一个 fixture评价了一个位置——一个正确的指数. 一个套房 只检查一个角度 无法看到这个类的bug, 这或许值得 记住任何固定的土地。
不管怎么样,在固定方向上: 取得学位 . . . . . . .
内容来源: jax-ml/jax