Skip to content

feat(QuantumMechanics): Hamiltonian and related operators of the Pöschl-Teller system - #1651

Open
KevorkianPhilippe wants to merge 4 commits into
leanprover-community:masterfrom
KevorkianPhilippe:poschl-teller-1
Open

KevorkianPhilippe wants to merge 4 commits into
leanprover-community:masterfrom
KevorkianPhilippe:poschl-teller-1

Conversation

@KevorkianPhilippe

@KevorkianPhilippe KevorkianPhilippe commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Resolves the TODO "Define the Hamiltonian and related operators for the Pöschl-Teller quantum system" of QuantumMechanics/PoschlTeller/Basic.lean, by realising the system as a SpaceDQuantumSystem, whose kinetic, potential and Hamiltonian operators are then the operators of the system, and by adding the properties of the potential that make these operators usable.

Section A (potential). New depth = ℏ² κ² N (N + 1) / (2 m) with potential_eq (V = -depth / cosh² (κ x)), potential_eq_tanh (V = -depth (1 - tanh² (κ x))), depth_pos, potential_neg, neg_depth_le_potential, potential_zero, potential_neg_eq (even), and the regularity lemmas tanh_hasTemperateGrowth, ofReal_comp_tanh_hasTemperateGrowth, potential_hasTemperateGrowth (from tanh_const_mul_hasTemperateGrowth composed with the coordinate), ofReal_comp_potential_hasTemperateGrowth, potential_continuous.

Section B (as a quantum system). toSpaceDQuantumSystem : SpaceDQuantumSystem of dimension 1 (an abbrev), with toSpaceDQuantumSystem_d, toSpaceDQuantumSystem_m and toSpaceDQuantumSystem_potential (all rfl). The kinetic, potential and Hamiltonian operators (Schwartz and unbounded versions) are those of SpaceDQuantumSystem; they are not redefined here.

Section C (operators). For the operators of Q.toSpaceDQuantumSystem: toSpaceDQuantumSystem_kineticCLM_apply (dimension one), toSpaceDQuantumSystem_potentialCLM_apply, toSpaceDQuantumSystem_potentialOperator_isSelfAdjoint and toSpaceDQuantumSystem_potentialOperator_domain_ge (the generic lemmas, with their hypotheses discharged by section A), toSpaceDQuantumSystem_hamiltonianCLM_apply. For the existing ladder operators: tanhCLM_apply, creationCLM_apply, annihilationCLM_apply, and the relations creationCLM_add_annihilationCLM (= (2/√(2m)) 𝐩 0) and creationCLM_sub_annihilationCLM (= (2 i ℏ κ/√(2m)) tanhCLM).

Not touched: the eigensystem via the ladder operators and the reflectionless property (the two other TODOs), which need the commutator of 𝐩 with tanh (κ X).

Changes to existing content: only the TODO line removed, the SpaceDQuantumSystem import added, and MeasureTheory, SpaceDHilbertSpace opened; the key results are filled in, and the table of contents is reorganised (the empty sections C.1-C.3 and D became sections B and C.1).

Checks: lake build, lint-style.sh, runPhyslibLinters, check_file_imports, codespell; standard axioms only.

AI disclosure. The statements were frozen first (with sorry) and their proofs were produced by Kimi K2.7 Code (Moonshot AI) running in the DeepSeek Harness against physlib, then rewritten and shortened by Claude Fable 5.1 (Claude Code) for the physlib style (in particular the continuity of the potential now follows from its temperate growth); a type-identity check between the frozen statements and the final lemmas was compiled. I reviewed the statements, the docstrings and the proofs. The refactor of Sept 24 (operators taken from toSpaceDQuantumSystem) was made with Claude Opus 5.5 (Claude Code).

Update (Sept 24). Following the review, the kinetic, potential and Hamiltonian operators are no longer defined a second time: they are those of Q.toSpaceDQuantumSystem, and the file keeps only the facts specific to this system. Master is merged in.

🤖 Generated with Claude Code

…hl-Teller system

