Skip to content

HERA-Team/matvis

Folders and files

NameName
Last commit message
Last commit date
Sep 12, 2024
Sep 11, 2024
Nov 22, 2024
Nov 22, 2024
Nov 22, 2024
Nov 26, 2023
May 8, 2023
Nov 26, 2023
Mar 3, 2025
May 5, 2023
Nov 26, 2023
Aug 1, 2023
May 19, 2021
Nov 30, 2023
Nov 26, 2023
Nov 30, 2022
May 12, 2021
Nov 21, 2024

Repository files navigation

matvis

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/