Contractions #
Given modules $M, N$ over a commutative ring $R$, this file defines the natural linear maps: $M^* \otimes M \to R$, $M \otimes M^* \to R$, and $M^* \otimes N → Hom(M, N)$, as well as proving some basic properties of these maps.
Tags #
contraction, dual module, tensor product
The natural left-handed pairing between a module and its dual.
Equations
- contractLeft R M = AddHom.toFun (TensorProduct.uncurry R (Module.Dual R M) M R).toAddHom LinearMap.id
Instances For
The natural right-handed pairing between a module and its dual.
Equations
- contractRight R M = AddHom.toFun (TensorProduct.uncurry R M (Module.Dual R M) R).toAddHom (LinearMap.flip LinearMap.id)
Instances For
The natural map associating a linear map to the tensor product of two modules.
Equations
- dualTensorHom R M N = let M' := Module.Dual R M; ↑(TensorProduct.uncurry R M' N (M →ₗ[R] N)) LinearMap.smulRightₗ
Instances For
As a matrix, dualTensorHom
evaluated on a basis element of M* ⊗ N
is a matrix with a
single one and zeros elsewhere
If M
is free, the natural linear map $M^* ⊗ N → Hom(M, N)$ is an equivalence. This function
provides this equivalence in return for a basis of M
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If M
is finite free, the natural map $M^* ⊗ N → Hom(M, N)$ is an
equivalence.
Equations
Instances For
When M
is a finite free module, the map lTensorHomToHomLTensor
is an equivalence. Note
that lTensorHomEquivHomLTensor
is not defined directly in terms of
lTensorHomToHomLTensor
, but the equivalence between the two is given by
lTensorHomEquivHomLTensor_toLinearMap
and lTensorHomEquivHomLTensor_apply
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When M
is a finite free module, the map rTensorHomToHomRTensor
is an equivalence. Note
that rTensorHomEquivHomRTensor
is not defined directly in terms of
rTensorHomToHomRTensor
, but the equivalence between the two is given by
rTensorHomEquivHomRTensor_toLinearMap
and rTensorHomEquivHomRTensor_apply
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When M
and N
are free R
modules, the map homTensorHomMap
is an equivalence. Note that
homTensorHomEquiv
is not defined directly in terms of homTensorHomMap
, but the equivalence
between the two is given by homTensorHomEquiv_toLinearMap
and homTensorHomEquiv_apply
.
Equations
- One or more equations did not get rendered due to their size.