Skip to content

Commit c94e7c7

Browse files
feat(LinearAlgebra/Matrix/SpecialLinearGroup): Add action on R^n (#39581)
1 parent de290dd commit c94e7c7

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Authors: Anne Baanen, Wen Yang
66
module
77

88
public import Mathlib.Data.Fintype.Parity
9+
public import Mathlib.Data.Matrix.Action
910
public import Mathlib.LinearAlgebra.Matrix.Adjugate
1011
public import Mathlib.LinearAlgebra.Matrix.ToLin
1112
public import Mathlib.LinearAlgebra.Matrix.Transvection
@@ -461,6 +462,30 @@ lemma mulVecSL {v : Fin 2 → R} (hab : IsCoprime (v 0) (v 1)) (A : SL(2, R)) :
461462

462463
end IsCoprime
463464

465+
namespace Matrix
466+
467+
section Action
468+
469+
variable {F : Type*} [CommRing F] {ι : Type*} [DecidableEq ι] [Fintype ι]
470+
471+
instance : DistribMulAction (Matrix.SpecialLinearGroup ι F) (ι → F) where
472+
smul m v := m.1 • v
473+
smul_zero _ := smul_zero (M := Matrix ι ι F) _
474+
smul_add _ := smul_add (M := Matrix ι ι F) _
475+
one_smul _ := one_smul (M := Matrix ι ι F) _
476+
mul_smul _ _ _ := SemigroupAction.mul_smul (α := Matrix ι ι F) _ _ _
477+
478+
instance : SMulCommClass (Matrix.SpecialLinearGroup ι F) F (ι → F) where
479+
smul_comm m k v := show m.1 • k • v = k • m.1 • v from smul_comm _ _ _
480+
481+
protected lemma SpecialLinearGroup.smul_def
482+
(m : Matrix.SpecialLinearGroup ι F) (v : ι → F) :
483+
m • v = m.1 • v := rfl
484+
485+
end Action
486+
487+
end Matrix
488+
464489
namespace ModularGroup
465490

466491
open MatrixGroups

0 commit comments

Comments
 (0)