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.CartesianPos3D(
    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)
# <CartesianPos3D (x[km], y[km], z[km])
#     [[ 0.  5. 10.]
#      [ 1.  6. 11.]
#      ...
#      [ 8. 13. 18.]
#      [ 9. 14. 19.]]>

q2 = cx.represent_as(q, cx.SphericalPos)
print(q2)
# <SphericalPos (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.CartesianVel3D(
    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)
# <CartesianVel3D (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.SphericalVel, q)
print(p2)
# <SphericalVel (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.13.3.tar.gz (156.5 kB view details)

Uploaded Source

Built Distribution

coordinax-0.13.3-py3-none-any.whl (123.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for coordinax-0.13.3.tar.gz
Algorithm Hash digest
SHA256 1403d1b9ab72a3eed9052d18f12e33609e26b96bd074f42c0ac6d463ccf979f6
MD5 232afae095e10d1b8d14deb419dbc6d0
BLAKE2b-256 38ca52a1cb041a9b3aff9618068d0f29c0b3d6b5c3ca388c96f49dea81791d0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for coordinax-0.13.3.tar.gz:

Publisher: cd.yml on GalacticDynamics/coordinax

Attestations:

File details

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

File metadata

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

File hashes

Hashes for coordinax-0.13.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5ffa8fa3c3b242a23320f3cceecd1342ec1f9f9bfad0b29f0f5d453cb803d5eb
MD5 6c226cf3b7585dd85155056344b35d2b
BLAKE2b-256 03574602e49b426e44f822ef2ab66e29407102efd9c39e6b474f28d490136c15

See more details on using hashes here.

Provenance

The following attestation bundles were made for coordinax-0.13.3-py3-none-any.whl:

Publisher: cd.yml on GalacticDynamics/coordinax

Attestations:

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