Zulip Chat Archive

Stream: new members

Topic: transvection matrix is instance of GL(n, R)


Alex Brodbelt (Oct 25 2024 at 16:19):

Hi!

I want to register the transvection as an element of the general linear group for later use.

Am I meant to to do this by creating an instance or by a theorem (like the one I tried to state below which does not compile)?

I want to use GeneralLinearGroup.mk' alongside with det_transvection_of_nebut I don't know how to set up the statement.

Thanks in advance (:

import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic
import Mathlib.LinearAlgebra.Matrix.Transvection

open Matrix

variable (n : Type u) [DecidableEq n] [Fintype n] (R : Type v) [CommRing R]

theorem tranvsvection_in_general_linear_group {i j : n} (i_neq_j : i  j) : (((transvection i j (1 : R)) : Matrix n n R) : GL n R) = transvection i j (1 : R) := by sorry

Etienne Marion (Oct 25 2024 at 16:37):

There are different ways, I guess the easiest is this one:

import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic
import Mathlib.LinearAlgebra.Matrix.Transvection

open Matrix

variable (n : Type u) [DecidableEq n] [Fintype n] (R : Type v) [CommRing R]

def transvection' {i j : n} (i_neq_j : i  j) : GL n R :=
  GeneralLinearGroup.mk' (transvection i j (1 : R))
    ((det_transvection_of_ne i j i_neq_j (1 : R)).symm  invertibleOne)

Etienne Marion (Oct 25 2024 at 16:39):

This is maybe clearer for last line:

(by rw [det_transvection_of_ne _ _ i_neq_j]; exact invertibleOne)

Alex Brodbelt (Oct 25 2024 at 16:41):

How do you choose between defining a coercion or when making a definition like the one above?

Eric Wieser (Oct 25 2024 at 16:44):

Usually you always make the definition, and if it's super convenient you register that definition as a coercion

Alex Brodbelt (Oct 25 2024 at 16:45):

Eric Wieser said:

Usually you always make the definition, and if it's super convenient you register that definition as a coercion

aha I see - thank you both of you

Eric Wieser (Oct 25 2024 at 16:45):

Would docs#Matrix.SpecialLinearGroup be more appropriate here?

Alex Brodbelt (Oct 25 2024 at 16:46):

Eric Wieser said:

Would docs#Matrix.SpecialLinearGroup be more appropriate here?

I want to prove properties about the general linear group - hm but I suppose I should register this for the special linear group and then use the coercion...


Last updated: May 02 2025 at 03:31 UTC