lmul and rmul (the left and right multiplication maps) #
Basically just copies of linear_map.mul_left
and linear_map.mul_right
but defined as linear maps.
theorem
LinearMap.mulLeft_conj_of_mulEquivClass_apply
{R : Type u_4}
{E : Type u_2}
{F : Type u_3}
[CommSemiring R]
[NonUnitalNonAssocSemiring E]
[NonUnitalNonAssocSemiring F]
[Module R E]
[Module R F]
[SMulCommClass R E E]
[SMulCommClass R F F]
{Fn : Type u_1}
[EquivLike Fn E F]
[MulEquivClass Fn E F]
(f : Fn)
(x : E)
(y : F)
:
theorem
LinearMap.mulRight_conj_of_mulEquivClass_apply
{R : Type u_4}
{E : Type u_2}
{F : Type u_3}
[CommSemiring R]
[NonUnitalNonAssocSemiring E]
[NonUnitalNonAssocSemiring F]
[Module R E]
[Module R F]
[IsScalarTower R E E]
[IsScalarTower R F F]
{Fn : Type u_1}
[EquivLike Fn E F]
[MulEquivClass Fn E F]
(f : Fn)
(x : E)
(y : F)
:
theorem
left_module_map_iff
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[Semiring H₁]
[Algebra R H₁]
{x : H₁ →ₗ[R] H₁}
:
theorem
right_module_map_iff
{R : Type u_2}
[CommSemiring R]
{H₂ : Type u_1}
[Semiring H₂]
[Algebra R H₂]
{x : H₂ →ₗ[R] H₂}
:
def
lmul
{R : Type u_1}
{H₁ : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
:
Equations
- lmul = { toFun := fun (x : H₁) => LinearMap.mulLeft R x, map_add' := ⋯, map_smul' := ⋯ }
Instances For
theorem
lmul_apply
{R : Type u_2}
{H₁ : Type u_1}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x y : H₁)
:
theorem
lmul_eq_mul
{R : Type u_2}
{H₁ : Type u_1}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
:
theorem
lmul_eq_alg_lmul
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[Semiring H₁]
[Algebra R H₁]
(x : H₁)
:
theorem
lmul_one
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[NonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
:
def
rmul
{R : Type u_1}
{H₂ : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₂]
[Module R H₂]
[SMulCommClass R H₂ H₂]
[IsScalarTower R H₂ H₂]
:
Equations
- rmul = { toFun := fun (x : H₂) => LinearMap.mulRight R x, map_add' := ⋯, map_smul' := ⋯ }
Instances For
theorem
rmul_apply
{R : Type u_2}
{H₂ : Type u_1}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₂]
[Module R H₂]
[SMulCommClass R H₂ H₂]
[IsScalarTower R H₂ H₂]
(x y : H₂)
:
theorem
rmul_eq_mul
{R : Type u_2}
{H₂ : Type u_1}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₂]
[Module R H₂]
[SMulCommClass R H₂ H₂]
[IsScalarTower R H₂ H₂]
(x : H₂)
:
theorem
rmul_one
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[NonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
:
noncomputable def
rmulMapLmul
{R : Type u_1}
{H₁ : Type u_2}
{H₂ : Type u_3}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
[NonUnitalNonAssocSemiring H₂]
[Module R H₂]
[SMulCommClass R H₂ H₂]
[IsScalarTower R H₂ H₂]
:
Equations
- rmulMapLmul = TensorProduct.homTensorHomMap R H₁ H₂ H₁ H₂ ∘ₗ TensorProduct.map rmul lmul
Instances For
theorem
rmulMapLmul_apply
{R : Type u_3}
{H₁ : Type u_1}
{H₂ : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
[NonUnitalNonAssocSemiring H₂]
[Module R H₂]
[SMulCommClass R H₂ H₂]
[IsScalarTower R H₂ H₂]
(x : H₁)
(y : H₂)
:
theorem
rmulMapLmul_one
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[NonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
{H₂ : Type u_3}
[NonAssocSemiring H₂]
[Module R H₂]
[SMulCommClass R H₂ H₂]
[IsScalarTower R H₂ H₂]
:
theorem
LinearMap.mulLeft_sum
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring A]
[Module R A]
[SMulCommClass R A A]
[IsScalarTower R A A]
{n : Type u_3}
{s : Finset n}
{x : n → A}
:
theorem
LinearMap.mulRight_sum
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring A]
[Module R A]
[SMulCommClass R A A]
[IsScalarTower R A A]
{n : Type u_3}
{s : Finset n}
{x : n → A}
:
theorem
lmul_eq_one_iff
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[NonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
:
theorem
LinearMap.mulLeft_eq_one_iff
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[NonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
:
theorem
rmul_eq_one_iff
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[NonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
:
theorem
LinearMap.mulRight_eq_one_iff
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[NonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
:
theorem
LinearMap.mulRight_smul
{R : Type u_2}
{H₁ : Type u_1}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
(α : R)
:
theorem
LinearMap.mulLeft_smul
{R : Type u_2}
{H₁ : Type u_1}
[CommSemiring R]
[NonUnitalNonAssocSemiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
(α : R)
:
theorem
LinearMap.mulLeft_comp_inj
{R : Type u_3}
[CommSemiring R]
{H₁ : Type u_1}
{H₂ : Type u_2}
[Semiring H₁]
[Module R H₁]
[AddCommMonoid H₂]
[Module R H₂]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(f g : H₁ →ₗ[R] H₂)
(x : H₁)
[Invertible x]
:
theorem
LinearMap.mulLeft_inj
{R : Type u_2}
[CommSemiring R]
{H₁ : Type u_1}
[Semiring H₁]
[Module R H₁]
[SMulCommClass R H₁ H₁]
[IsScalarTower R H₁ H₁]
(x : H₁)
[Invertible x]
(y z : H₁)
:
theorem
lmul_op
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring A]
[Module R A]
[SMulCommClass R A A]
[IsScalarTower R A A]
(x : Aᵐᵒᵖ)
:
theorem
lmul_op'
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring A]
[Module R A]
[SMulCommClass R A A]
[IsScalarTower R A A]
(x : A)
:
theorem
rmul_op'
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[NonUnitalNonAssocSemiring A]
[Module R A]
[SMulCommClass R A A]
[IsScalarTower R A A]
(x : A)
: