Skip to main content
Vector logo

Vector: arrays of 2D, 3D, and Lorentz vectors

DOI DOI Scikit-HEP

Actions Status GPU Action Status Documentation Status pre-commit.ci status codecov percentage

PyPI platforms PyPI version Conda latest release

LICENSE GitHub Discussion Gitter

Installation

You can install Vector with pip and conda.

pip install vector

Introduction

Vector is a Python library for 2D and 3D spatial vectors, as well as 4D space-time vectors. It is especially intended for performing geometric calculations on arrays of vectors, rather than one vector at a time in a Python for loop.

Vector is part of the Scikit-HEP project, High Energy Physics (HEP) tools in Python.

Coordinate systems

Vectors may be expressed in any of these coordinate systems:

  • the azimuthal plane may be Cartesian x y or polar rho ($\rho$) phi ($\phi$)
  • the longitudinal axis may be Cartesian z, polar theta ($\theta$), or pseudorapidity eta ($\eta$)
  • the temporal component for space-time vectors may be Cartesian t or proper time tau ($\tau$)

in any combination. (That is, 4D vectors have 2×3×2 = 12 distinct coordinate systems.)

Diagram of coordinate systems

Backends

Vectors may be included in any of these data types:

Each of these "backends" provides the same suite of properties and methods, through a common "compute" library.

Integrations

Optionally, the vector package provides integration with other libraries. Currently, this includes:

Geometric versus momentum

Finally, vectors come in two flavors:

  • geometric: only one name for each property or method
  • momentum: same property or method can be accessed with several synonyms, such as pt ($p_T$, transverse momentum) for the azimuthal magnitude rho ($\rho$) and energy and mass for the Cartesian time t and proper time tau ($\tau$).

Familiar conventions

Names and coordinate conventions were chosen to align with ROOT's TLorentzVector and Math::LorentzVector, as well as scikit-hep/math, uproot-methods TLorentzVector, henryiii/hepvector, and coffea.nanoevents.methods.vector.

Getting help

Contributing to Vector

If you want to contribute to Vector, pull requests are welcome!

Please install the latest version of the main branch from source or a fork:

git clone https://github.com/scikit-hep/vector.git
cd vector
pip install -e .

Refer to CONTRIBUTING.md for more.

Citing Vector

To cite Vector, please use DOI

@article{Chopra2025,
doi = {10.21105/joss.07791},
url = {https://doi.org/10.21105/joss.07791},
year = {2025}, publisher = {The Open Journal},
volume = {10},
number = {109},
pages = {7791},
author = {Saransh Chopra and Henry Schreiner and Eduardo Rodrigues and Jonas Eschle and Jim Pivarski},
title = {Vector: JIT-compilable mathematical manipulations of ragged Lorentz vectors},
journal = {Journal of Open Source Software}
}

Documentation

Tutorials

Vector constructors

Vector functions

Integrations

More ways to learn

Contributors

Thanks goes to these wonderful people (emoji key):

Jim Pivarski
Jim Pivarski

🚧 💻 📖
Henry Schreiner
Henry Schreiner

🚧 💻 📖
Eduardo Rodrigues
Eduardo Rodrigues

🚧 💻 📖
N!no
N!no

📖
Peter Fackeldey
Peter Fackeldey

📖
Luke Kreczko
Luke Kreczko

💻
Nicholas Smith
Nicholas Smith

🤔
Jonas Eschle
Jonas Eschle

🤔
Saransh Chopra
Saransh Chopra

🚧 💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome! See CONTRIBUTING.md for information on setting up a development environment.

Acknowledgements

This library was primarily developed by Saransh Chopra, Henry Schreiner, Jim Pivarski, Eduardo Rodrigues, and Jonas Eschle.

Support for this work was provided by the National Science Foundation cooperative agreement OAC-1836650 and PHY-2323298 (IRIS-HEP) and OAC-1450377 (DIANA/HEP). Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

Release files for vector 1.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vector 1.9.0
File Size Uploaded
vector-1.9.0.tar.gz 418.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vector 1.9.0
File Interpreter ABI Platform
vector-1.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 605.7 kB

Release files / vector-1.9.0.tar.gz

Download URL vector-1.9.0.tar.gz
Size 418.3 kB
Tags Source
SHA-256 checksum
How to use checksums
72128b48b6a72af965babd63dccc5a110f0729e6404dcd8c5c75eaac31b80d84
BLAKE2b-256 checksum
How to use checksums
b2cbbde1d1d07e1ce3188e10a52f4bde53b30625db7c0c9ea2d90fd29039cf70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 20, 2026.

Transparency log

Release files / vector-1.9.0-py3-none-any.whl

Download URL vector-1.9.0-py3-none-any.whl
Size 187.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
791f882db0dbc6738127c67cbd8c1a0ba6e63e40121dba7f69cc5c98327e9f13
BLAKE2b-256 checksum
How to use checksums
5af94dd5d879f9e9528cbf69182d2ec1800b1036860519344c22bc1682cfe77f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.9.0 This release

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.11.0

2 release files

0.9.0

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page