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.2.1.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

matvis-1.2.1-py2.py3-none-any.whl (2.0 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for matvis-1.2.1.tar.gz
Algorithm Hash digest
SHA256 064c2e8a4cbaab845fffcda4fd895fb5d16123193d17991f2060f8e99669c090
MD5 ea70d0a59e2806d625082f2121c2ff6f
BLAKE2b-256 316b330e0f16cfadb8c8d7fb57c840e41431b5c4940123c20739d4a5b6073032

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matvis-1.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for matvis-1.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b6eac8c4eb4dd84822ab50c6cfa2bc615b5b4a1698a782a977abffa9825bca30
MD5 5b164a6830d5f94c61b08b934a28d87b
BLAKE2b-256 65940ed6253b27e3120ff92f96bf47a2c856256948fec90a5bc0a1d49cbe4148

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