Skip to content

Commit 9ca1ee1

Browse files
authored
refactor(QM): position / momentum notation (#1031)
* x notation * p notation * L fix * r notation * commutator fix * LRL fix * xp notation w/ d
1 parent bfa0fa9 commit 9ca1ee1

6 files changed

Lines changed: 206 additions & 200 deletions

File tree

Physlib/QuantumMechanics/DDimensions/Hydrogen/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ set_option backward.isDefEq.respectTransparency false in
5454
/-- The hydrogen atom Hamiltonian regularized by `ε ≠ 0` is defined to be
5555
`𝐇(ε) ≔ (2m)⁻¹𝐩² - k·𝐫(ε)⁻¹`. -/
5656
def hamiltonianReg (ε : ℝˣ) : 𝓢(Space H.d, ℂ) →L[ℂ] 𝓢(Space H.d, ℂ) :=
57-
(2 * H.m)⁻¹ • 𝐩² - H.k • 𝐫[ε,-1]
57+
(2 * H.m)⁻¹ • 𝐩² - H.k • 𝐫₀ ε (-1)
5858

5959
end
6060
end HydrogenAtom

Physlib/QuantumMechanics/DDimensions/Hydrogen/LaplaceRungeLenzVector.lean

Lines changed: 111 additions & 111 deletions
Large diffs are not rendered by default.

Physlib/QuantumMechanics/DDimensions/Operators/AngularMomentum.lean

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,16 @@ set_option backward.isDefEq.respectTransparency false in
5757
/-- Component `i j` of the angular momentum operator is the continuous linear map
5858
from `𝓢(Space d, ℂ)` to itself defined by `𝐋ᵢⱼ ≔ 𝐱ᵢ∘𝐩ⱼ - 𝐱ⱼ∘𝐩ᵢ`. -/
5959
def angularMomentumOperator {d : ℕ} (i j : Fin d) : 𝓢(Space d, ℂ) →L[ℂ] 𝓢(Space d, ℂ) :=
60-
𝐱[i] ∘L 𝐩[j] - 𝐱[j] ∘L 𝐩[i]
60+
𝐱 i ∘L 𝐩 j - 𝐱 j ∘L 𝐩 i
6161

6262
@[inherit_doc angularMomentumOperator]
6363
notation "𝐋[" i "," j "]" => angularMomentumOperator i j
6464

6565
lemma angularMomentumOperator_apply_fun {d : ℕ} (i j : Fin d) (ψ : 𝓢(Space d, ℂ)) :
66-
𝐋[i,j] ψ = 𝐱[i] (𝐩[j] ψ) - 𝐱[j] (𝐩[i] ψ) := rfl
66+
𝐋[i,j] ψ = 𝐱 i (𝐩 j ψ) - 𝐱 j (𝐩 i ψ) := rfl
6767

6868
lemma angularMomentumOperator_apply {d : ℕ} (i j : Fin d) (ψ : 𝓢(Space d, ℂ)) (x : Space d) :
69-
𝐋[i,j] ψ x = 𝐱[i] (𝐩[j] ψ) x - 𝐱[j] (𝐩[i] ψ) x := rfl
69+
𝐋[i,j] ψ x = 𝐱 i (𝐩 j ψ) x - 𝐱 j (𝐩 i ψ) x := rfl
7070

7171
/-!
7272

Physlib/QuantumMechanics/DDimensions/Operators/Commutation.lean

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -97,23 +97,23 @@ lemma comp_eq_comp_sub_commute (A B : 𝓢(Space d, ℂ) →L[ℂ] 𝓢(Space d,
9797

9898
/-- Position operators commute: `[xᵢ, xⱼ] = 0`. -/
9999
@[simp]
100-
lemma position_commutation_position : ⁅𝐱[i], 𝐱[j]⁆ = 0 := by
100+
lemma position_commutation_position : ⁅𝐱 i, 𝐱 j⁆ = 0 := by
101101
ext
102102
simp [bracket, ← mul_assoc, mul_comm]
103103

104-
lemma position_comp_commute : 𝐱[i] ∘L 𝐱[j] = 𝐱[j] ∘L 𝐱[i] := by
104+
lemma position_comp_commute : 𝐱 i ∘L 𝐱 j = 𝐱 j ∘L 𝐱 i := by
105105
rw [comp_eq_comp_add_commute, position_commutation_position, add_zero]
106106

107107
@[simp]
108-
lemma position_commutation_radiusRegPow : ⁅𝐱[i], 𝐫[d,ε,s]⁆ = 0 := by
108+
lemma position_commutation_radiusRegPow : ⁅𝐱 i, 𝐫₀[d] ε s⁆ = 0 := by
109109
ext
110110
simp [bracket, ← mul_assoc, mul_comm]
111111

112-
lemma position_comp_radiusRegPow_commute : 𝐱[i] ∘L 𝐫[ε,s] = 𝐫[ε,s] ∘L 𝐱[i] := by
112+
lemma position_comp_radiusRegPow_commute : 𝐱 i ∘L 𝐫₀ ε s = 𝐫₀ ε s ∘L 𝐱 i := by
113113
rw [comp_eq_comp_add_commute, position_commutation_radiusRegPow, add_zero]
114114

115115
@[simp]
116-
lemma radiusRegPow_commutation_radiusRegPow : ⁅𝐫[d,ε,s], 𝐫[d,ε,t]⁆ = 0 := by
116+
lemma radiusRegPow_commutation_radiusRegPow : ⁅𝐫₀[d] ε s, 𝐫₀[d] ε t⁆ = 0 := by
117117
simp [bracket, mul_def, radiusRegPowOperator_comp_eq, add_comm]
118118

119119
/-!
@@ -125,21 +125,21 @@ lemma radiusRegPow_commutation_radiusRegPow : ⁅𝐫[d,ε,s], 𝐫[d,ε,t]⁆ =
125125
set_option backward.isDefEq.respectTransparency false in
126126
/-- Momentum operators commute: `[pᵢ, pⱼ] = 0`. -/
127127
@[simp]
128-
lemma momentum_commutation_momentum : ⁅𝐩[i], 𝐩[j]⁆ = 0 := by
128+
lemma momentum_commutation_momentum : ⁅𝐩 i, 𝐩 j⁆ = 0 := by
129129
ext ψ x
130130
have hdiff (k : Fin d) : Differentiable ℝ (∂[k] ψ) := Space.deriv_differentiable (ψ.smooth 2) k
131-
show 𝐩[i] (𝐩[j] ψ) x - 𝐩[j] (𝐩[i] ψ) x = 0
131+
show 𝐩 i (𝐩 j ψ) x - 𝐩 j (𝐩 i ψ) x = 0
132132
simp only [momentumOperator_apply_fun, Space.deriv_const_smul _ (hdiff _),
133133
Space.deriv_commute _ (ψ.smooth 2), sub_self]
134134

135-
lemma momentum_comp_commute : 𝐩[i] ∘L 𝐩[j] = 𝐩[j] ∘L 𝐩[i] := by
135+
lemma momentum_comp_commute : 𝐩 i ∘L 𝐩 j = 𝐩 j ∘L 𝐩 i := by
136136
rw [comp_eq_comp_add_commute, momentum_commutation_momentum, add_zero]
137137

138138
@[simp]
139-
lemma momentumSqr_commutation_momentum : ⁅momentumOperatorSqr (d := d), 𝐩[i]⁆ = 0 := by
139+
lemma momentumSqr_commutation_momentum : ⁅momentumOperatorSqr (d := d), 𝐩 i⁆ = 0 := by
140140
simp [momentumOperatorSqr, sum_lie, leibniz_lie]
141141

142-
lemma momentumSqr_comp_momentum_commute : 𝐩² ∘L 𝐩[i] = 𝐩[i] ∘L 𝐩² := by
142+
lemma momentumSqr_comp_momentum_commute : 𝐩² ∘L 𝐩 i = 𝐩 i ∘L 𝐩² := by
143143
rw [comp_eq_comp_add_commute, momentumSqr_commutation_momentum, add_zero]
144144

145145
/-!
@@ -150,10 +150,10 @@ lemma momentumSqr_comp_momentum_commute : 𝐩² ∘L 𝐩[i] = 𝐩[i] ∘L
150150

151151
set_option backward.isDefEq.respectTransparency false in
152152
/-- The canonical commutation relations: `[xᵢ, pⱼ] = iℏ δᵢⱼ𝟙`. -/
153-
lemma position_commutation_momentum : ⁅𝐱[i], 𝐩[j]⁆ =
153+
lemma position_commutation_momentum : ⁅𝐱 i, 𝐩 j⁆ =
154154
(I * ℏ) • δ[i,j] • ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ) := by
155155
ext ψ x
156-
show 𝐱[i] (𝐩[j] ψ) x - 𝐩[j] (𝐱[i] ψ) x = _
156+
show 𝐱 i (𝐩 j ψ) x - 𝐩 j (𝐱 i ψ) x = _
157157
trans (I * ℏ) * (-x i * ∂[j] ψ x + ∂[j] ((fun x : Space d ↦ x i) • ⇑ψ) x)
158158
· simp only [positionOperator_apply, momentumOperator_apply, positionOperator_apply_fun]
159159
ring
@@ -163,27 +163,27 @@ lemma position_commutation_momentum : ⁅𝐱[i], 𝐩[j]⁆ =
163163
· simp
164164
· simp [eq_zero_of_ne hne, hne.symm]
165165

166-
lemma momentum_comp_position_eq : 𝐩[j] ∘L 𝐱[i] =
167-
𝐱[i] ∘L 𝐩[j] - (I * ℏ) • δ[i,j] • ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ) := by
166+
lemma momentum_comp_position_eq : 𝐩 j ∘L 𝐱 i =
167+
𝐱 i ∘L 𝐩 j - (I * ℏ) • δ[i,j] • ContinuousLinearMap.id ℂ 𝓢(Space d, ℂ) := by
168168
rw [comp_eq_comp_sub_commute, position_commutation_momentum]
169169

170-
lemma position_position_commutation_momentum : ⁅𝐱[i] ∘L 𝐱[j], 𝐩[k]⁆ =
171-
(I * ℏ) • (δ[i,k] • 𝐱[j] + δ[j,k] • 𝐱[i]) := by
170+
lemma position_position_commutation_momentum : ⁅𝐱 i ∘L 𝐱 j, 𝐩 k⁆ =
171+
(I * ℏ) • (δ[i,k] • 𝐱 j + δ[j,k] • 𝐱 i) := by
172172
simp only [leibniz_lie, position_commutation_momentum, comp_smul, smul_comp, comp_id, id_comp,
173173
smul_add, add_comm]
174174

175-
lemma position_commutation_momentum_momentum : ⁅𝐱[i], 𝐩[j] ∘L 𝐩[k]⁆ =
176-
(I * ℏ) • (δ[i,k] • 𝐩[j] + δ[i,j] • 𝐩[k]) := by
175+
lemma position_commutation_momentum_momentum : ⁅𝐱 i, 𝐩 j ∘L 𝐩 k⁆ =
176+
(I * ℏ) • (δ[i,k] • 𝐩 j + δ[i,j] • 𝐩 k) := by
177177
simp only [lie_leibniz, position_commutation_momentum, comp_smul, smul_comp, comp_id, id_comp,
178178
smul_add]
179179

180-
lemma position_commutation_momentumSqr : ⁅𝐱[i], 𝐩²⁆ = (2 * I * ℏ) • 𝐩[i] := by
180+
lemma position_commutation_momentumSqr : ⁅𝐱 i, 𝐩²⁆ = (2 * I * ℏ) • 𝐩 i := by
181181
simp only [momentumOperatorSqr, lie_sum, lie_leibniz, position_commutation_momentum, comp_smul,
182182
smul_comp, comp_id, id_comp, ← two_smul ℂ, smul_smul, mul_assoc, ← Finset.smul_sum, sum_smul]
183183

184184
set_option backward.isDefEq.respectTransparency false in
185185
lemma radiusRegPow_commutation_momentum :
186-
⁅𝐫[d,ε,s], 𝐩[i]⁆ = (s * I * ℏ) • 𝐫[ε,s-2] ∘L 𝐱[i] := by
186+
⁅𝐫₀[d] ε s, 𝐩 i⁆ = (s * I * ℏ) • 𝐫₀ ε (s-2) ∘L 𝐱 i := by
187187
ext ψ x
188188
have hne := Ne.symm (ne_of_lt <| norm_sq_add_unit_sq_pos ε x)
189189
have hdiff1 : DifferentiableAt ℝ (fun x => (‖x‖ ^ 2 + ↑ε ^ 2) ^ (s / 2)) x := by
@@ -192,7 +192,7 @@ lemma radiusRegPow_commutation_momentum :
192192
have hdiff2 := Real.differentiableAt_rpow_const_of_ne (s / 2) hne
193193
have hdiff3 : DifferentiableAt ℝ (fun x ↦ ‖x‖ ^ 2 + ε ^ 2) x :=
194194
Differentiable.differentiableAt (by fun_prop)
195-
show 𝐫[ε,s] (𝐩[i] ψ) x - 𝐩[i] (𝐫[ε,s] ψ) x = (s * I * ℏ) * 𝐫[ε,s-2] (𝐱[i] ψ) x
195+
show 𝐫₀ ε s (𝐩 i ψ) x - 𝐩 i (𝐫₀ ε s ψ) x = (s * I * ℏ) * 𝐫₀ ε (s-2) (𝐱 i ψ) x
196196
simp only [momentumOperator_apply, positionOperator_apply, radiusRegPowOperator_apply_fun]
197197
rw [← Pi.smul_def', Space.deriv_smul hdiff1 (by fun_prop)]
198198
suffices ∂[i] (fun x ↦ (‖x‖ ^ 2 + ε ^ 2) ^ (s / 2)) x =
@@ -204,28 +204,28 @@ lemma radiusRegPow_commutation_momentum :
204204
simp [Real.deriv_rpow_const, mul_comm, ← mul_assoc, mul_div_cancel₀ s (NeZero.ne' 2).symm]
205205

206206
lemma momentum_comp_radiusRegPow_eq :
207-
𝐩[i] ∘L 𝐫[ε,s] = 𝐫[ε,s] ∘L 𝐩[i] - (s * I * ℏ) • 𝐫[ε,s-2] ∘L 𝐱[i] := by
207+
𝐩 i ∘L 𝐫₀ ε s = 𝐫₀ ε s ∘L 𝐩 i - (s * I * ℏ) • 𝐫₀ ε (s-2) ∘L 𝐱 i := by
208208
rw [comp_eq_comp_sub_commute, radiusRegPow_commutation_momentum]
209209

210210
set_option backward.isDefEq.respectTransparency false in
211211
lemma radiusRegPow_commutation_momentumSqr :
212-
⁅𝐫[d,ε,s], momentumOperatorSqr (d := d)⁆ = (2 * s * I * ℏ) • 𝐫[ε,s-2] ∘L ∑ i, 𝐱[i] ∘L 𝐩[i]
213-
+ (s * (d + s - 2) * ℏ ^ 2) • 𝐫[ε,s-2] - (ε ^ 2 * s * (s - 2) * ℏ ^ 2) • 𝐫[ε,s-4] := by
212+
⁅𝐫₀[d] ε s, momentumOperatorSqr (d := d)⁆ = (2 * s * I * ℏ) • 𝐫₀ ε (s-2) ∘L ∑ i, 𝐱 i ∘L 𝐩 i
213+
+ (s * (d + s - 2) * ℏ ^ 2) • 𝐫₀ ε (s-2) - (ε ^ 2 * s * (s - 2) * ℏ ^ 2) • 𝐫₀ ε (s-4) := by
214214
calc
215-
_ = (s * I * ℏ) • ∑ i, ((𝐩[i] ∘L 𝐫[ε,s-2]) ∘L 𝐱[i] + 𝐫[ε,s-2] ∘L 𝐱[i] ∘L 𝐩[i]) := by
215+
_ = (s * I * ℏ) • ∑ i, ((𝐩 i ∘L 𝐫₀ ε (s-2)) ∘L 𝐱 i + 𝐫₀ ε (s-2) ∘L 𝐱 i ∘L 𝐩 i) := by
216216
simp [momentumOperatorSqr, lie_sum, lie_leibniz, radiusRegPow_commutation_momentum,
217217
← smul_add, ← Finset.smul_sum, comp_assoc]
218-
_ = (s * I * ℏ) • ∑ i, (𝐫[ε,s-2] ∘L 𝐩[i] ∘L 𝐱[i] + 𝐫[ε,s-2] ∘L 𝐱[i] ∘L 𝐩[i]
219-
- (↑(s - 2) * I * ℏ) • 𝐫[ε,s-4] ∘L 𝐱[i] ∘L 𝐱[i]) := by
218+
_ = (s * I * ℏ) • ∑ i, (𝐫₀ ε (s-2) ∘L 𝐩 i ∘L 𝐱 i + 𝐫₀ ε (s-2) ∘L 𝐱 i ∘L 𝐩 i
219+
- (↑(s - 2) * I * ℏ) • 𝐫₀ ε (s-4) ∘L 𝐱 i ∘L 𝐱 i) := by
220220
simp only [momentum_comp_radiusRegPow_eq, sub_comp, smul_comp, sub_add_eq_add_sub, comp_assoc]
221221
ring_nf
222-
_ = (s * I * ℏ) • ∑ i, ((2 : ℂ) • 𝐫[ε,s-2] ∘L 𝐱[i] ∘L 𝐩[i] - (I * ℏ) • 𝐫[ε,s-2]
223-
- (↑(s - 2) * I * ℏ) • 𝐫[ε,s-4] ∘L 𝐱[i] ∘L 𝐱[i]) := by
222+
_ = (s * I * ℏ) • ∑ i, ((2 : ℂ) • 𝐫₀ ε (s-2) ∘L 𝐱 i ∘L 𝐩 i - (I * ℏ) • 𝐫₀ ε (s-2)
223+
- (↑(s - 2) * I * ℏ) • 𝐫₀ ε (s-4) ∘L 𝐱 i ∘L 𝐱 i) := by
224224
simp [momentum_comp_position_eq, sub_add_eq_add_sub, ← two_smul ℂ]
225225
simp only [Finset.sum_sub_distrib, ← Finset.smul_sum, smul_sub, smul_smul, ← comp_finset_sum]
226-
have hsumr : ∑ i : Fin d, 𝐫[d,ε,s-2] = (d : ℂ) • 𝐫[ε,s-2] := by
226+
have hsumr : ∑ i : Fin d, 𝐫₀[d] ε (s-2) = (d : ℂ) • 𝐫₀ ε (s-2) := by
227227
simp only [Finset.sum_const, Finset.card_univ, Fintype.card_fin, Nat.cast_smul_eq_nsmul]
228-
have hrxx : 𝐫[d,ε,s-4] ∘L ∑ i, 𝐱[i] ∘L 𝐱[i] = 𝐫[ε,s-2] - (ε ^ 2 : ℂ) • 𝐫[ε,s-4] := by
228+
have hrxx : 𝐫₀[d] ε (s-4) ∘L ∑ i, 𝐱 i ∘L 𝐱 i = 𝐫₀ ε (s-2) - (ε ^ 2 : ℂ) • 𝐫₀ ε (s-4) := by
229229
rw [positionOperatorSqr_eq ε, comp_sub, comp_smul, comp_id, radiusRegPowOperator_comp_eq,
230230
← Complex.coe_smul (ε.1 ^ 2), ofReal_pow]
231231
ring_nf
@@ -251,28 +251,28 @@ lemma radiusRegPow_commutation_momentumSqr :
251251
-/
252252

253253
lemma angularMomentum_commutation_position :
254-
⁅𝐋[i,j], 𝐱[k]⁆ = (I * ℏ) • (δ[i,k] • 𝐱[j] - δ[j,k] • 𝐱[i]) := by
255-
trans 𝐱[i] ∘L ⁅𝐩[j], 𝐱[k]⁆ - 𝐱[j] ∘L ⁅𝐩[i], 𝐱[k]
254+
⁅𝐋[i,j], 𝐱 k⁆ = (I * ℏ) • (δ[i,k] • 𝐱 j - δ[j,k] • 𝐱 i) := by
255+
trans 𝐱 i ∘L ⁅𝐩 j, 𝐱 k⁆ - 𝐱 j ∘L ⁅𝐩 i, 𝐱 k
256256
· simp [angularMomentumOperator, leibniz_lie]
257-
simp only [← lie_skew 𝐩[_] 𝐱[_], comp_neg, sub_neg_eq_add, add_comm, ← sub_eq_add_neg,
257+
simp only [← lie_skew (𝐩 _), comp_neg, sub_neg_eq_add, add_comm, ← sub_eq_add_neg,
258258
position_commutation_momentum, comp_smul, comp_id, smul_sub, symm k _]
259259

260260
@[simp]
261-
lemma angularMomentum_commutation_radiusRegPow : ⁅𝐋[i,j], 𝐫[d,ε,s]⁆ = 0 := by
262-
trans 𝐱[i] ∘L ⁅𝐩[j], 𝐫[ε,s]⁆ - 𝐱[j] ∘L ⁅𝐩[i], 𝐫[ε,s]
261+
lemma angularMomentum_commutation_radiusRegPow : ⁅𝐋[i,j], 𝐫₀[d] ε s⁆ = 0 := by
262+
trans 𝐱 i ∘L ⁅𝐩 j, 𝐫₀ ε s⁆ - 𝐱 j ∘L ⁅𝐩 i, 𝐫₀ ε s
263263
· simp [angularMomentumOperator, leibniz_lie]
264-
simp [← lie_skew 𝐩[_] 𝐫[_,_], radiusRegPow_commutation_momentum, comp_neg,
264+
simp [← lie_skew (𝐩 _), radiusRegPow_commutation_momentum, comp_neg,
265265
← position_comp_radiusRegPow_commute, ← comp_assoc, position_comp_commute]
266266

267-
lemma angularMomentum_comp_radiusRegPow_commute : 𝐋[i,j] ∘L 𝐫[ε,s] = 𝐫[ε,s] ∘L 𝐋[i,j] := by
267+
lemma angularMomentum_comp_radiusRegPow_commute : 𝐋[i,j] ∘L 𝐫₀ ε s = 𝐫₀ ε s ∘L 𝐋[i,j] := by
268268
rw [comp_eq_comp_add_commute, angularMomentum_commutation_radiusRegPow, add_zero]
269269

270270
@[simp]
271271
lemma angularMomentumSqr_commutation_radiusRegPow :
272-
⁅angularMomentumOperatorSqr (d := d), 𝐫[d,ε,s]⁆ = 0 := by
272+
⁅angularMomentumOperatorSqr (d := d), 𝐫₀[d] ε s⁆ = 0 := by
273273
simp [angularMomentumOperatorSqr, sum_lie, leibniz_lie]
274274

275-
lemma angularMomentumSqr_comp_radiusRegPow_commute : 𝐋² ∘L 𝐫[d,ε,s] = 𝐫[ε,s] ∘L 𝐋² := by
275+
lemma angularMomentumSqr_comp_radiusRegPow_commute : 𝐋² ∘L 𝐫₀[d] ε s = 𝐫₀ ε s ∘L 𝐋² := by
276276
rw [comp_eq_comp_add_commute, angularMomentumSqr_commutation_radiusRegPow, add_zero]
277277

278278
/-!
@@ -281,14 +281,14 @@ lemma angularMomentumSqr_comp_radiusRegPow_commute : 𝐋² ∘L 𝐫[d,ε,s] =
281281
282282
-/
283283

284-
lemma angularMomentum_commutation_momentum : ⁅𝐋[i,j], 𝐩[k]⁆ =
285-
(I * ℏ) • (δ[i,k] • 𝐩[j] - δ[j,k] • 𝐩[i]) := by
286-
trans ⁅𝐱[i], 𝐩[k]⁆ ∘L 𝐩[j] - ⁅𝐱[j], 𝐩[k]⁆ ∘L 𝐩[i]
284+
lemma angularMomentum_commutation_momentum : ⁅𝐋[i,j], 𝐩 k⁆ =
285+
(I * ℏ) • (δ[i,k] • 𝐩 j - δ[j,k] • 𝐩 i) := by
286+
trans ⁅𝐱 i, 𝐩 k⁆ ∘L 𝐩 j - ⁅𝐱 j, 𝐩 k⁆ ∘L 𝐩 i
287287
· simp [angularMomentumOperator, leibniz_lie]
288288
simp only [position_commutation_momentum, smul_comp, id_comp, smul_sub]
289289

290-
lemma momentum_comp_angularMomentum_eq : 𝐩[k] ∘L 𝐋[i,j] =
291-
𝐋[i,j] ∘L 𝐩[k] - (I * ℏ) • (δ[i,k] • 𝐩[j] - δ[j,k] • 𝐩[i]) := by
290+
lemma momentum_comp_angularMomentum_eq : 𝐩 k ∘L 𝐋[i,j] =
291+
𝐋[i,j] ∘L 𝐩 k - (I * ℏ) • (δ[i,k] • 𝐩 j - δ[j,k] • 𝐩 i) := by
292292
rw [comp_eq_comp_sub_commute, angularMomentum_commutation_momentum]
293293

294294
@[simp]

Physlib/QuantumMechanics/DDimensions/Operators/Momentum.lean

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Definitions:
2828
of the Hilbert space `SpaceDHilbertSpace d`.
2929
3030
Notation:
31-
- `𝐩[i]` for `momentumOperator i`
31+
- `𝐩` for `momentumOperator`
3232
- `𝐩²` for `momentumOperatorSqr`
3333
3434
## iii. Table of contents
@@ -45,7 +45,7 @@ Notation:
4545

4646
namespace QuantumMechanics
4747
noncomputable section
48-
open Constants
48+
open Constants Complex
4949
open Space
5050
open ContDiff SchwartzMap
5151

@@ -65,14 +65,16 @@ def momentumOperator : 𝓢(Space d, ℂ) →L[ℂ] 𝓢(Space d, ℂ) :=
6565
(SchwartzMap.fderivCLM ℂ (Space d) ℂ)
6666

6767
@[inherit_doc momentumOperator]
68-
notation "𝐩[" i "]" => momentumOperator i
68+
notation "𝐩" => momentumOperator
6969

70-
lemma momentumOperator_apply_fun (ψ : 𝓢(Space d, ℂ)) :
71-
𝐩[i] ψ = (- Complex.I * ℏ) • ∂[i] ψ := rfl
70+
@[inherit_doc momentumOperator]
71+
notation "𝐩[" d' "]" => momentumOperator (d := d')
72+
73+
lemma momentumOperator_apply_fun (ψ : 𝓢(Space d, ℂ)) : 𝐩 i ψ = (-I * ℏ) • ∂[i] ψ := rfl
7274

7375
@[simp]
74-
lemma momentumOperator_apply (ψ : 𝓢(Space d, ℂ)) (x : Space d) :
75-
𝐩[i] ψ x = - Complex.I * ℏ * ∂[i] ψ x := rfl
76+
lemma momentumOperator_apply (ψ : 𝓢(Space d, ℂ)) (x : Space d) : 𝐩 i ψ x = -I * ℏ * ∂[i] ψ x :=
77+
rfl
7678

7779
/-!
7880
@@ -82,16 +84,16 @@ lemma momentumOperator_apply (ψ : 𝓢(Space d, ℂ)) (x : Space d) :
8284

8385
set_option backward.isDefEq.respectTransparency false in
8486
/-- The square of the momentum operator, `𝐩² ≔ ∑ᵢ 𝐩ᵢ∘𝐩ᵢ`. -/
85-
def momentumOperatorSqr : 𝓢(Space d, ℂ) →L[ℂ] 𝓢(Space d, ℂ) := ∑ i, 𝐩[i] ∘L 𝐩[i]
87+
def momentumOperatorSqr : 𝓢(Space d, ℂ) →L[ℂ] 𝓢(Space d, ℂ) := ∑ i, 𝐩 i ∘L 𝐩 i
8688

8789
@[inherit_doc momentumOperatorSqr]
8890
notation "𝐩²" => momentumOperatorSqr
8991

9092
set_option backward.isDefEq.respectTransparency false in
91-
lemma momentumOperatorSqr_eq : 𝐩² = ∑ i : Fin d, 𝐩[i] ∘L 𝐩[i] := rfl
93+
lemma momentumOperatorSqr_eq : 𝐩² = ∑ i : Fin d, 𝐩 i ∘L 𝐩 i := rfl
9294

9395
lemma momentumOperatorSqr_apply (ψ : 𝓢(Space d, ℂ)) (x : Space d) :
94-
𝐩² ψ x = ∑ i, 𝐩[i] (𝐩[i] ψ) x := by
96+
𝐩² ψ x = ∑ i, 𝐩 i (𝐩 i ψ) x := by
9597
dsimp only [momentumOperatorSqr]
9698
rw [← SchwartzMap.coe_coeHom]
9799
simp only [ContinuousLinearMap.coe_sum', ContinuousLinearMap.coe_comp', Finset.sum_apply,
@@ -108,7 +110,7 @@ open SpaceDHilbertSpace MeasureTheory
108110
set_option backward.isDefEq.respectTransparency false in
109111
/-- The momentum operators defined on the Schwartz submodule. -/
110112
def momentumOperatorSchwartz : schwartzSubmodule d →ₗ[ℂ] schwartzSubmodule d :=
111-
schwartzEquiv.toLinearMap ∘ₗ 𝐩[i].toLinearMap ∘ₗ schwartzEquiv.symm.toLinearMap
113+
schwartzEquiv.toLinearMap ∘ₗ (𝐩 i).toLinearMap ∘ₗ schwartzEquiv.symm.toLinearMap
112114

113115
set_option backward.isDefEq.respectTransparency false in
114116
lemma momentumOperatorSchwartz_isSymmetric :

0 commit comments

Comments
 (0)