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
Metadata
Release files for matvis 1.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| matvis-1.3.3.tar.gz | 2.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| matvis-1.3.3-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 4.4 MB
Release files / matvis-1.3.3.tar.gz
| Download URL | matvis-1.3.3.tar.gz |
|---|---|
| Size | 2.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9af8005c2c1222ac878ab5480d89493cf9d978839309b284c6b4e2d782dda8b6
|
|
BLAKE2b-256 checksum How to use checksums |
a5f5dcfe2c209f1873a8c5ca1c8fb56ca7132dfc230b855cfb72f76bd9fd4344
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 14, 2026.
Transparency logRelease files / matvis-1.3.3-py2.py3-none-any.whl
| Download URL | matvis-1.3.3-py2.py3-none-any.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
6d023212184c310881d9179a672f43c954ade10c4a810dec4723c3b6ad9e2c30
|
|
BLAKE2b-256 checksum How to use checksums |
e4e9f7a8426a3980a172f376b5bc4db3d9c00f7db5ba3c1cd303f03c37b2e96e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 14, 2026.
Transparency log