Documentation

CsdLean4.Mathlib.Geometry.Manifold.Instances.ProjectiveSpaceSchrodingerFlow

The Schrödinger flow on ℂℙⁿ is Hamiltonian, with Hamiltonian -2 ⟨H⟩ #

TERM-SCOPE(Kahler) TERM-SCOPE(Hamiltonian) TERM-SCOPE(MomentMap) — this module uses the restricted senses of these words; specs/TERMS.md records what is backed and what is not.

Category: 1-Mathlib (1-Mathlib-staging in its mathematics; it consumes the corpus's). Matrix.schrodingerUnitary (the unitary exp(-itH)) and its derivative Matrix.schrodingerUnitary_hasDerivAt as the flow whose generator it identifies.

Brick G13 of specs/generator-layer-scoping.md (with the G2, G3, G4, G16 and G19 corollaries): the U(n+1) moment map. For a Hermitian H, the unitary flow p ↦ exp(-itH) • p on ℂℙⁿ — the corpus's projected Schrödinger flow — is Hamiltonian for the Fubini–Study form, and its Hamiltonian is -2 ⟨H⟩, the expectation value ⟪z, Hz⟫ / ‖z‖² up to the form's convention. Brick G6 (the torus) is the diagonal case.

Honest scope #

⚠️ The sign and the factor are conventions. fsChartForm carries the -4 of its potential, which makes the generator of the torus 2 · momentMap (G6); the corpus's Schrödinger flow is exp(-itH), so its Hamiltonian is -2 ⟨H⟩. Nothing here rescales either; the statement shows both.

⚠️ The flow is consumed, not built. Matrix.schrodingerUnitary and its derivative come from Analysis/Matrix/SchrodingerUnitary.lean, under the L2Operator matrix norm (the one under which hasDerivAt_exp_smul_const synthesises); this module opens that scope and adds nothing to it.

⚠️ Two routes to Liouville, both in the corpus. fsVolume_map_torusUnitary_smul (G10) and fsVolume_map_smul (W1 on the sectors) are unitary invariance; fsVolume_map_schrodingerUnitary_smul here is the manifold-level flow theorem (Q29, formerly G5) applied through the identification of the flows. They prove the same equation by independent arguments; the second is the one that generalises to a non-unitary Hamiltonian flow.

⚠️ Posits untouched. Posit 1 asserts that the dynamics generates the pointer torus; this module says which Hamiltonian a given unitary flow has, for every Hermitian H, and does not touch what generates it.

References: specs/generator-layer-scoping.md (G13, G6); Instances/ProjectiveSpaceMomentMap.lean (torusChartField, torusHamiltonian, torusField_isHamiltonianVectorField); Geometry/Manifold/HamiltonianVectorField.lean (G1); Instances/ProjectiveSpaceFubiniStudyMass.lean (fsModelForm_apply, toLpCLM_apply); Instances/ProjectiveSpaceUnitaryAction.lean (chartFun_smul_chartInv); Analysis/Matrix/SchrodingerUnitary.lean (schrodingerUnitary, expNegITH_unitary_group, schrodingerUnitary_hasDerivAt); specs/TERMS.md (Hamiltonian, moment map); specs/POSITS.md (Posit 1); specs/future-work.md.

The expectation value, on rays #

noncomputable def Projectivization.expectation {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (p : Projectivization ℂ (Ambient n)) :

⟨H⟩ at a ray: ⟪z, Hz⟫.re / ‖z‖², on any representative.

Equations
Instances For
    theorem Projectivization.expectation_ratio_smul {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (c : ℂ) (hc : c ≠ 0) (v : Ambient n) :
    theorem Projectivization.expectation_mk {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (ψ : Ambient n) (hψ : ψ ≠ 0) :
    expectation H (mk ℂ ψ hψ) = (inner ℂ ψ ((Matrix.toEuclideanLin H) ψ)).re / ‖ψ‖ ^ 2

    The expectation value at a representative.

    noncomputable def Projectivization.schrodingerHamiltonian {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (p : Projectivization ℂ (Ambient n)) :

    The Hamiltonian of the Schrödinger flow exp(-itH): -2 ⟨H⟩.

    Equations
    Instances For

      The tangent lift of the affine chart #

      noncomputable def Projectivization.insertZeroCLM {n : ℕ} (i : Fin (n + 1)) :

      Insert 0 in slot i, as an ℝ-linear map: the lift of chart tangent vectors.

      Equations
      Instances For
        theorem Projectivization.insertZeroCLM_apply {n : ℕ} (i : Fin (n + 1)) (u : Fin n → ℂ) :
        @[simp]
        theorem Projectivization.insertZeroCLM_apply_same {n : ℕ} (i : Fin (n + 1)) (u : Fin n → ℂ) :
        ((insertZeroCLM i) u).ofLp i = 0
        @[simp]
        theorem Projectivization.insertZeroCLM_apply_succAbove {n : ℕ} (i : Fin (n + 1)) (u : Fin n → ℂ) (j : Fin n) :
        ((insertZeroCLM i) u).ofLp (i.succAbove j) = u j
        theorem Projectivization.insertOne_eq_add {n : ℕ} (i : Fin (n + 1)) (w : Fin n → ℂ) :
        theorem Projectivization.norm_sq_insertOne_toLpCLM {n : ℕ} (i : Fin (n + 1)) (w : Fin n → ℂ) :

        The velocity and the Hamiltonian in the chart #

        noncomputable def Projectivization.schrodingerChartField {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (i : Fin (n + 1)) (w : Fin n → ℂ) :
        Fin n → ℂ

        The velocity of t ↦ exp(-itH) • p in chart i: -i ((Hv)_{sⱼ} - (Hv)_i wⱼ), v = insertOne i w.

        Equations
        Instances For

          The lift of the chart velocity to the ambient space: -i (Hv - (Hv)_i v).

          noncomputable def Projectivization.schrodingerChartHam {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (i : Fin (n + 1)) (w : Fin n → ℂ) :

          The chart Hamiltonian -2 ⟪v, Hv⟫.re / ‖v‖².

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem Projectivization.schrodingerHamiltonian_chartInv {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (i : Fin (n + 1)) (w : Fin n → ℂ) :
            theorem Projectivization.norm_sq_insertOne_pos {n : ℕ} (i : Fin (n + 1)) (w : Fin n → ℂ) :
            noncomputable def Projectivization.schrodingerChartHamDeriv {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (i : Fin (n + 1)) (w : Fin n → ℂ) :

            The derivative of the chart Hamiltonian, by the product and inverse rules from HasFDerivAt.inner along the affine lift.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The chart identity ι_X ω = dH, in the ambient inner product #

              theorem Projectivization.fsModelForm_schrodingerChartField {n : ℕ} {H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ} (hH : H.IsHermitian) (i : Fin (n + 1)) (w u : Fin n → ℂ) :

              ★★ The chart identity: the Fubini–Study model form pairs the Schrödinger velocity with u exactly as the derivative of the chart Hamiltonian does. Lifted to the ambient space, the velocity is -i (Hv - (Hv)_i v); the (Hv)_i terms cancel, and what remains is Im (i z) = Re z together with the symmetry of H.

              The manifold statement #

              noncomputable def Projectivization.schrodingerField {n : ℕ} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (x : Projectivization ℂ (Ambient n)) :

              The velocity field of the Schrödinger flow p ↦ exp(-itH) • p on ℂℙⁿ, read in the chart at each point.

              Equations
              Instances For

                ★★★ The Schrödinger flow on ℂℙⁿ is Hamiltonian for the Fubini–Study form, with -2 ⟨H⟩ as its Hamiltonian: ι_X ω_FS = dH on the manifold, for every Hermitian H.

                The field is the velocity of the flow #

                noncomputable def Projectivization.mulVecEntryCLM {n : ℕ} (v : Fin (n + 1) → ℂ) (k : Fin (n + 1)) :
                Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ →L[ℝ] ℂ

                The entry k of M *ᵥ v, as an ℝ-linear functional of the matrix.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem Projectivization.mulVecEntryCLM_apply {n : ℕ} (v : Fin (n + 1) → ℂ) (k : Fin (n + 1)) (M : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) :
                  (mulVecEntryCLM v k) M = M.mulVec v k
                  theorem Projectivization.hasDerivAt_chartFun_schrodingerUnitary {n : ℕ} {H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ} (hH : H.IsHermitian) (i : Fin (n + 1)) (w : Fin n → ℂ) :

                  ★ The field is the velocity of the flow: at every chart point, schrodingerChartField is the t-derivative at 0 of t ↦ exp(-itH) • p, read in the chart.

                  The torus is the diagonal case (G6) #

                  theorem Projectivization.schrodingerChartField_neg_diagonal {n : ℕ} (θ : Fin (n + 1) → ℝ) (i : Fin (n + 1)) (w : Fin n → ℂ) :
                  schrodingerChartField (-Matrix.diagonal fun (k : Fin (n + 1)) => ↑(θ k)) i w = torusChartField i θ w

                  Both fields are THE Hamiltonian vector fields of their Hamiltonians (G2) #

                  The torus field is the Hamiltonian vector field (ω♭)⁻¹ dH of torusHamiltonian θ for the symplectic form fsForm (G2 + G6).

                  The Schrödinger field is the Hamiltonian vector field (ω♭)⁻¹ dH of -2 ⟨H⟩ for the symplectic form fsForm (G2 + G13).

                  The Hamiltonians are C^m for every order m (so C^∞ and C^ω), and both fields are #

                  C^∞ vector fields (G3)

                  theorem Projectivization.contDiff_schrodingerChartHam {n : ℕ} {m : WithTop ℕ∞} (H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ) (i : Fin (n + 1)) :

                  The chart Hamiltonian is C^m for every order m (∞ and ω included): inner-product calculus along the affine lift, every step generic in the order.

                  ★ The Hamiltonian of the Schrödinger flow is C^m on ℂℙⁿ for every order m (C^∞ and real-analytic in particular).

                  ★ The Hamiltonian of the torus action is C^m on ℂℙⁿ for every order m (the diagonal case).

                  ★★ The Schrödinger vector field on ℂℙⁿ is a C^m vector field for every infinite order m (∞ and ω): it is the Hamiltonian vector field of a C^m energy for the C^ω form fsForm (G2), and those are C^m (G3, contMDiff_hamiltonianVectorField_of_contMDiff).

                  ★★ The Schrödinger vector field on ℂℙⁿ is a C^∞ vector field (a C^∞ section of the tangent bundle).

                  theorem Projectivization.contMDiff_torusField_of_le {n : ℕ} {m : WithTop ℕ∞} (hm : m + 1 ≤ m) (θ : Fin (n + 1) → ℝ) :

                  ★★ The torus vector field on ℂℙⁿ is a C^m vector field for every infinite order m.

                  ★★ The torus vector field on ℂℙⁿ is a C^∞ vector field.

                  Integral curves on ℂℙⁿ: the Schrödinger flow is one, and ⟨H⟩ is conserved (G4) #

                  theorem Projectivization.exists_isMIntegralCurveAt_schrodingerField {n : ℕ} {H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ} (hH : H.IsHermitian) (x₀ : Projectivization ℂ (Ambient n)) (t₀ : ℝ) :
                  ∃ (γ : ℝ → Projectivization ℂ (Ambient n)), γ t₀ = x₀ ∧ IsMIntegralCurveAt γ (schrodingerField H) t₀

                  Local existence of integral curves of the Schrödinger field, through every point.

                  theorem Projectivization.isMIntegralCurve_schrodingerField_eq {n : ℕ} {H : Matrix (Fin (n + 1)) (Fin (n + 1)) ℂ} (hH : H.IsHermitian) {γ γ' : ℝ → Projectivization ℂ (Ambient n)} (hγ : IsMIntegralCurve γ (schrodingerField H)) (hγ' : IsMIntegralCurve γ' (schrodingerField H)) {t₀ : ℝ} (h : γ t₀ = γ' t₀) :
                  γ = γ'

                  Uniqueness of global integral curves of the Schrödinger field.

                  ★★ ⟨H⟩ is conserved along every integral curve of the Schrödinger field.

                  ★★★ The Schrödinger flow is the integral curve of its field: t ↦ exp(-itH) • p is a global integral curve of schrodingerField H, for every p. In the chart at exp(-itH) • p the curve is s ↦ chartFun (exp(-i(s-t)H) • q), whose derivative at s = t is the chart velocity (hasDerivAt_chartFun_schrodingerUnitary, shifted by the group law expNegITH_unitary_group).

                  ★★ ⟨H⟩ is conserved by the Schrödinger flow: ⟨H⟩_{exp(-itH) • p} = ⟨H⟩_p.

                  The torus orbits are integral curves of the torus field (G16) #

                  continuous_torusUnitary_smul and isMIntegralCurve_torusUnitary_smul moved to ProjectiveSpaceMomentMap.lean on 2026-09-16 (they use nothing from this file, and the moment-map module's docstring cites them); the uniqueness corollaries stay here.

                  theorem Projectivization.isMIntegralCurve_torusField_eq {n : ℕ} (θ : Fin (n + 1) → ℝ) {γ γ' : ℝ → Projectivization ℂ (Ambient n)} (hγ : IsMIntegralCurve γ (torusField θ)) (hγ' : IsMIntegralCurve γ' (torusField θ)) {t₀ : ℝ} (h : γ t₀ = γ' t₀) :
                  γ = γ'

                  Uniqueness of global integral curves of the torus field.

                  theorem Projectivization.eq_torusUnitary_smul_of_isMIntegralCurve {n : ℕ} (θ : Fin (n + 1) → ℝ) {γ : ℝ → Projectivization ℂ (Ambient n)} (hγ : IsMIntegralCurve γ (torusField θ)) {p : Projectivization ℂ (Ambient n)} (h0 : γ 0 = p) :
                  γ = fun (t : ℝ) => torusUnitary (t • θ) • p

                  ★★ The torus orbit is THE integral curve: every global integral curve of the torus field through p at time 0 is t ↦ diag(e^{itθ}) • p.

                  ★★ The torus Hamiltonian 2 ∑ θₖ μₖ is conserved along every integral curve of the torus field.

                  ★★ The torus Hamiltonian is conserved by the torus flow: 2 ∑ θₖ μₖ (diag(e^{itθ}) • p) = 2 ∑ θₖ μₖ (p).

                  Both fields are analytic (G19) #

                  The ω case of contMDiff_schrodingerField_of_le / contMDiff_torusField_of_le: one proof with the C^∞ case since 2026-09-17.

                  ★★ The Schrödinger vector field on ℂℙⁿ is an analytic vector field.

                  ★★ The torus vector field on ℂℙⁿ is an analytic vector field.

                  The flows are the Hamiltonian flows, and Liouville from the Hamiltonian (Q29(e)) #

                  ★★ The Schrödinger flow IS the Hamiltonian flow of -2⟨H⟩: for Hermitian H, the manifold flow of the Hamiltonian vector field of schrodingerHamiltonian H is p ↦ exp(-itH) • p, by uniqueness of integral curves.

                  theorem Projectivization.hamiltonianFlow_torusHamiltonian {n : ℕ} (θ : Fin (n + 1) → ℝ) (t : ℝ) (p : Projectivization ℂ (Ambient n)) :
                  ⋯.hamiltonianFlow ⋯ t p = torusUnitary (t • θ) • p

                  ★★ The torus flow IS the Hamiltonian flow of 2 ∑ θₖ μₖ: the manifold flow of the Hamiltonian vector field of torusHamiltonian θ is p ↦ diag(e^{itθ}) • p.

                  ★★ Liouville for the Schrödinger flow, from the Hamiltonian: p ↦ exp(-itH) • p preserves the Fubini–Study volume because it is the Hamiltonian flow of -2⟨H⟩ (fsVolume_map_hamiltonianFlow), not because it is unitary (fsVolume_map_smul).

                  The same for the normalised volume, fsMeasure p₀.