Fill the kinetic, potential and Hamiltonian sections of the Poschl-Teller module on the
model of SpaceDQuantumSystem (Schwartz-space and unbounded versions), add the depth of the
well and the sign, bounds, parity, temperate growth and continuity of the potential, the
pointwise formulas of the ladder operators and their sum and difference, and realise the
system as a SpaceDQuantumSystem of dimension one. Resolves the corresponding TODO.
Proofs first produced by Kimi K2.7 Code in the DeepSeek Harness, rewritten for physlib.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
@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 11, 2026
@nateabr

nateabr commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator

claim

@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Review claim by @nateabr completed — thanks for the review.

@github-actions

Copy link
Copy Markdown
Contributor

@nateabr about 24 hours are left on your review claim for this PR, which runs out at 2026-09-23 07:28 UTC.

Reviewing it before then completes the claim. Comment claim to give yourself
more time, or disclaim to hand it back to the review queue.

@github-actions
github-actions Bot removed the request for review from nateabr September 23, 2026 08:17
@github-actions

Copy link
Copy Markdown
Contributor

@nateabr your review claim on this PR ran out at 2026-09-23 07:28 UTC without a review, so I have removed you as a reviewer and assignee.

This PR is back in the general review queue. Comment claim if you would still
like to take it.

@nateabr

nateabr commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

claim

@nateabr nateabr left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This PR looks great, I have added one question as a comment


/-- The kinetic operator `(2m)⁻¹𝐩²` as a continuous linear map on Schwartz space. -/
def kineticCLM : 𝓢(Space 1, ℂ) →L[ℂ] 𝓢(Space 1, ℂ) := (2 * Q.m)⁻¹ • (𝐩 ⬝ᵥ 𝐩)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What is the intended benefit of maintaining this parallel API (including potentialCLM/hamiltonianCLM)? Since these defs are definitionally equal to the corresponding toSpaceDQuantumSystem operators, could we derive them directly from Q.toSpaceDQuantumSystem instead?

@nateabr

nateabr commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

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
Philippe Kevorkian and others added 2 commits September 24, 2026 10:36
…oSpaceDQuantumSystem

The kinetic, potential and Hamiltonian operators (Schwartz and unbounded versions) were defined a
second time, definitionally equal to those of SpaceDQuantumSystem. They are removed:
toSpaceDQuantumSystem is now an abbrev placed right after the potential, and the file keeps only
the facts specific to this system (pointwise formulas in dimension one, self-adjointness and
domain of the potential operator), stated for Q.toSpaceDQuantumSystem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@KevorkianPhilippe

Copy link
Copy Markdown
Contributor Author

Thanks. There was no benefit: the file had empty sections for these operators, and the bridge to
SpaceDQuantumSystem was only added afterwards. They are now taken from it (6bb6eff):
toSpaceDQuantumSystem is an abbrev placed right after the potential, the six definitions are
removed, and the file keeps only the facts specific to this system, stated for
Q.toSpaceDQuantumSystem (pointwise formulas in dimension one, self-adjointness and domain of the
potential operator). Master is also merged in, and the description is updated.

Drafted with Claude, reviewed and validated by me.

-awaiting-author

@github-actions github-actions Bot removed the awaiting-author A reviewer has asked the author a question or requested changes label Sep 24, 2026
@nateabr

nateabr commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

Changes look good, thanks. Please rebase onto the latest version of physlib.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jstoobysmith

Copy link
Copy Markdown
Member

@KevorkianPhilippe Would you mind rebase onto the latest version of physlib before we merge this (see @nateabr's comment above).

awaiting-author

@github-actions github-actions Bot added the awaiting-author A reviewer has asked the author a question or requested changes label Sep 25, 2026
@KevorkianPhilippe

Copy link
Copy Markdown
Contributor Author

Done: master is merged in (ba6fc10), without conflict. I merged rather than rebased to avoid a force-push; happy to rebase if you prefer.

Drafted with Claude, reviewed and validated by me.

-awaiting-author

@github-actions github-actions Bot removed the awaiting-author A reviewer has asked the author a question or requested changes label Sep 25, 2026
@jstoobysmith jstoobysmith added ready-to-merge This PR is approved and will be merged shortly and removed reviewer-approved labels Sep 25, 2026

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

medium ready-to-merge This PR is approved and will be merged shortly t-quantum-mechanics Quantum mechanics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants