Documentation

Mathlib.Algebra.Module.LinearMap.Basic

Further results on (semi)linear maps #

def LinearMap.ltoFun (R : Type u_6) (M : Type u_7) (N : Type u_8) (A : Type u_9) [Semiring R] [Semiring A] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [Module A N] [SMulCommClass R A N] :

A-linearly coerce an R-linear map from M to N to a function, when N has commuting R-module and A-module structures.

Equations
    Instances For
      @[simp]
      theorem LinearMap.ltoFun_apply {R : Type u_6} {M : Type u_7} {N : Type u_8} {A : Type u_9} [Semiring R] [Semiring A] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [Module A N] [SMulCommClass R A N] {f : M โ†’โ‚—[R] N} :
      (ltoFun R M N A) f = โ‡‘f
      instance LinearMap.instSMulDomMulAct {R : Type u_1} {R' : Type u_2} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} {S' : Type u_6} [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M] :
      Equations
        theorem DomMulAct.smul_linearMap_apply {R : Type u_1} {R' : Type u_2} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} {S' : Type u_6} [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M] (a : S'แตˆแตแตƒ) (f : M โ†’โ‚›โ‚—[ฯƒโ‚โ‚‚] M') (x : M) :
        (a โ€ข f) x = f (mk.symm a โ€ข x)
        @[simp]
        theorem DomMulAct.mk_smul_linearMap_apply {R : Type u_1} {R' : Type u_2} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} {S' : Type u_6} [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M] (a : S') (f : M โ†’โ‚›โ‚—[ฯƒโ‚โ‚‚] M') (x : M) :
        (mk a โ€ข f) x = f (a โ€ข x)
        theorem DomMulAct.coe_smul_linearMap {R : Type u_1} {R' : Type u_2} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} {S' : Type u_6} [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M] (a : S'แตˆแตแตƒ) (f : M โ†’โ‚›โ‚—[ฯƒโ‚โ‚‚] M') :
        โ‡‘(a โ€ข f) = a โ€ข โ‡‘f
        instance LinearMap.instSMulCommClassDomMulAct {R : Type u_1} {R' : Type u_2} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} {S' : Type u_6} {T' : Type u_7} [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M] [Monoid T'] [DistribMulAction T' M] [SMulCommClass R T' M] [SMulCommClass S' T' M] :
        instance LinearMap.instDistribMulActionDomMulActOfSMulCommClass {R : Type u_1} {R' : Type u_2} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} {S' : Type u_6} [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M] :
        Equations
          instance LinearMap.instIsTorsionFree {R : Type u_1} {R' : Type u_2} {S : Type u_3} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} [Semiring S] [Module S M'] [SMulCommClass R' S M'] [Module.IsTorsionFree S M'] :
          Module.IsTorsionFree S (M โ†’โ‚›โ‚—[ฯƒโ‚โ‚‚] M')
          instance LinearMap.instModuleDomMulActOfSMulCommClass {R : Type u_1} {R' : Type u_2} {S : Type u_3} {M : Type u_4} {M' : Type u_5} [Semiring R] [Semiring R'] [AddCommMonoid M] [AddCommMonoid M'] [Module R M] [Module R' M'] {ฯƒโ‚โ‚‚ : R โ†’+* R'} [Semiring S] [Module S M] [SMulCommClass R S M] :
          Equations
            @[simp]
            theorem LinearMap.mulLeft_mul (R : Type u_6) (A : Type u_7) [Semiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A] (a b : A) :
            @[simp]
            theorem LinearMap.mulRight_mul (R : Type u_6) (A : Type u_7) [Semiring R] [NonUnitalSemiring A] [Module R A] [IsScalarTower R A A] (a b : A) :
            @[simp]
            theorem LinearMap.mulLeft_inj {R : Type u_6} {A : Type u_7} [Semiring R] [NonAssocSemiring A] [Module R A] [SMulCommClass R A A] {a b : A} :
            mulLeft R a = mulLeft R b โ†” a = b
            @[simp]
            theorem LinearMap.mulRight_inj {R : Type u_6} {A : Type u_7} [Semiring R] [NonAssocSemiring A] [Module R A] [IsScalarTower R A A] {a b : A} :
            @[simp]
            theorem LinearMap.mulLeft_one (R : Type u_6) (A : Type u_7) [Semiring R] [NonAssocSemiring A] [Module R A] [SMulCommClass R A A] :
            @[simp]
            theorem LinearMap.mulLeft_eq_zero_iff (R : Type u_6) (A : Type u_7) [Semiring R] [NonAssocSemiring A] [Module R A] [SMulCommClass R A A] (a : A) :
            mulLeft R a = 0 โ†” a = 0
            @[simp]
            theorem LinearMap.mulRight_one (R : Type u_6) (A : Type u_7) [Semiring R] [NonAssocSemiring A] [Module R A] [IsScalarTower R A A] :
            @[simp]
            theorem LinearMap.mulRight_eq_zero_iff (R : Type u_6) (A : Type u_7) [Semiring R] [NonAssocSemiring A] [Module R A] [IsScalarTower R A A] (a : A) :
            mulRight R a = 0 โ†” a = 0