JAX中的坐标
项目描述
coordinax
JAX中的坐标
Coordinax允许在JAX中进行坐标计算。基于Equinox和Quax构建。
安装
pip install coordinax
文档
即将推出。在此期间,如果您已经使用过 astropy.coordinates
,那么 coordinax
应该相当直观。
快速示例
import coordinax as cx
import jax.numpy as jnp
from unxt import Quantity
q = cx.CartesianPosition3D(
x=Quantity(jnp.arange(0, 10.0), "km"),
y=Quantity(jnp.arange(5, 15.0), "km"),
z=Quantity(jnp.arange(10, 20.0), "km"),
)
print(q)
# <CartesianPosition3D (x[km], y[km], z[km])
# [[ 0. 5. 10.]
# [ 1. 6. 11.]
# ...
# [ 8. 13. 18.]
# [ 9. 14. 19.]]>
q2 = cx.represent_as(q, cx.SphericalPosition)
print(q2)
# <SphericalPosition (r[km], theta[rad], phi[rad])
# [[11.18 0.464 1.571]
# [12.57 0.505 1.406]
# ...
# [23.601 0.703 1.019]
# [25.259 0.719 0.999]]>
p = cx.CartesianVelocity3D(
d_x=Quantity(jnp.arange(0, 10.0), "m/s"),
d_y=Quantity(jnp.arange(5, 15.0), "m/s"),
d_z=Quantity(jnp.arange(10, 20.0), "m/s"),
)
print(p)
# <CartesianVelocity3D (d_x[m / s], d_y[m / s], d_z[m / s])
# [[ 0. 5. 10.]
# [ 1. 6. 11.]
# ...
# [ 8. 13. 18.]
# [ 9. 14. 19.]]>
p2 = cx.represent_as(p, cx.SphericalVelocity, q)
print(p2)
# <SphericalVelocity (d_r[m / s], d_theta[m rad / (km s)], d_phi[m rad / (km s)])
# [[ 1.118e+01 -3.886e-16 0.000e+00]
# [ 1.257e+01 -1.110e-16 0.000e+00]
# ...
# [ 2.360e+01 0.000e+00 0.000e+00]
# [ 2.526e+01 -2.776e-16 0.000e+00]]>
引用
如果您认为这个库在学术工作中很有用,请引用。
开发
我们欢迎贡献!
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源分布
coordinax-0.10.1.tar.gz (79.7 kB 查看散列值)
构建分布
coordinax-0.10.1-py3-none-any.whl (106.9 kB 查看散列值)
关闭
coordinax-0.10.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2221a82b95a911805e7ff25fd39548e6279d3baaebb808eac081efefcfd87420 |
|
MD5 | 3f0207e8361b0a1821e1dc3c882f7f4f |
|
BLAKE2b-256 | 4a82f772f7f351480a17c558ab4cbc834e2452cb7f136a8ef5ae69da003ffaec |
关闭
coordinax-0.10.1-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | bed214e3ab4c67d920b8ed95b82775e98151f838901b3c62610af5fce8514d61 |
|
MD5 | 4661ff119ac70f8e7abb08a8785e5d1b |
|
BLAKE2b-256 | c6a8f8bb816571a57366db014d6c06e35a32d9c785bc188cf66af5e16567bd80 |