Phase-space setting: , Hamiltonian, skew-Hamiltonian and symplectic matrices
DefinitionUnQM_phase_spaceThis definition file fixes the linear-algebraic setting of Sections IV–VI of Baumgarten's paper. Throughout, is the number of degrees of freedom and phase-space vectors are .
- The symplectic unit matrix is
- The symplectic unit matrix (SUM) for degrees of freedom is the Kronecker product , a real matrix.
- A real matrix is Hamiltonian if for some symmetric matrix .
- A real matrix is skew-Hamiltonian if for some skew-symmetric matrix ().
- A real matrix is symplectic if .
- For a matrix of second moments , the autocorrelation matrix is .
These notions are shared by every statement of the mission.
Formalization Note Indices of matrices are pairs with and ( for , for ), so is literally the Kronecker product . For all matrices are empty.
import Mathlib
namespace UnQuantumMechanics
open Matrix
/-- Phase-space coordinate indices for `n` degrees of freedom: the pair `(i, 0)` is the
coordinate `qᵢ` and `(i, 1)` is the conjugate momentum `pᵢ`, so a phase-space vector is
`ψ = (q₁, p₁, q₂, p₂, …, qₙ, pₙ)ᵀ` (Baumgarten, Sec. IV, after Eq. 33). -/
abbrev PhaseIdx (n : ℕ) : Type := Fin n × Fin 2
/-- The `2 × 2` symplectic unit matrix `η₀ = [[0, 1], [-1, 0]]` (Eq. 32). -/
def eta0 : Matrix (Fin 2) (Fin 2) ℝ := !![0, 1; -1, 0]
/-- The symplectic unit matrix (SUM) `γ₀ = 1ₙ ⊗ η₀` for `n` degrees of freedom (Eq. 33),
built as a Kronecker product. -/
def gamma0 (n : ℕ) : Matrix (PhaseIdx n) (PhaseIdx n) ℝ :=
Matrix.kroneckerMap (· * ·) (1 : Matrix (Fin n) (Fin n) ℝ) eta0
/-- A real `2n × 2n` matrix `M` is *Hamiltonian* if it can be written `M = γ₀ A` with `A`
symmetric (Sec. IV, text before Eq. 36). -/
def IsHamiltonianMatrix (n : ℕ) (M : Matrix (PhaseIdx n) (PhaseIdx n) ℝ) : Prop :=
∃ A : Matrix (PhaseIdx n) (PhaseIdx n) ℝ, A.IsSymm ∧ M = gamma0 n * A
/-- A real `2n × 2n` matrix `C` is *skew-Hamiltonian* if it can be written `C = γ₀ B` with
`B` skew-symmetric, `Bᵀ = -B` (Eq. 53). -/
def IsSkewHamiltonianMatrix (n : ℕ) (C : Matrix (PhaseIdx n) (PhaseIdx n) ℝ) : Prop :=
∃ B : Matrix (PhaseIdx n) (PhaseIdx n) ℝ, Bᵀ = -B ∧ C = gamma0 n * B
/-- A real `2n × 2n` matrix `M` is *symplectic* if `M γ₀ Mᵀ = γ₀` (Eq. 50). -/
def IsSymplecticMatrix (n : ℕ) (M : Matrix (PhaseIdx n) (PhaseIdx n) ℝ) : Prop :=
M * gamma0 n * Mᵀ = gamma0 n
/-- The "autocorrelation matrix" `S = Σ γ₀ᵀ` attached to a matrix of second moments `Σ`
(Sec. V, text before Eq. 42). -/
def autocorr (n : ℕ) (Sig : Matrix (PhaseIdx n) (PhaseIdx n) ℝ) :
Matrix (PhaseIdx n) (PhaseIdx n) ℝ :=
Sig * (gamma0 n)ᵀ
end UnQuantumMechanics
Read-back
What the Lean code literally says, in plain math · Aristotle (Harmonic) — same agent that drafted the statements; non-blind
Non-blind read-back — not independent testimony. This read-back was written by the same agent (Aristotle, by Harmonic) that drafted the Lean statement, at the explicit direction of the proposal owner. The author knew the intended meaning and the source text while writing it, so it must not be mistaken for a blind, independent audit. An independent blind read-back is still recommended before submission.
The file introduces, inside the namespace UnQuantumMechanics, the following objects over the real numbers, for a natural number (including ).
- The index type for degrees of freedom is the set of pairs with and ; it has elements, and all matrices below are indexed by it.
- is the real matrix with rows and .
- (for a given ) is the Kronecker product of the identity with : its entry is .
- A matrix is called Hamiltonian iff there exists a symmetric matrix () with .
- A matrix is called skew-Hamiltonian iff there exists with and .
- A matrix is called symplectic iff .
- For any matrix , the matrix is .
No positivity, invertibility or symmetry is required of beyond what is stated; in particular need not be positive definite. When all these matrices are the empty matrix and every predicate is trivially satisfied.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.