Zulip Chat Archive
Stream: new members
Topic: to_pequiv_matrix_mul'
Jamie Reason (Aug 22 2022 at 13:22):
Hey, in data.matrix.pequiv
there is a lemma docs#pequiv.to_pequiv_mul_matrix , I wanted to use an equivalent of this lemma but for left multiplication (which requires additional hypothesis that h : f = f.symm
).
I've written and proved this lemma,
universe v
variables {m n : Type*} {α : Type v}
lemma to_pequiv_matrix_mul' [fintype n] [decidable_eq n] [semiring α] (f : n ≃ n)
(M : matrix m n α) (h : f = f.symm) : (M ⬝ f.to_pequiv.to_matrix) = λ i j, M i (f j) :=
by { ext i j, rw [pequiv.matrix_mul_apply, ←equiv.to_pequiv_symm, equiv.to_pequiv_apply, ←h]}
Is this something worth adding to data.matrix.pequiv
or not? And is the naming appropriate?
Junyan Xu (Aug 22 2022 at 21:07):
Do you really need f = f.symm
or you just need to replace one of the two f
in the conclusion by f.symm
?
Jamie Reason (Aug 23 2022 at 10:39):
Ah yes, thanks, my use case had f = f.symm
so I didn't consider that
lemma to_pequiv_matrix_mul {m n : Type*} {α : Type v} [fintype n] [decidable_eq n] [semiring α] (f : n ≃ n) (M : matrix m n α):
(M ⬝ f.to_pequiv.to_matrix) = λ i j, M i (f.symm j) :=
by { ext i j, rw [pequiv.matrix_mul_apply, ←equiv.to_pequiv_symm, equiv.to_pequiv_apply]}
Eric Wieser (Aug 23 2022 at 15:18):
The RHS might be better expressed with docs#matrix.submatrix
Jamie Reason (Aug 23 2022 at 16:36):
I think that is a slightly nicer result. Although it is not consistent with docs#pequiv.to_pequiv_mul_matrix currently in mathlib
lemma to_pequiv_matrix_mul {m n : Type*} {α : Type v} [fintype n] [decidable_eq n] [semiring α] (f : n ≃ n) (M : matrix m n α):
(M ⬝ f.to_pequiv.to_matrix) = matrix.submatrix M id (f.symm) :=
by { ext i j, rw [pequiv.matrix_mul_apply, ←equiv.to_pequiv_symm, equiv.to_pequiv_apply, matrix.submatrix_apply, id.def] }
Last updated: Dec 20 2023 at 11:08 UTC