Skip to content

feat: add angular momentum squared and ladder operators - #1679

Open
lizr-phys wants to merge 2 commits into
leanprover-community:masterfrom
lizr-phys:feat/angular-momentum-squared-ladders
Open

lizr-phys wants to merge 2 commits into
leanprover-community:masterfrom
lizr-phys:feat/angular-momentum-squared-ladders

Conversation

@lizr-phys

Copy link
Copy Markdown
Contributor

This extends the angular-momentum operators from #1673 on the common invariant Schwartz domain. It transports the existing Schwartz-space 𝐋² to a densely defined Hilbert-space operator, proves its component-sum formula and symmetry, and identifies the right-handed 3D components Lx = L₁₂, Ly = L₂₀, Lz = L₀₁. The Schwartz and Hilbert-space APIs then establish the Levi-Civita/cyclic commutation relations and the identities [Lz,L±] = ±ℏ L± and [L²,L±] = 0. Hilbert-space commutators are stated pointwise on Schwartz vectors with membership proofs for intermediate applications. No new dependency is added.

Reviewer map: Start with the angularMomentumSqOperator additions in AngularMomentum.lean, then read ThreeDimensional.lean in order: Cartesian components, commutation algebra, ladder operators. API-map.yaml and Physlib.lean record the API and new import.

Local validation: On the latest upstream/master, Lake rebuilt both changed angular-momentum modules and their hydrogen downstream module. Focused Lean linters (15 checks on both modules), axiom audit, import check, API-map check, style check, codespell, and git diff --check passed. On this Windows machine, lake --no-cache exe lint_all cannot start its native C dependencies because cc is unavailable.

AI assistance: Codex (GPT-6 Astra).

AI assistance: Codex (GPT-6 Astra).

Co-authored-by: GPT-6 Astra <noreply@openai.com>
@github-actions github-actions Bot added the large label Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for this pull-request (PR). If this is your first PR, welcome to the community!

Below is what will happen next. Please read carefully if you are not familiar with the process. You may open other PRs while this one is being reviewed, and can stack PRs on top of each other, so don't let these steps slow you down.

  1. Some automated checks will be run on your PR. You can see the results of these checks at the buttom of your PR page. If any of these checks fail, you will need to fix the issues before your PR can be merged. You can learn more about these here, including how to run them locally, which is sometimes quicker than relying on the GitHub Actions. If you have never had a PR merged before, you may have to wait for a reviewer to manually start these checks (this is for security).

  2. A reviewer will look at your PR and may ask you to make changes. This may happen a couple of days after you submit your PR, so you may need to be patient. But it should not be longer than that - if it is please bring it to the attention of the community on the Zulip. The level of review will depend on where your PR is submitted. If it is submitted to ./Physlib or ./QuantumInfo, the review will be more thorough than if it is submitted to ./PhyslibAlpha. You can find out more about what the review process is looking for in our review guidelines. If a reviewer adds an awaiting-author label to your PR, address the review comments, then please remove that label by adding a comment with -awaiting-author. This helps us keep track of reviews.

  3. The reviewer will either approve your PR, or request more changes (in which case we return to step 2). Once your PR is approved, it will be merged by a maintainer, this should happen shortly after approval, though you may get more comments at this stage.

Tip: The easiest way to get have a fast review is to submit a PR that is small and self-contained, and has clear documentation explaining why things are the way they are in your chages.

If you have any problems or questions, please reach out to the community on the Zulip.

@github-actions github-actions Bot added the t-quantum-mechanics Quantum mechanics label Sep 23, 2026
@jstoobysmith
jstoobysmith requested a review from gloges September 23, 2026 13:27

@jstoobysmith jstoobysmith left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added one comment here, but there are also a couple of comments on the Lean Zulip, which should be discussed.

(schwartzEquiv volume).symm.1

@[inherit_doc QuantumMechanics.angularMomentum3DOperator]
scoped[AngularMomentum] notation "𝓛x" => QuantumMechanics.angularMomentum3DOperator 0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't define this, maybe we just come up with a notation for a general QuantumMechanics.angularMomentum3DOperator i?

@jstoobysmith

Copy link
Copy Markdown
Member

awaiting-author

@github-actions github-actions Bot added the awaiting-author A reviewer has asked the author a question or requested changes label Sep 23, 2026
Use indexed notation and DimThree names for the new component API.
Generalize crossProductVee to arbitrary coefficients and reuse it with
the transpose that preserves the angular-momentum sign convention.

AI assistance: Codex (GPT-6 Astra).

Co-authored-by: GPT-6 Astra <noreply@openai.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-author A reviewer has asked the author a question or requested changes large t-quantum-mechanics Quantum mechanics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants