Conversation
There was a problem hiding this comment.
Pull request overview
Adds new Level-1 “R1 light-current lensing” operators and accompanying analysis/initial-condition helpers, alongside 19-point-stencil-consistent Poisson/equilibrium utilities. This extends lfm’s package-native toolset for lensing reproduction workflows while keeping the numerical operators consistent with the existing 19-pt evolution stencil.
Changes:
- Add a 19-point-stencil spectral symbol (
eigenvalue_19pt) plus FFT Poisson/equilibrium helpers consistent withlaplacian_19pt. - Add R1 light packet initialization + vacuum-subtracted potential + acceleration + leapfrog step helpers.
- Add spatial Noether current readouts (raw and positive-clipped), update exports, tests, and bump version to
1.4.3.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_stencils.py | Adds a Fourier-mode consistency test for eigenvalue_19pt vs laplacian_19pt. |
| tests/test_physics_modules.py | Adds tests for spatial Noether current and positive-clipped current. |
| tests/test_fields.py | Adds tests for 19-pt Poisson roundtrip, 19-pt chi equilibrium, and R1 light helpers; updates public import checks. |
| pyproject.toml | Bumps package version to 1.4.3. |
| lfm/fields/light.py | Implements planar R1 packet constructor, vacuum-subtracted potential, acceleration, and leapfrog step. |
| lfm/fields/equilibrium.py | Implements poisson_solve_fft_19pt, equilibrate_chi_19pt, and equilibrate_from_fields_19pt; refines dtype handling in multicolor path. |
| lfm/fields/init.py | Re-exports new equilibrium + light helpers and updates __all__. |
| lfm/experiment/collision.py | Minor numeric cleanup to ensure eigenvalue is a Python float. |
| lfm/core/stencils.py | Adds eigenvalue_19pt matching the 19-point Laplacian stencil. |
| lfm/core/init.py | Re-exports eigenvalue_19pt and laplacian_19pt from lfm.core. |
| lfm/analysis/phase.py | Adds spatial Noether current helpers. |
| lfm/analysis/init.py | Re-exports Noether current helpers. |
| lfm/init.py | Bumps __version__ to 1.4.3 and re-exports new helpers at top-level. |
| CHANGELOG.md | Adds 1.4.3 changelog entry documenting newly added helpers. |
| .pre-commit-config.yaml | Updates the pinned mypy mirror revision. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
gpartin
force-pushed
the
codex/r1-light-current-lensing-operators
branch
from
July 6, 2026 17:34
ba00652 to
59547bd
Compare
gpartin
force-pushed
the
codex/r1-light-current-lensing-operators
branch
from
July 6, 2026 17:53
59547bd to
708bc5d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
Notes
The v1.4.2 tag already existed on GitHub and points at an older 27-point stencil commit, while PyPI still has 1.4.1 as latest. This release therefore uses v1.4.3.