feat(QuantumMechanics): Hamiltonian and related operators of the Pöschl-Teller system - #1651
KevorkianPhilippe wants to merge 4 commits into
Conversation
…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>
|
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.
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. |
|
claim |
|
Review claim by @nateabr completed — thanks for the review. |
|
@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 |
|
@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 |
nateabr
left a comment
There was a problem hiding this comment.
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)⁻¹ • (𝐩 ⬝ᵥ 𝐩) | ||
|
|
There was a problem hiding this comment.
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?
|
awaiting-author |
…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>
|
Thanks. There was no benefit: the file had empty sections for these operators, and the bridge to Drafted with Claude, reviewed and validated by me. -awaiting-author |
|
Changes look good, thanks. Please rebase onto the latest version of physlib. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@KevorkianPhilippe Would you mind rebase onto the latest version of physlib before we merge this (see @nateabr's comment above). awaiting-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 |
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 aSpaceDQuantumSystem, 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)withpotential_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 lemmastanh_hasTemperateGrowth,ofReal_comp_tanh_hasTemperateGrowth,potential_hasTemperateGrowth(fromtanh_const_mul_hasTemperateGrowthcomposed with the coordinate),ofReal_comp_potential_hasTemperateGrowth,potential_continuous.Section B (as a quantum system).
toSpaceDQuantumSystem : SpaceDQuantumSystemof dimension1(anabbrev), withtoSpaceDQuantumSystem_d,toSpaceDQuantumSystem_mandtoSpaceDQuantumSystem_potential(allrfl). The kinetic, potential and Hamiltonian operators (Schwartz and unbounded versions) are those ofSpaceDQuantumSystem; they are not redefined here.Section C (operators). For the operators of
Q.toSpaceDQuantumSystem:toSpaceDQuantumSystem_kineticCLM_apply(dimension one),toSpaceDQuantumSystem_potentialCLM_apply,toSpaceDQuantumSystem_potentialOperator_isSelfAdjointandtoSpaceDQuantumSystem_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 relationscreationCLM_add_annihilationCLM(= (2/√(2m)) 𝐩 0) andcreationCLM_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
𝐩withtanh (κ X).Changes to existing content: only the TODO line removed, the
SpaceDQuantumSystemimport added, andMeasureTheory,SpaceDHilbertSpaceopened; 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 fromtoSpaceDQuantumSystem) 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