Recent Releases of https://github.com/mohamedelashri/lvec

https://github.com/mohamedelashri/lvec - v0.1.4

Full Changelog Commits: https://github.com/MohamedElashri/lvec/compare/v0.1.3...v0.1.4

Changelog

[0.1.4] - 2025-04-03

Added

  • Added the Frame class providing a framework for relativistic reference frame transformations [#1].

Frame Creation Methods: - Frame.rest(): Create a stationary reference frame - Frame.from_lvec(): Create a frame in which a specified Lorentz vector is at rest - Frame.center_of_mass(): Create a center-of-mass frame from a collection of particles

Frame Transformation Methods: - LVec.to_frame(): Transform a vector directly to a specified reference frame - LVec.transform_frame(): Transform a vector between two explicit reference frames

Changed

  • Extended README with information about reference frames features.

- Python
Published by MohamedElashri 11 months ago

https://github.com/mohamedelashri/lvec - v0.1.3

Full Changelog Commits: https://github.com/MohamedElashri/lvec/compare/v0.1.2...v0.1.3

Changelog

[0.1.3] - 2025-03-23

Added

  • Introduced 2D and 3D vector classes supporting NumPy and Awkward arrays.
  • Added support for jagged Awkward arrays in vector operations.
  • Implemented vector rotation methods in 2D and 3D.
  • Introduced backend_tan for tangent computation.
  • Added scalar input support to backend_log and backend_exp.
  • Introduced compute_mass safeguard for negative mass squared.
  • Added jagged array inner dimension consistency check in utilities.
  • Added fine-grained caching system with performance instrumentation.
  • Added LHCb-specific vector performance benchmarks.
  • Added comprehensive benchmarking against the vector package and for LVec performance.
  • Added requirements.txt file (generated via uv).
  • Added pytest to development dependencies for uv run pytest.

Changed

  • Updated Python requirement to 3.10+ due to numpy compatibility.
  • Updated example documentation with real LHCb Open Data analysis.
  • Extended README with 2D/3D support and installation instructions.
  • Updated LHCb example to use internal to_np function instead of ak.to_numpy.
  • Updated README to reflect LHCb benchmarks.
  • Updated pyproject.toml with missing dependencies for awkward.

Fixed

  • Corrected vector class names from LVec2D/LVec3D to Vector2D/Vector3D.
  • Fixed multiple utilities and backend functions to better support scalar and jagged inputs.
  • Improved robustness of compute_mass against invalid inputs.

Refactored

  • Unified use of backend_where instead of np.where for consistency.
  • Improved clarity in pseudorapidity calculation.
  • Removed redundant np.atleast_1d calls in to_ak.
  • Restructured caching logic for better modularity.

Removed

  • Removed uproot from dependencies, as it is no longer required.

- Python
Published by MohamedElashri 11 months ago

https://github.com/mohamedelashri/lvec - v0.1.2

Changelog

[0.1.2] - 2025-03-17

Added

  • Improved error messages
  • improve ak type handling

Fixed

  • Several bugs

- Python
Published by MohamedElashri 11 months ago