Change Of Rings #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Main definitions #
-
category_theory.Module.restrict_scalars
: given ringsR, S
and a ring homomorphismR ⟶ S
, thenrestrict_scalars : Module S ⥤ Module R
is defined byM ↦ M
whereM : S-module
is seen asR-module
byr • m := f r • m
andS
-linear mapl : M ⟶ M'
isR
-linear as well. -
category_theory.Module.extend_scalars
: given commutative ringsR, S
and ring homomorphismf : R ⟶ S
, thenextend_scalars : Module R ⥤ Module S
is defined byM ↦ S ⨂ M
where the module structure is defined bys • (s' ⊗ m) := (s * s') ⊗ m
andR
-linear mapl : M ⟶ M'
is sent toS
-linear maps ⊗ m ↦ s ⊗ l m : S ⨂ M ⟶ S ⨂ M'
. -
category_theory.Module.coextend_scalars
: given ringsR, S
and a ring homomorphismR ⟶ S
thencoextend_scalars : Module R ⥤ Module S
is defined byM ↦ (S →ₗ[R] M)
whereS
is seen asR-module
by restriction of scalars andl ↦ l ∘ _
.
Main results #
category_theory.Module.extend_restrict_scalars_adj
: given commutative ringsR, S
and a ring homomorphismf : R →+* S
, the extension and restriction of scalars byf
are adjoint functors.category_theory.Module.restrict_coextend_scalars_adj
: given ringsR, S
and a ring homomorphismf : R ⟶ S
thencoextend_scalars f
is the right adjoint ofrestrict_scalars f
.
List of notations #
Let R, S
be rings and f : R →+* S
- if
M
is anR
-module,s : S
andm : M
, thens ⊗ₜ[R, f] m
is the pure tensors ⊗ m : S ⊗[R, f] M
.
Any S
-module M is also an R
-module via a ring homomorphism f : R ⟶ S
by defining
r • m := f r • m
(module.comp_hom
). This is called restriction of scalars.
Equations
The restriction of scalars operation is functorial. For any f : R →+* S
a ring homomorphism,
- an
S
-moduleM
can be considered asR
-module byr • m = f r • m
- an
S
-linear map is alsoR
-linear
Equations
- category_theory.Module.restrict_scalars f = {obj := category_theory.Module.restrict_scalars.obj' f, map := λ (_x _x_1 : Module S), category_theory.Module.restrict_scalars.map' f, map_id' := _, map_comp' := _}
Instances for category_theory.Module.restrict_scalars
Extension of scalars is a functor where an R
-module M
is sent to S ⊗ M
and
l : M1 ⟶ M2
is sent to s ⊗ m ↦ s ⊗ l m
Equations
- category_theory.Module.extend_scalars f = {obj := λ (M : Module R), category_theory.Module.extend_scalars.obj' f M, map := λ (M1 M2 : Module R) (l : M1 ⟶ M2), category_theory.Module.extend_scalars.map' f l, map_id' := _, map_comp' := _}
Instances for category_theory.Module.extend_scalars
Given an R
-module M, consider Hom(S, M) -- the R
-linear maps between S (as an R
-module by
means of restriction of scalars) and M. S
acts on Hom(S, M) by s • g = x ↦ g (x • s)
Equations
- category_theory.Module.coextend_scalars.mul_action f M = {to_has_smul := {smul := has_smul.smul (category_theory.Module.coextend_scalars.has_smul f M)}, one_smul := _, mul_smul := _}
Equations
- category_theory.Module.coextend_scalars.distrib_mul_action f M = {to_mul_action := {to_has_smul := mul_action.to_has_smul (category_theory.Module.coextend_scalars.mul_action f M), one_smul := _, mul_smul := _}, smul_zero := _, smul_add := _}
S
acts on Hom(S, M) by s • g = x ↦ g (x • s)
, this action defines an S
-module structure on
Hom(S, M).
Equations
If M
is an R
-module, then the set of R
-linear maps S →ₗ[R] M
is an S
-module with
scalar multiplication defined by s • l := x ↦ l (x • s)
Equations
Instances for ↥category_theory.Module.coextend_scalars.obj'
Equations
- category_theory.Module.coextend_scalars.obj'.has_coe_to_fun f M = {coe := λ (g : ↥(category_theory.Module.coextend_scalars.obj' f M)), g.to_fun}
If M, M'
are R
-modules, then any R
-linear map g : M ⟶ M'
induces an S
-linear map
(S →ₗ[R] M) ⟶ (S →ₗ[R] M')
defined by h ↦ g ∘ h
Equations
- category_theory.Module.coextend_scalars.map' f g = {to_fun := λ (h : ↥(category_theory.Module.coextend_scalars.obj' f M)), linear_map.comp g h, map_add' := _, map_smul' := _}
For any rings R, S
and a ring homomorphism f : R →+* S
, there is a functor from R
-module to
S
-module defined by M ↦ (S →ₗ[R] M)
where S
is considered as an R
-module via restriction of
scalars and g : M ⟶ M'
is sent to h ↦ g ∘ h
.
Equations
- category_theory.Module.coextend_scalars f = {obj := category_theory.Module.coextend_scalars.obj' f, map := λ (_x _x_1 : Module R), category_theory.Module.coextend_scalars.map' f, map_id' := _, map_comp' := _}
Instances for category_theory.Module.coextend_scalars
Given R
-module X and S
-module Y, any g : (restrict_of_scalars f).obj Y ⟶ X
corresponds to Y ⟶ (coextend_scalars f).obj X
by sending y ↦ (s ↦ g (s • y))
Given R
-module X and S
-module Y, any g : Y ⟶ (coextend_scalars f).obj X
corresponds to (restrict_scalars f).obj Y ⟶ X
by y ↦ g y 1
The natural transformation from the composition of coextension and restriction of scalars to identity functor.
Equations
- category_theory.Module.restriction_coextension_adj.counit' f = {app := λ (X : Module R), {to_fun := λ (g : ↥((category_theory.Module.coextend_scalars f ⋙ category_theory.Module.restrict_scalars f).obj X)), g.to_fun 1, map_add' := _, map_smul' := _}, naturality' := _}
Restriction of scalars is left adjoint to coextension of scalars.
Equations
- category_theory.Module.restrict_coextend_scalars_adj f = {hom_equiv := λ (X : Module S) (Y : Module R), {to_fun := category_theory.Module.restriction_coextension_adj.hom_equiv.from_restriction f X, inv_fun := category_theory.Module.restriction_coextension_adj.hom_equiv.to_restriction f X, left_inv := _, right_inv := _}, unit := category_theory.Module.restriction_coextension_adj.unit' f, counit := category_theory.Module.restriction_coextension_adj.counit' f, hom_equiv_unit' := _, hom_equiv_counit' := _}
Given R
-module X and S
-module Y and a map g : (extend_scalars f).obj X ⟶ Y
, i.e. S
-linear
map S ⨂ X → Y
, there is a X ⟶ (restrict_scalars f).obj Y
, i.e. R
-linear map X ⟶ Y
by
x ↦ g (1 ⊗ x)
.
Given R
-module X and S
-module Y and a map X ⟶ (restrict_scalars f).obj Y
, i.e R
-linear map
X ⟶ Y
, there is a map (extend_scalars f).obj X ⟶ Y
, i.e S
-linear map S ⨂ X → Y
by
s ⊗ x ↦ s • g x
.
Equations
- category_theory.Module.extend_restrict_scalars_adj.hom_equiv.from_extend_scalars f g = let m1 : module R S := module.comp_hom S f, m2 : module R ↥Y := module.comp_hom ↥Y f in {to_fun := λ (z : ↥((category_theory.Module.extend_scalars f).obj X)), ⇑(tensor_product.lift {to_fun := λ (s : ↥((category_theory.Module.restrict_scalars f).obj (Module.mk S))), {to_fun := λ (x : ↥X), s • ⇑g x, map_add' := _, map_smul' := _}, map_add' := _, map_smul' := _}) z, map_add' := _, map_smul' := _}
Given R
-module X and S
-module Y, S
-linear linear maps (extend_scalars f).obj X ⟶ Y
bijectively correspond to R
-linear maps X ⟶ (restrict_scalars f).obj Y
.
For any S
-module Y, there is a natural R
-linear map from S ⨂ Y
to Y
by
s ⊗ y ↦ s • y
Equations
- category_theory.Module.extend_restrict_scalars_adj.counit.map f = let m1 : module R S := module.comp_hom S f, m2 : module R ↥Y := module.comp_hom ↥Y f in {to_fun := ⇑(tensor_product.lift {to_fun := λ (s : S), {to_fun := λ (y : ↥Y), s • y, map_add' := _, map_smul' := _}, map_add' := _, map_smul' := _}), map_add' := _, map_smul' := _}
Given commutative rings R, S
and a ring hom f : R →+* S
, the extension and restriction of
scalars by f
are adjoint to each other.
Equations
- category_theory.Module.extend_restrict_scalars_adj f = {hom_equiv := λ (_x : Module R) (_x_1 : Module S), category_theory.Module.extend_restrict_scalars_adj.hom_equiv f, unit := category_theory.Module.extend_restrict_scalars_adj.unit f, counit := category_theory.Module.extend_restrict_scalars_adj.counit f, hom_equiv_unit' := _, hom_equiv_counit' := _}