The characteristic predicate of tensor product #
Main definitions #
- IsTensorProduct: A predicate on- f : M₁ →ₗ[R] M₂ →ₗ[R] Mexpressing that- frealizes- Mas the tensor product of- M₁ ⊗[R] M₂. This is defined by requiring the lift- M₁ ⊗[R] M₂ → Mto be bijective.
- IsBaseChange: A predicate on an- R-algebra- Sand a map- f : M →ₗ[R] Nwith- Nbeing an- S-module, expressing that- frealizes- Nas the base change of- Malong- R → 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] Mis the base change of- Malong- R → 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
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'.
Instances For
The tensor product of a pair of linear maps between modules.
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.
Let R be a commutative ring, S be an R-algebra, M be an R-module, P be an S
module, N be the base change of M to S, then P ⊗[S] N is isomorphic to P ⊗[R] M
as S-modules.
Equations
- hf.tensorEquiv P = (LinearEquiv.lTensor P hf.equiv.symm).trans (TensorProduct.AlgebraTensorModule.cancelBaseChange R S S P M)
Instances For
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
The isomorphism S' ≃ S ⊗[R] R given Algebra.IsPushout R S R' S'.
Equations
Instances For
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 = (Algebra.TensorProduct.lift f g hf).comp (AlgHom.restrictScalars R ↑(Algebra.IsPushout.equiv R S R' S').symm)
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'.
(Implementation) If B = S ⊗[R] A, this is the canonical R-isomorphism:
B ⊗[A] M ≃ₗ[S] S ⊗[R] M. See IsPushout.cancelBaseChange for the S-linear version.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If B = S ⊗[R] A, this is the canonical S-isomorphism: B ⊗[A] M ≃ₗ[S] S ⊗[R] M.
This is the cancelling on the left version of
TensorProduct.AlgebraTensorModule.cancelBaseChange.
Equations
- Algebra.IsPushout.cancelBaseChange R S A B M = ((↑(Algebra.IsPushout.cancelBaseChangeAux R S A B M).symm).toLinearEquiv ⋯).symm