### Install vector with Documentation Dependencies Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Installs vector in editable mode, including development, testing, and documentation dependencies. This is useful for building and developing the project's documentation. ```bash pip install -e ".[dev, test, docs]" ``` -------------------------------- ### Installing Nox Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Installs the Nox automation tool using pip. Nox is used to manage and run various project commands and tasks. ```bash pip install nox ``` -------------------------------- ### Install pre-commit Hooks Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Installs pre-commit hooks locally to automatically format, type-check, and prettify the codebase on commit. ```bash pre-commit install ``` -------------------------------- ### Install vector using Conda Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Installs vector using Conda, creating a new environment named 'vector' and activating it. Optionally configures Conda to use the conda-forge channel. ```bash conda env create conda activate vector conda config --env --add channels conda-forge # optional ``` -------------------------------- ### Add vector Kernel for Notebooks Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Installs a Jupyter kernel for the vector environment, allowing notebooks to use the installed vector package. ```bash python -m ipykernel install --user --name vector ``` -------------------------------- ### Install vector with Development Dependencies Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Installs vector in editable mode with development and testing dependencies. The 'dev' option includes awkward, test, numba, and sympy, while 'test' adds testing extras. ```bash pip install -e ".[dev, test]" ``` -------------------------------- ### Install Vector with Pip Source: https://github.com/scikit-hep/vector/blob/main/docs/index.md This code snippet shows the command to install the Vector library using pip, the Python package installer. It's a straightforward command for users who prefer pip for package management. ```bash pip install vector ``` -------------------------------- ### Create and Activate Virtual Environment (UNIX) Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Creates a Python virtual environment named '.env' and activates it. This isolates the vector installation and its dependencies. ```bash python3 -m venv .env . .env/bin/activate ``` -------------------------------- ### Install Vector from Source Source: https://github.com/scikit-hep/vector/blob/main/docs/index.md Instructions for cloning the Vector repository and installing it from the main branch using pip. This is useful for developers who want to contribute or use the latest features. ```bash git clone https://github.com/scikit-hep/vector.git cd vector pip install -e . ``` -------------------------------- ### Install Vector from Source Source: https://github.com/scikit-hep/vector/blob/main/README.md Installs the Vector library from its source code, typically from a Git repository clone. This is useful for development or when using the latest unreleased features. ```bash git clone https://github.com/scikit-hep/vector.git cd vector pip install -e . ``` -------------------------------- ### Install Vector with Pip Source: https://github.com/scikit-hep/vector/blob/main/README.md Installs the Vector library using pip, the Python package installer. This is the standard way to add Vector to your Python environment. ```bash pip install vector ``` -------------------------------- ### Create and Activate Virtual Environment (Windows) Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Creates a Python virtual environment named '.env' and activates it on Windows systems. This isolates the vector installation and its dependencies. ```bash python -m venv .env .env\bin\activate ``` -------------------------------- ### Run Unit Tests with pytest Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Executes the unit tests for the vector project using pytest. This command assumes the necessary test dependencies are installed. ```bash python -m pytest ``` -------------------------------- ### Run Doctests Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Executes doctests within the vector project's docstrings using pytest-doctestplus. This ensures that code examples in the documentation are accurate and functional. ```bash python -m pytest --doctest-plus src/vector/ ``` -------------------------------- ### Vector Summation with `sum()` Source: https://github.com/scikit-hep/vector/blob/main/docs/src/object.ipynb Demonstrates using the built-in `sum()` function with a list of vectors, requiring a `start` value. ```python import vector vs = [vector.obj(x=x, y=x / 10) for x in range(10)] sum(vs, start=vector.obj(x=0, y=0)) ``` -------------------------------- ### Run Notebook Tests Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Executes the tests specifically designed for Jupyter notebooks within the vector project. This ensures that notebook examples and functionality are working correctly. ```bash pytest tests/test_notebooks.py ``` -------------------------------- ### Building Documentation with Nox Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Commands to build the project's documentation using Nox. The `-- serve` option allows for serving the documentation locally on localhost. ```bash nox -s docs nox -s docs -- serve ``` -------------------------------- ### Building Documentation Locally Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Commands to clean and build the project's documentation locally. This process generates HTML files in the `docs/_build` directory, which can be viewed in a web browser. ```bash cd docs/ make clean make html ``` -------------------------------- ### Running Nox Test Sessions Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Commands to run various testing scenarios using Nox. This includes testing with minimal dependencies, all dependencies, doctests, coverage reports, notebooks, and specific Python versions. ```bash nox -s lite nox -s tests nox -s tests nox -s coverage nox -s notebooks nox -s disassemble ``` -------------------------------- ### Description and Reference Name Formatting Source: https://github.com/scikit-hep/vector/blob/main/.git_archival.txt Details the formatting for describing nodes and generating reference names, including tag matching and descriptive naming. ```APIDOC describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$ - Description: Generates a descriptive name for nodes, including tags and matching patterns that include numbers. ref-names: $Format:%D$ - Description: Generates reference names for nodes. ``` -------------------------------- ### Running Default Nox Sessions Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Executes the default Nox sessions defined in the `noxfile.py`. These typically include linting, testing, and documentation checks. ```bash nox ``` -------------------------------- ### Creating a LorentzVectorArray from a 2D Vector Source: https://github.com/scikit-hep/vector/blob/main/docs/src/awkward.ipynb This example shows how to create a new LorentzVectorArray that is 'like' an existing vector, but initialized with 2D vector components (x, y). ```python vec.like(vector.obj(x=1, y=2)) ``` -------------------------------- ### Run all pre-commit Hooks Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Triggers all pre-commit hooks on all files in the repository. This is useful for ensuring the entire codebase adheres to the defined quality standards. ```bash pre-commit run --all-files ``` -------------------------------- ### Creating a LorentzVectorArray from a 3D Vector Source: https://github.com/scikit-hep/vector/blob/main/docs/src/awkward.ipynb This example shows how to create a new LorentzVectorArray that is 'like' an existing vector, but initialized with 3D vector components (x, y, z). ```python vec.like(vector.obj(x=1, y=2, z=3)) ``` -------------------------------- ### Run All Tests Including Doctests Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Executes both unit tests and doctests for the vector project. This provides a comprehensive test run to ensure code correctness and documentation accuracy. ```bash python -m pytest --doctest-plus . ``` -------------------------------- ### Subclassing Awkward-Vector Behaviors Source: https://github.com/scikit-hep/vector/blob/main/docs/src/awkward.ipynb Demonstrates how to subclass existing Awkward-Vector behaviors to extend functionality. This example shows creating `TwoVector` and `ThreeVector` classes that inherit from `MomentumAwkward2D` and `MomentumAwkward3D` respectively. ```python behavior = vector.backends.awkward.behavior @ak.mixin_class(behavior) class TwoVector(vector.backends.awkward.MomentumAwkward2D): pass @ak.mixin_class(behavior) class ThreeVector(vector.backends.awkward.MomentumAwkward3D): pass # required for transforming vectors # the class names must always end with "Array" TwoVectorArray.ProjectionClass2D = TwoVectorArray # noqa: F821 TwoVectorArray.ProjectionClass3D = ThreeVectorArray # noqa: F821 TwoVectorArray.MomentumClass = TwoVectorArray # noqa: F821 ThreeVectorArray.ProjectionClass2D = TwoVectorArray # noqa: F821 ThreeVectorArray.ProjectionClass3D = ThreeVectorArray # noqa: F821 ThreeVectorArray.MomentumClass = ThreeVectorArray # noqa: F821 ``` -------------------------------- ### Addition after Copying Behaviors Source: https://github.com/scikit-hep/vector/blob/main/docs/src/awkward.ipynb This example demonstrates performing vector addition after using `copy_behaviors` to register operations for new subclasses. It shows that the addition works as expected for the newly defined vector types. ```python vec + vec ``` -------------------------------- ### 2D Vector Addition after Copying Behaviors Source: https://github.com/scikit-hep/vector/blob/main/docs/src/awkward.ipynb This example demonstrates performing addition on 2D vectors after using `copy_behaviors` to register operations for new subclasses. It shows that the addition works as expected for the newly defined 2D vector types. ```python vec.to_2D() + vec.to_2D() ``` -------------------------------- ### Clone vector Repository Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Forks and clones the scikit-hep/vector repository to your local machine. This is the first step for developing or using the latest commit of vector. ```bash # fork scikit-hep/vector git clone https://github.com//vector.git ``` -------------------------------- ### Node Formatting Conventions Source: https://github.com/scikit-hep/vector/blob/main/.git_archival.txt Defines the formatting conventions for node information within the project, including hash format and date format. ```APIDOC node: $Format:%H$ - Description: Specifies the hash format for nodes. node-date: $Format:%cI$ - Description: Specifies the date format for nodes, using ISO 8601 format. ``` -------------------------------- ### Run Tests with Coverage Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Runs tests using pytest and calculates code coverage for the vector package. The results are typically reported to the console or a file. ```bash python -m pytest --cov=vector tests/ ``` -------------------------------- ### Running Specific Nox Sessions Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Executes specific Nox sessions, such as 'lint' for running pre-commit hooks and Pylint, or 'build' for building the project. ```bash nox -s lint nox -s pylint nox -s build ``` -------------------------------- ### vector.VectorSympy3D API Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_sympy.md API documentation for the VectorSympy3D class, used for constructing 3D symbolic vectors. ```APIDOC vector.VectorSympy3D __init__(x, y, z) Constructs a 3D symbolic vector. Parameters: x: The x-component (SymPy symbol). y: The y-component (SymPy symbol). z: The z-component (SymPy symbol). Returns: A VectorSympy3D object. ``` -------------------------------- ### Vector Dot Product Method Source: https://github.com/scikit-hep/vector/wiki/Method-names This snippet documents the `dot()` method for vector operations within the scikit-hep vector library. It also notes its aliases and equivalents in other libraries like ROOT. ```python vector.dot() # Aliases: @ (in some contexts) # ROOT equivalent: Dot(), * ``` -------------------------------- ### Run Unit Tests, Skipping Notebook Tests Source: https://github.com/scikit-hep/vector/blob/main/CONTRIBUTING.md Executes unit tests using pytest, explicitly ignoring the notebook tests. This is useful for faster testing cycles when notebook tests are not critical. ```bash python -m pytest --ignore=tests/test_notebooks.py ``` -------------------------------- ### vector.VectorSympy2D API Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_sympy.md API documentation for the VectorSympy2D class, used for constructing 2D symbolic vectors. ```APIDOC vector.VectorSympy2D __init__(x, y) Constructs a 2D symbolic vector. Parameters: x: The x-component (SymPy symbol). y: The y-component (SymPy symbol). Returns: A VectorSympy2D object. ``` -------------------------------- ### vector.VectorSympy4D API Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_sympy.md API documentation for the VectorSympy4D class, used for constructing 4D symbolic vectors. ```APIDOC vector.VectorSympy4D __init__(x, y, eta, tau) Constructs a 4D symbolic vector. Parameters: x: The x-component (SymPy symbol). y: The y-component (SymPy symbol). eta: The eta component (SymPy symbol). tau: The tau component (SymPy symbol). Returns: A VectorSympy4D object. ``` -------------------------------- ### VectorProtocolSpatial Methods Source: https://github.com/scikit-hep/vector/blob/main/docs/src/vector3d.md This section documents the methods available for 3D vectors as defined by the VectorProtocolSpatial class. It includes inherited members and is ordered by source. ```APIDOC vector._methods.VectorProtocolSpatial :members: :inherited-members: :member-order: bysource ``` -------------------------------- ### Create Symbolic 2D Vector Source: https://github.com/scikit-hep/vector/blob/main/docs/src/sympy.ipynb Instantiates a 2D vector using symbolic components. ```python vector.VectorSympy2D(x=x, y=y) ``` -------------------------------- ### Import Libraries Source: https://github.com/scikit-hep/vector/blob/main/docs/src/numba.ipynb Imports the necessary libraries: vector for vector operations, numba for JIT compilation, and numpy for numerical operations. ```python import vector import numba as nb import numpy as np ``` -------------------------------- ### MomentumProtocolPlanar Methods Source: https://github.com/scikit-hep/vector/blob/main/docs/src/momentum2d.md This section details the methods available for 2D momentum vectors as defined by the MomentumProtocolPlanar class. It includes inherited members and is ordered by source. ```APIDOC vector._methods.MomentumProtocolPlanar :members: :inherited-members: :member-order: bysource ``` -------------------------------- ### Citation for Vector Source: https://github.com/scikit-hep/vector/blob/main/docs/index.md BibTeX entry for citing the Vector project in academic publications. It includes DOIs and author information for proper attribution. ```bibtex @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} } ``` -------------------------------- ### Using vector.zip for Awkward Arrays Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_awkward.md This snippet illustrates the use of `vector.zip` as an alternative to `ak.zip`. Similar to `vector.Array`, `vector.zip` applies the vector library's behaviors to the resulting Awkward Array, making it easier to create arrays of vector-like records. ```python import awkward as ak import vector vectors_data = { "x": [[1.1, 3.3], [], [5.5]], "y": [[2.2, 4.4], [], [6.6]], } vec_zipped = vector.zip({ "x": ak.Array(vectors_data["x"]), "y": ak.Array(vectors_data["y"]) }, with_name="Vector2D") print(abs(vec_zipped)) ``` -------------------------------- ### vector.MomentumSympy3D API Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_sympy.md API documentation for the MomentumSympy3D class, used for constructing 3D symbolic momentum vectors. ```APIDOC vector.MomentumSympy3D __init__(px, py, pz) Constructs a 3D symbolic momentum vector. Parameters: px: The x-component of momentum (SymPy symbol). py: The y-component of momentum (SymPy symbol). pz: The z-component of momentum (SymPy symbol). Returns: A MomentumSympy3D object. ``` -------------------------------- ### Basic Mass Computation (Numba JIT) Source: https://github.com/scikit-hep/vector/blob/main/docs/src/numba.ipynb The same mass computation function decorated with `@nb.njit` to enable Numba's just-in-time compilation. This version is expected to be faster for array operations. ```python @nb.njit def compute_mass(v1, v2): return (v1 + v2).mass ``` -------------------------------- ### Import Vector and SymPy Source: https://github.com/scikit-hep/vector/blob/main/docs/src/sympy.ipynb Imports the necessary libraries, Vector for vector operations and SymPy for symbolic mathematics. ```python import vector import sympy ``` -------------------------------- ### General Constructor - vector.obj Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_object.md The general constructor `vector.obj` is used to create vector objects. It takes arguments to specify the dimensionality and type (geometric or momentum) of the vector. ```APIDOC vector.obj(x=0, y=0, z=0, t=0, mass=0, charge=0, theta=None, phi=None, eta=None, p=None, E=None, px=None, py=None, pz=None, pt=None, flavor=None, charge_val=None, pdgid=None, color=None, is_bare=False, is_complex=False, is_real=False, is_complex_real=False, is_complex_imag=False, is_real_imag=False, is_real_real=False, is_real_imag_real=False, is_real_imag_imag=False, is_real_imag_real_imag=False, is_real_imag_imag_imag=False, is_real_imag_real_real_imag=False, is_real_imag_imag_real_imag=False, is_real_imag_real_imag_real_imag=False, is_real_imag_imag_imag_real_imag=False, is_real_imag_real_real_imag_real_imag=False, is_real_imag_imag_real_imag_real_imag=False, is_real_imag_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag=False, is_real_imag_real_real_imag_real_real_real_imag=False, is_real_imag_imag_real_imag_real_real_real_imag=False, is_real_imag_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_real_imag_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_imag_imag_real_real_real_imag_real_real_imag_real_real_imag=False, is_real_imag_real_real_imag_real_real_imag_real_real_imag_real_real_imag=False ``` -------------------------------- ### VectorSympy2D Constructor Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_sympy.md Constructs a 2D symbolic vector using SymPy. It requires x and y components as SymPy symbols. ```python import vector import sympy x, y, z, t, px, py, pz, eta, tau = sympy.symbols( "x y z t px py pz eta tau", real=True ) vector.VectorSympy2D(x=x, y=y) ``` -------------------------------- ### VectorSympy4D Constructor Source: https://github.com/scikit-hep/vector/blob/main/docs/src/make_sympy.md Constructs a 4D symbolic vector using SymPy. It requires x, y, eta, and tau components as SymPy symbols. ```python import vector import sympy x, y, z, t, px, py, pz, eta, tau = sympy.symbols( "x y z t px py pz eta tau", real=True ) vector.VectorSympy4D(x=x, y=y, eta=eta, tau=tau) ```