Releases: MohamedElashri/lvec
Releases · MohamedElashri/lvec
v0.1.4
Full Changelog Commits: 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 frameFrame.from_lvec(): Create a frame in which a specified Lorentz vector is at restFrame.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 frameLVec.transform_frame(): Transform a vector between two explicit reference frames
Changed
- Extended README with information about reference frames features.
v0.1.3
Full Changelog Commits: 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_tanfor tangent computation. - Added scalar input support to
backend_logandbackend_exp. - Introduced
compute_masssafeguard 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
vectorpackage and for LVec performance. - Added
requirements.txtfile (generated viauv). - Added
pytestto development dependencies foruv run pytest.
Changed
- Updated Python requirement to 3.10+ due to
numpycompatibility. - 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_npfunction instead ofak.to_numpy. - Updated README to reflect LHCb benchmarks.
- Updated
pyproject.tomlwith missing dependencies forawkward.
Fixed
- Corrected vector class names from
LVec2D/LVec3DtoVector2D/Vector3D. - Fixed multiple utilities and backend functions to better support scalar and jagged inputs.
- Improved robustness of
compute_massagainst invalid inputs.
Refactored
- Unified use of
backend_whereinstead ofnp.wherefor consistency. - Improved clarity in pseudorapidity calculation.
- Removed redundant
np.atleast_1dcalls into_ak. - Restructured caching logic for better modularity.
Removed
- Removed
uprootfrom dependencies, as it is no longer required.
v0.1.2
Changelog
[0.1.2] - 2025-03-17
Added
- Improved error messages
- improve
aktype handling
Fixed
- Several bugs