Perfect pairings of modules #
A perfect pairing of two (left) modules may be defined either as:
- A bilinear map
M × N → Rsuch that the induced mapsM → Dual R NandN → Dual R Mare both bijective. It follows from this that bothMandNare reflexive modules. - A linear equivalence
N ≃ Dual R Mfor whichMis reflexive. (It then follows thatNis reflexive.)
In this file we provide a PerfectPairing definition corresponding to 1 above, together with logic
to connect 1 and 2.
Main definitions #
A perfect pairing of two (left) modules over a commutative ring.
- bijectiveLeft : Function.Bijective ⇑self.toLin
- bijectiveRight : Function.Bijective ⇑self.toLin.flip
Instances For
Equations
- PerfectPairing.instFunLike = { coe := fun (f : PerfectPairing R M N) => ⇑f.toLin, coe_injective' := ⋯ }
Given a perfect pairing between M and N, we may interchange the roles of M and N.
Equations
- p.flip = { toLin := p.toLin.flip, bijectiveLeft := ⋯, bijectiveRight := ⋯ }
Instances For
The linear equivalence from M to Dual R N induced by a perfect pairing.
Equations
- p.toDualLeft = LinearEquiv.ofBijective p.toLin ⋯
Instances For
The linear equivalence from N to Dual R M induced by a perfect pairing.
Equations
- p.toDualRight = p.flip.toDualLeft
Instances For
A reflexive module has a perfect pairing with its dual.
Equations
- IsReflexive.toPerfectPairingDual = { toLin := LinearMap.id, bijectiveLeft := ⋯, bijectiveRight := ⋯ }
Instances For
For a reflexive module M, an equivalence N ≃ₗ[R] Dual R M naturally yields an equivalence
M ≃ₗ[R] Dual R N. Such equivalences are known as perfect pairings.
Equations
- e.flip = (Module.evalEquiv R M).trans e.dualMap
Instances For
If N is in perfect pairing with M, then it is reflexive.
If M is reflexive then a linear equivalence N ≃ Dual R M is a perfect pairing.
Equations
- e.toPerfectPairing = { toLin := ↑e, bijectiveLeft := ⋯, bijectiveRight := ⋯ }