The characteristic predicate of tensor product #
Main definitions #
IsTensorProduct
: A predicate onf : M₁ →ₗ[R] M₂ →ₗ[R] M
expressing thatf
realizesM
as the tensor product ofM₁ ⊗[R] M₂
. This is defined by requiring the liftM₁ ⊗[R] M₂ → M
to be bijective.IsBaseChange
: A predicate on anR
-algebraS
and a mapf : M →ₗ[R] N
withN
being anS
-module, expressing thatf
realizesN
as the base change ofM
alongR → S
.Algebra.IsPushout
: A predicate on the following diagram of scalar towers
asserting that is a pushout diagram (i.e.R → S ↓ ↓ R' → S'
S' = S ⊗[R] R'
)
Main results #
TensorProduct.isBaseChange
:S ⊗[R] M
is the base change ofM
alongR → S
.
Given a bilinear map f : M₁ →ₗ[R] M₂ →ₗ[R] M
, IsTensorProduct f
means that
M
is the tensor product of M₁
and M₂
via f
.
This is defined by requiring the lift M₁ ⊗[R] M₂ → M
to be bijective.
Equations
Instances For
If M
is the tensor product of M₁
and M₂
, it is linearly equivalent to M₁ ⊗[R] M₂
.
Equations
- h.equiv = LinearEquiv.ofBijective (TensorProduct.lift f) h
Instances For
If M
is the tensor product of M₁
and M₂
, we may lift a bilinear map M₁ →ₗ[R] M₂ →ₗ[R] M'
to a M →ₗ[R] M'
.
Equations
- h.lift f' = TensorProduct.lift f' ∘ₗ ↑h.equiv.symm
Instances For
The tensor product of a pair of linear maps between modules.
Equations
- hf.map hg i₁ i₂ = ↑hg.equiv ∘ₗ TensorProduct.map i₁ i₂ ∘ₗ ↑hf.equiv.symm
Instances For
Given an R
-algebra S
and an R
-module M
, an S
-module N
together with a map
f : M →ₗ[R] N
is the base change of M
to S
if the map S × M → N, (s, m) ↦ s • f m
is the
tensor product.
Equations
- IsBaseChange S f = IsTensorProduct (↑R ((Algebra.linearMap S (Module.End S (M →ₗ[R] N))).flip f))
Instances For
Suppose f : M →ₗ[R] N
is the base change of M
along R → S
. Then any R
-linear map from
M
to an S
-module factors through f
.
Equations
- h.lift g = { toAddHom := (IsTensorProduct.lift h (↑R ((Algebra.linearMap S (Module.End S (M →ₗ[R] Q))).flip g))).toAddHom, map_smul' := ⋯ }
Instances For
The base change of M
along R → S
is linearly equivalent to S ⊗[R] M
.
Equations
- h.equiv = { toAddHom := (↑(IsTensorProduct.equiv h)).toAddHom, map_smul' := ⋯, invFun := (IsTensorProduct.equiv h).invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
If N
is the base change of M
to A
, then N ⊗[R] P
is the base change
of M ⊗[R] P
to A
. This is simply the isomorphism
A ⊗[S] (M ⊗[R] P) ≃ₗ[A] (A ⊗[S] M) ⊗[R] P
.
If N
is the base change of M
to S
and O
the base change of M
to T
, then
O
is the base change of N
to T
.
If N
is the base change M
to S
, then O
is the base change of M
to T
if and
only if O
is the base change of N
to T
.
A type-class stating that the following diagram of scalar towers
R → S
↓ ↓
R' → S'
is a pushout diagram (i.e. S' = S ⊗[R] R'
)
- out : IsBaseChange S (IsScalarTower.toAlgHom R R' S').toLinearMap
Instances
If S' = S ⊗[R] R'
, then any pair of R
-algebra homomorphisms f : S → A
and g : R' → A
such that f x
and g y
commutes for all x, y
descends to a (unique) homomorphism S' → A
.
Equations
- Algebra.pushoutDesc S' f g hf = AlgHom.ofLinearMap (↑R (⋯.lift g.toLinearMap)) ⋯ ⋯
Instances For
Let the following be a commutative diagram of rings
R → S → T
↓ ↓ ↓
R' → S' → T'
where the left-hand square is a pushout. Then the following are equivalent:
- the big rectangle is a pushout.
- the right-hand square is a pushout.
Note that this is essentially the isomorphism T ⊗[S] (S ⊗[R] R') ≃ₐ[T] T ⊗[R] R'
.