Documentation

Mathlib.LinearAlgebra.Dual.BaseChange

Base change for the dual of a module #

If f : Module.Dual R V and Algebra R A, then

def Module.Dual.congr {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] (e : V โ‰ƒโ‚—[R] W) :

Equivalent modules have equivalent duals.

Equations
    Instances For
      @[simp]
      theorem Module.Dual.congr_apply_apply {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] (e : V โ‰ƒโ‚—[R] W) (aโœ : V โ†’โ‚—[R] R) (aโœยน : W) :
      ((congr e) aโœ) aโœยน = aโœ (e.symm aโœยน)
      @[simp]
      theorem Module.Dual.congr_symm_apply_apply {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] (e : V โ‰ƒโ‚—[R] W) (aโœ : W โ†’โ‚—[R] R) (aโœยน : V) :
      ((congr e).symm aโœ) aโœยน = aโœ (e aโœยน)
      @[simp]
      theorem Module.Dual.baseChange_apply_tmul {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] (A : Type u_4) [CommSemiring A] [Algebra R A] (f : Dual R V) (a : A) (v : V) :
      ((baseChange A) f) (a โŠ—โ‚œ[R] v) = f v โ€ข a
      noncomputable def IsBaseChange.toDual {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] {A : Type u_4} [CommSemiring A] [Algebra R A] [Module A W] [IsScalarTower R A W] {j : V โ†’โ‚—[R] W} (ibc : IsBaseChange A j) :

      The base change of an element of the dual.

      Equations
        Instances For
          theorem IsBaseChange.toDual_comp_apply {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] {A : Type u_4} [CommSemiring A] [Algebra R A] [Module A W] [IsScalarTower R A W] {j : V โ†’โ‚—[R] W} (ibc : IsBaseChange A j) (f : Module.Dual R V) (v : V) :
          (ibc.toDual f) (j v) = (algebraMap R A) (f v)
          theorem IsBaseChange.toDual_apply {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] {A : Type u_4} [CommSemiring A] [Algebra R A] [Module A W] [IsScalarTower R A W] {j : V โ†’โ‚—[R] W} (ibc : IsBaseChange A j) (f : Module.Dual R V) :
          noncomputable def IsBaseChange.toDualBaseChange {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] {A : Type u_4} [CommSemiring A] [Algebra R A] [Module A W] [IsScalarTower R A W] {j : V โ†’โ‚—[R] W} (ibc : IsBaseChange A j) [Module.Free R V] [Module.Finite R V] :

          The linear equivalence underlying IsBaseChange.dual.

          Equations
            Instances For
              theorem IsBaseChange.toDualBaseChange_tmul {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] {A : Type u_4} [CommSemiring A] [Algebra R A] [Module A W] [IsScalarTower R A W] {j : V โ†’โ‚—[R] W} (ibc : IsBaseChange A j) [Module.Free R V] [Module.Finite R V] (a : A) (f : Module.Dual R V) (v : V) :
              (ibc.toDualBaseChange (a โŠ—โ‚œ[R] f)) (j v) = a * (algebraMap R A) (f v)
              theorem IsBaseChange.dual {R : Type u_1} [CommSemiring R] {V : Type u_2} [AddCommMonoid V] [Module R V] {W : Type u_3} [AddCommMonoid W] [Module R W] {A : Type u_4} [CommSemiring A] [Algebra R A] [Module A W] [IsScalarTower R A W] {j : V โ†’โ‚—[R] W} (ibc : IsBaseChange A j) [Module.Free R V] [Module.Finite R V] :