Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit fc63bdd

Browse files
committed
chore(linear_algebra/matrix/hermitian): move matrix.conj_transpose_map to the same file as matrix.transpose_map (#15297)
Also restates the hypothesis using `function.semiconj` since that has more API and is definitionally easier to work with.
1 parent 1a424e1 commit fc63bdd

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/data/matrix/basic.lean

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1515,6 +1515,11 @@ matrix.ext $ by simp [mul_apply]
15151515
(- M)ᴴ = - Mᴴ :=
15161516
matrix.ext $ by simp
15171517

1518+
lemma conj_transpose_map [has_star α] [has_star β] {A : matrix m n α} (f : α → β)
1519+
(hf : function.semiconj f star star) :
1520+
Aᴴ.map f = (A.map f)ᴴ :=
1521+
matrix.ext $ λ i j, hf _
1522+
15181523
/-- `matrix.conj_transpose` as an `add_equiv` -/
15191524
@[simps apply]
15201525
def conj_transpose_add_equiv [add_monoid α] [star_add_monoid α] : matrix m n α ≃+ matrix n m α :=

src/linear_algebra/matrix/hermitian.lean

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,23 +67,18 @@ by simp [is_hermitian, add_comm]
6767
(0 : matrix n n α).is_hermitian :=
6868
conj_transpose_zero
6969

70-
-- TODO: move
71-
lemma conj_transpose_map {A : matrix n n α} (f : α → β) (hf : f ∘ star = star ∘ f) :
72-
Aᴴ.map f = (A.map f)ᴴ :=
73-
by rw [conj_transpose, conj_transpose, ←transpose_map, map_map, map_map, hf]
74-
7570
@[simp] lemma is_hermitian.map {A : matrix n n α} (h : A.is_hermitian) (f : α → β)
76-
(hf : f ∘ star = star ∘ f) :
71+
(hf : function.semiconj f star star) :
7772
(A.map f).is_hermitian :=
78-
by {refine (conj_transpose_map f hf).symm.trans _, rw h.eq }
73+
(conj_transpose_map f hf).symm.trans $ h.eq.symm ▸ rfl
7974

8075
@[simp] lemma is_hermitian.transpose {A : matrix n n α} (h : A.is_hermitian) :
8176
Aᵀ.is_hermitian :=
8277
by { rw [is_hermitian, conj_transpose, transpose_map], congr, exact h }
8378

8479
@[simp] lemma is_hermitian.conj_transpose {A : matrix n n α} (h : A.is_hermitian) :
8580
Aᴴ.is_hermitian :=
86-
h.transpose.map _ rfl
81+
h.transpose.map _ $ λ _, rfl
8782

8883
@[simp] lemma is_hermitian.add {A B : matrix n n α} (hA : A.is_hermitian) (hB : B.is_hermitian) :
8984
(A + B).is_hermitian :=

0 commit comments

Comments
 (0)