@@ -38,8 +38,7 @@ variable [Field R]
3838/-- The pdf does not mention `hx`! -/
3939theorem eq_487 (X : Matrix m m R) (n : ℕ) (hx : (X - 1 ).det ≠ 0 ) :
4040 (X ^ n - 1 ) * (X - 1 )⁻¹ = ∑ i in Finset.range n, X ^ i := by
41- rw [← geom_sum_mul X n, Matrix.mul_eq_mul, Matrix.mul_eq_mul,
42- mul_nonsing_inv_cancel_right _ _ hx.isUnit]
41+ rw [← geom_sum_mul X n, mul_nonsing_inv_cancel_right _ _ hx.isUnit]
4342
4443/-! #### Taylor Expansion of Scalar Function -/
4544
@@ -89,8 +88,8 @@ theorem eq_507 [Nontrivial m] [Nonempty n] :
8988 let A := stdBasisMatrix m1 n1 (1 : R)
9089 let B := stdBasisMatrix m2 n1 (1 : R)
9190 have := Matrix.ext_iff.mpr (h A B) (m1, m2) (n1, n1)
92- simpa [StdBasisMatrix.apply_same, StdBasisMatrix.apply_of_row_ne hm,
93- MulZeroClass. mul_zero, mul_one, one_ne_zero] using this
91+ simp [StdBasisMatrix.apply_same, StdBasisMatrix.apply_of_row_ne hm,
92+ mul_zero, mul_one, one_ne_zero] at this
9493
9594/-- Note we have to "cast" between the types -/
9695theorem eq_508 (A : Matrix m n R) (B : Matrix r q R) (C : Matrix l p R) :
@@ -104,7 +103,7 @@ theorem eq_510 (A : Matrix m n R) (B : Matrix r q R) : (A ⊗ₖ B)ᵀ = Aᵀ
104103 rw [kroneckerMap_transpose]
105104
106105theorem eq_511 (A : Matrix l m R) (B : Matrix p q R) (C : Matrix m n R) (D : Matrix q r R) :
107- A ⊗ₖ B ⬝ C ⊗ₖ D = (A ⬝ C) ⊗ₖ (B ⬝ D) := by rw [Matrix.mul_kronecker_mul]
106+ A ⊗ₖ B * C ⊗ₖ D = (A * C) ⊗ₖ (B * D) := by rw [Matrix.mul_kronecker_mul]
108107
109108theorem eq_512 (A : Matrix m m R) (B : Matrix n n R) : (A ⊗ₖ B)⁻¹ = A⁻¹ ⊗ₖ B⁻¹ :=
110109 inv_kronecker _ _
@@ -129,13 +128,13 @@ def vec (A : Matrix m n R) : Matrix (n × m) Unit R :=
129128 col fun ij => A ij.2 ij.1
130129
131130theorem eq_520 (A : Matrix l m R) (X : Matrix m n R) (B : Matrix n p R) :
132- vec (A ⬝ X ⬝ B) = Bᵀ ⊗ₖ A ⬝ vec X := by
131+ vec (A * X * B) = Bᵀ ⊗ₖ A * vec X := by
133132 ext ⟨k, l⟩
134133 simp_rw [vec, Matrix.mul_apply, Matrix.kroneckerMap_apply, col_apply, Finset.sum_mul,
135134 transpose_apply, ← Finset.univ_product_univ, Finset.sum_product, mul_right_comm _ _ (B _ _),
136135 mul_comm _ (B _ _)]
137136
138- theorem eq_521 (A B : Matrix m n R) : (Aᵀ ⬝ B).trace = ((vec A)ᵀ ⬝ vec B) () () := by
137+ theorem eq_521 (A B : Matrix m n R) : (Aᵀ * B).trace = ((vec A)ᵀ * vec B) () () := by
139138 simp_rw [Matrix.trace, Matrix.diag, Matrix.mul_apply, vec, transpose_apply, col_apply, ←
140139 Finset.univ_product_univ, Finset.sum_product]
141140
@@ -147,7 +146,7 @@ theorem eq_523 (r : R) (A : Matrix m n R) : vec (r • A) = r • vec A :=
147146
148147-- note: `Bᵀ` is `B` in the PDF
149148theorem eq_524 (a : m → R) (X : Matrix m n R) (B : Matrix n n R) (c : m → R) :
150- row a ⬝ X ⬝ B ⬝ Xᵀ ⬝ col c = (vec X)ᵀ ⬝ Bᵀ ⊗ₖ (col c ⬝ row a) ⬝ vec X := by
149+ row a * X * B * Xᵀ * col c = (vec X)ᵀ * Bᵀ ⊗ₖ (col c * row a) * vec X := by
151150 -- not the proof from the book
152151 ext ⟨i, j⟩
153152 simp only [vec, Matrix.mul_apply, Finset.sum_mul, Finset.mul_sum, Matrix.kroneckerMap_apply,
@@ -167,19 +166,19 @@ theorem eq_524 (a : m → R) (X : Matrix m n R) (B : Matrix n n R) (c : m → R)
167166/-! #### Examples -/
168167
169168
170- theorem eq_525 (x : n → ℂ) : ‖(PiLp .equiv 1 _).symm x‖ = ∑ i, Complex.abs (x i) := by
171- simpa using PiLp.norm_eq_of_nat 1 Nat.cast_one.symm ((PiLp .equiv 1 _).symm x)
169+ theorem eq_525 (x : n → ℂ) : ‖(WithLp .equiv 1 _).symm x‖ = ∑ i, Complex.abs (x i) := by
170+ simpa using PiLp.norm_eq_of_nat 1 Nat.cast_one.symm ((WithLp .equiv 1 _).symm x)
172171
173- theorem eq_526 (x : n → ℂ) : ↑(‖(PiLp .equiv 2 _).symm x‖ ^ 2 ) = star x ⬝ᵥ x := by
172+ theorem eq_526 (x : n → ℂ) : ↑(‖(WithLp .equiv 2 _).symm x‖ ^ 2 ) = star x ⬝ᵥ x := by
174173 rw [← EuclideanSpace.inner_piLp_equiv_symm, inner_self_eq_norm_sq_to_K, Complex.ofReal_pow]
175174 rfl -- porting note: added
176175
177176theorem eq_527 (x : n → ℂ) (p : ℝ≥0 ∞) (h : 0 < p.toReal) :
178- ‖(PiLp .equiv p _).symm x‖ = (∑ i, Complex.abs (x i) ^ p.toReal) ^ (1 / p.toReal) := by
179- simp_rw [PiLp.norm_eq_sum h, PiLp.equiv_symm_apply , Complex.norm_eq_abs]
177+ ‖(WithLp .equiv p _).symm x‖ = (∑ i, Complex.abs (x i) ^ p.toReal) ^ (1 / p.toReal) := by
178+ simp_rw [PiLp.norm_eq_sum h, WithLp.equiv_symm_pi_apply , Complex.norm_eq_abs]
180179
181- theorem eq_528 (x : n → ℂ) : ‖(PiLp .equiv ∞ _).symm x‖ = ⨆ i, Complex.abs (x i) := by
182- simp_rw [PiLp.norm_eq_ciSup, PiLp.equiv_symm_apply , Complex.norm_eq_abs]
180+ theorem eq_528 (x : n → ℂ) : ‖(WithLp .equiv ∞ _).symm x‖ = ⨆ i, Complex.abs (x i) := by
181+ simp_rw [PiLp.norm_eq_ciSup, WithLp.equiv_symm_pi_apply , Complex.norm_eq_abs]
183182
184183/-! ### Matrix Norms -/
185184
@@ -224,7 +223,7 @@ theorem eq_534 [Nonempty n] : ‖(1 : Matrix n n ℝ)‖ = 1 :=
224223theorem eq_535 (A : Matrix m n ℝ) (x : n → ℝ) : ‖A.mulVec x‖ ≤ ‖A‖ * ‖x‖ :=
225224 linfty_op_norm_mulVec _ _
226225
227- theorem eq_536 (A : Matrix m n ℝ) (B : Matrix n p ℝ) : ‖A ⬝ B‖ ≤ ‖A‖ * ‖B‖ :=
226+ theorem eq_536 (A : Matrix m n ℝ) (B : Matrix n p ℝ) : ‖A * B‖ ≤ ‖A‖ * ‖B‖ :=
228227 linfty_op_norm_mul _ _
229228
230229end
279278-- lemma eq_544 : sorry := sorry
280279-- lemma eq_545 : sorry := sorry
281280theorem eq_546 (A : Matrix m n ℝ) (B : Matrix n r ℝ) :
282- rank A + rank B - Fintype.card n ≤ rank (A ⬝ B) ∧ rank (A ⬝ B) ≤ min (rank A) (rank B) :=
281+ rank A + rank B - Fintype.card n ≤ rank (A * B) ∧ rank (A * B) ≤ min (rank A) (rank B) :=
283282 ⟨sorry , rank_mul_le _ _⟩
284283
285284/-! ### Integral Involving Dirac Delta Functions -/
@@ -291,10 +290,11 @@ theorem eq_546 (A : Matrix m n ℝ) (B : Matrix n r ℝ) :
291290-- lemma eq_547 : sorry := sorry
292291-- lemma eq_548 : sorry := sorry
293292theorem eq_549 (A : Matrix m n ℝ) :
294- A.rank = Aᵀ.rank ∧ A.rank = (A ⬝ Aᵀ).rank ∧ A.rank = (Aᵀ ⬝ A).rank :=
293+ A.rank = Aᵀ.rank ∧ A.rank = (A * Aᵀ).rank ∧ A.rank = (Aᵀ * A).rank :=
295294 ⟨A.rank_transpose.symm, A.rank_self_mul_transpose.symm, A.rank_transpose_mul_self.symm⟩
296295
297- theorem eq_550 (A : Matrix m m ℝ) : A.PosDef ↔ ∃ B : (Matrix m m ℝ)ˣ, A = ↑B * ↑Bᵀ :=
296+ theorem eq_550 (A : Matrix m m ℝ) :
297+ A.PosDef ↔ ∃ B : (Matrix m m ℝ)ˣ, A = (↑B : Matrix m m ℝ) * ↑Bᵀ :=
298298 sorry
299299
300300end MatrixCookbook
0 commit comments