Skip to main content

Coordinates in JAX

Project description

coordinax

Coordinates in JAX

Coordinax enables calculations with coordinates in JAX. Built on Equinox and Quax.

Installation

PyPI platforms PyPI version

pip install coordinax

Documentation

Documentation Status

Coming soon. In the meantime, if you've used astropy.coordinates, then coordinax should be fairly intuitive.

Quick example

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]]>

Citation

DOI

If you found this library to be useful in academic work, then please cite.

Development

Actions Status

We welcome contributions!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coordinax-0.9.7.tar.gz (76.9 kB view details)

Uploaded Source

Built Distribution

coordinax-0.9.7-py3-none-any.whl (103.3 kB view details)

Uploaded Python 3

File details

Details for the file coordinax-0.9.7.tar.gz.

File metadata

  • Download URL: coordinax-0.9.7.tar.gz
  • Upload date:
  • Size: 76.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for coordinax-0.9.7.tar.gz
Algorithm Hash digest
SHA256 3294d6810c88d5a61dea0a86ff04f4e21c9f8ccb750500bee5ea1038693fea23
MD5 6f8851aac6d3d257767a772d37e5d2c9
BLAKE2b-256 20fa01524537ddc005ae0efef389edbc2299b87e59603390a70601b2cd7b30a9

See more details on using hashes here.

File details

Details for the file coordinax-0.9.7-py3-none-any.whl.

File metadata

  • Download URL: coordinax-0.9.7-py3-none-any.whl
  • Upload date:
  • Size: 103.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for coordinax-0.9.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f57df4b94aa3ae40ea327cdcecb3dfcb0a05ce5695858e7acb73d7c793bb9f15
MD5 6a401430ca5e09514ab522fd94198f2c
BLAKE2b-256 6c037f70c8636426c3c8c86fad866d2b1ae71058efe96d8adf48a7a58eb4abbe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page