Skip to main content

Fast matrix-based visibility simulator with interface to CPU and GPU

Project description

https://github.com/hera-team/matvis/workflows/Tests/badge.svg https://badge.fury.io/py/vis-cpu.svg https://codecov.io/gh/hera-team/matvis/branch/main/graph/badge.svg https://img.shields.io/badge/code%20style-black-000000.svg

Fast matrix-based visibility simulator capable of running on CPU and GPU.

Description

matvis is a fast Python matrix-based interferometric visibility simulator with both CPU and GPU implementations.

It is applicable to wide field-of-view instruments such as the Hydrogen Epoch of Reionization Array (HERA) and the Square Kilometre Array (SKA), as it does not make any approximations of the visibility integral (such as the flat-sky approximation). The only approximation made is that the sky is a collection of point sources, which is valid for sky models that intrinsically consist of point-sources, but is an approximation for diffuse sky models.

An example wrapper for the main matvis simulator function is provided in this package (matvis.simulate_vis()).

Features

  • Matrix-based algorithm is fast and scales well to large numbers of antennas.

  • Supports both CPU and GPU implementations as drop-in replacements for each other.

  • Supports both dense and sparse sky models.

  • Includes a wrapper for simulating multiple frequencies and setting up the simulation.

  • No approximations of the visibility integral (such as the flat-sky approximation).

  • Arbitrary primary beams per-antenna using the pyuvdata.UVBeam class.

Limitations

  • Currently no support for polarized sky models.

  • Currently no way of taking advantage of baseline redundancy to speed up simulations.

  • Diffuse sky models must be pixelised, which may not be the best basis-function for some sky models.

Installation

pip install matvis.

If you want to use the GPU functions, install with pip install matvis[gpu].

Developers

Run pre-commit install before working on this code.

Read the Docs

https://matvis.readthedocs.io/en/latest/

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

matvis-1.3.2.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

matvis-1.3.2-py2.py3-none-any.whl (2.1 MB view details)

Uploaded Python 2Python 3

File details

Details for the file matvis-1.3.2.tar.gz.

File metadata

  • Download URL: matvis-1.3.2.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for matvis-1.3.2.tar.gz
Algorithm Hash digest
SHA256 1202f14440bd4bc2ae850b53a9d826cb7dbc3534b1617ad5a9c1916383407a33
MD5 345fda77cb94c73e276859c980a3cf83
BLAKE2b-256 4f2b2581675af4ecad55d95701fb2d15b5b1b961da2895e3521840ab2e84a94d

See more details on using hashes here.

Provenance

The following attestation bundles were made for matvis-1.3.2.tar.gz:

Publisher: publish-to-pypi.yaml on HERA-Team/matvis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file matvis-1.3.2-py2.py3-none-any.whl.

File metadata

  • Download URL: matvis-1.3.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for matvis-1.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8fd21b0bda9e424f1715ee7cba0049af13a6c13d107ce6a0b0609b631e7bb042
MD5 3ac17e29cb68dde322195697c456cc58
BLAKE2b-256 6fcb2809da0daaee96bb93e99093cd5fef395fabde5e4d6ce6aeedfd1bc7437c

See more details on using hashes here.

Provenance

The following attestation bundles were made for matvis-1.3.2-py2.py3-none-any.whl:

Publisher: publish-to-pypi.yaml on HERA-Team/matvis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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