Documentation

Mathlib.Data.Matrix.Action

Actions by matrices on vectors through *ᵥ and ᵥ*, cast as Modules #

This file provides the left- and right- module structures of square matrices on vectors, via Matrix.mulVec and Matrix.vecMul.

*ᵥ as a left-module #

instance Matrix.instModuleForall {n : Type u_1} {R : Type u_2} [Fintype n] [DecidableEq n] [Semiring R] :
Module (Matrix n n R) (nR)
Equations
@[simp]
theorem Matrix.smul_eq_mulVec {n : Type u_1} {R : Type u_2} [Fintype n] [DecidableEq n] [Semiring R] (A : Matrix n n R) (v : nR) :
A v = A.mulVec v
instance Matrix.instSMulCommClassForall {n : Type u_1} {R : Type u_2} {S : Type u_3} [Fintype n] [DecidableEq n] [Semiring R] [DistribSMul S R] [SMulCommClass R S R] :
SMulCommClass (Matrix n n R) S (nR)
instance Matrix.instSMulCommClassForall_1 {n : Type u_1} {R : Type u_2} {S : Type u_3} [Fintype n] [DecidableEq n] [Semiring R] [DistribSMul S R] [SMulCommClass S R R] :
SMulCommClass S (Matrix n n R) (nR)
instance Matrix.instIsScalarTowerForall {n : Type u_1} {R : Type u_2} {S : Type u_3} [Fintype n] [DecidableEq n] [Semiring R] [DistribSMul S R] [IsScalarTower S R R] :
IsScalarTower S (Matrix n n R) (nR)

*ᵥ as a right-module #

instance Matrix.instModuleMulOppositeForall {n : Type u_1} {R : Type u_2} [Fintype n] [DecidableEq n] [Semiring R] :
Module (Matrix n n R)ᵐᵒᵖ (nR)
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem Matrix.op_smul_eq_vecMul {n : Type u_1} {R : Type u_2} [Fintype n] [DecidableEq n] [Semiring R] (A : (Matrix n n R)ᵐᵒᵖ) (v : nR) :