A new SymPy backend for Vector: Uniting experimental and theoretical physicists
Vector is a Python library for 2D, 3D, and Lorentz vectors, especially arrays of vectors, to solve common physics problems in a NumPy-like way. Vector can currently perform numerical computations, and through this paper, we introduce a new symbolic backend that extends Vector’s utility to theoretical physicists. The numerical backends of Vector enable users to create pure Python object, NumPy arrays, and Awkward arrays of vectors. The object and Awkward backends are also implemented in Numba to leverage Just-In- Time (JIT) compiled vector calculations. The new symbolic backend, built on top of SymPy expressions, showcases Vector’s ability to support far-flung cases and allows SymPy methods and functions to work on vector classes. Moreover, apart from a few software, high energy physics has maintained a strict separation between tools used by theorists and experimentalists, and Vector’s SymPy backend aims to bridge this gap, providing a unified computational framework for both communities.
Authors
- J. Pivarski (ORCID: https://orcid.org/0000-0002-6649-343X)
- Saransh Chopra (ORCID: https://orcid.org/0000-0003-3046-7675)
Institutions
- Princeton University (US)
- University College London (GB)
Publication Details
- Journal
- EPJ Web of Conferences
- Published
- 2025-01-01
- DOI
- https://doi.org/10.1051/epjconf/202533701240
- Primary Topic
- Particle physics theoretical and experimental studies
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation