Skip to main content

mwa_jaxbeam

mwa_jaxbeam is a pure JAX implementation of the Murchison Widefield Array (MWA) Average Embedded Element (AEE) beam model.

The package reproduces the 137 MHz AEE model distributed with pyuvdata while providing a differentiable implementation suitable for optimization and inference problems. It is designed for applications such as satellite-based beam calibration, where the beam model must be evaluated millions of times and differentiated with respect to instrument parameters.

[!WARNING] This is experimental software. At present, only the 137 MHz MWA AEE beam model with zenith pointing is implemented.

Features

  • Pure JAX implementation with automatic differentiation.
  • Numerically validated against the MWA AEE implementation in pyuvdata.
  • Fast evaluation of the full complex tile Jones matrix.
  • Support for arbitrary real or complex dipole excitations.
  • Efficient JIT compilation for large sky grids.

Installation

git clone https://github.com/amanchokshi/mwa_jaxbeam.git
cd mwa_jaxbeam

uv sync

or

pip install -e .

Example

import jax.numpy as jnp

from mwa_jaxbeam.aee_137mhz import jones

az_rad = jnp.deg2rad(jnp.linspace(0.0, 360.0, 361))

za_rad = jnp.deg2rad(jnp.linspace(0.0, 90.0, 91))

az_grid, za_grid = jnp.meshgrid(
    az_rad,
    za_rad,
)

beam = jones(
    az_rad=az_grid,
    za_rad=za_grid,
)

The returned Jones matrix has shape

(2, 2, *broadcast_shape)

where the first axis contains the sky-vector components (φ, θ) and the second axis contains the tile feeds (X, Y).

Validation

The implementation has been validated against the MWA AEE model distributed with pyuvdata by independently reproducing each stage of the calculation

Performance

On an Apple M4 Pro, evaluation of the full tile Jones matrix for a typical satellite beam-calibration workload (6144 sky directions) takes approximately

  • 0.5 ms per forward evaluation (~2000 evaluations/s),
  • 0.86 ms for a forward evaluation plus reverse-mode gradient (~1160 evaluations/s).

Performance scales approximately linearly with the number of sky directions after JIT compilation.

Status

The current implementation supports

  • the 137 MHz MWA Average Embedded Element beam model,
  • arbitrary complex dipole excitations,
  • automatic differentiation through the complete beam calculation.

Future work includes interpolation across frequency and support for arbitrary beamformer delay settings.

Citation

If you use this package in published work, please cite the relevant MWA beam-model and pyuvdata publications, together with this repository.

Download files

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

Source Distribution

mwa_jaxbeam-0.1.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mwa_jaxbeam-0.1.0-py3-none-any.whl (169.9 kB view details)

Uploaded Python 3

File details

Details for the file mwa_jaxbeam-0.1.0.tar.gz.

File metadata

  • Download URL: mwa_jaxbeam-0.1.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for mwa_jaxbeam-0.1.0.tar.gz
Algorithm Hash digest
SHA256 68ea3387b145d323a61101b501ae3f4f7f159997977766402763c212beeb0808
MD5 e097c695248e76edfa6afd0862a64d49
BLAKE2b-256 4e5e3541331c51fe7d59abde4e7e1e9a781464c4bc205f47808f16c55759a084

See more details on using hashes here.

File details

Details for the file mwa_jaxbeam-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mwa_jaxbeam-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 169.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for mwa_jaxbeam-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5de9314a7a4097e9901e9bcd1520121e65dc6aa3c4aae578c3d764ea764d26aa
MD5 33864971322e698c3a8d1d69d8b290ac
BLAKE2b-256 0fefad905e0dc08eee3fd1e1219222204b551aa3d1712fc7165057ced463bfd3

See more details on using hashes here.

Supported by

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