Perfect pairings #
This file defines 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 definition IsPerfPair corresponding to 1 above, together with logic
to connect 1 and 2.
For a ring R and two modules M and N, a perfect pairing is a bilinear map M × N → R
that is bijective in both arguments.
- bijective_left : Function.Bijective ⇑p
- bijective_right : Function.Bijective ⇑p.flip
Instances
Given a perfect pairing between M and N, we may interchange the roles of M and N.
Given a perfect pairing between M and N, we may interchange the roles of M and N.
Turn a perfect pairing between M and N into an isomorphism between M and the dual of N.
Equations
- p.toPerfPair = LinearEquiv.ofBijective { toFun := p.1.toFun, map_add' := ⋯, map_smul' := ⋯ } ⋯
Instances For
A reflexive module has a perfect pairing with its dual.
A reflexive module has a perfect pairing with its dual.
If the coefficients are a field, and one of the spaces is finite-dimensional, it is sufficient to check only injectivity instead of bijectivity of the bilinear pairing.
If the coefficients are a field, and one of the spaces is finite-dimensional, it is sufficient to check only injectivity instead of bijectivity of the bilinear pairing.
Given a perfect pairing p between M and N, we say a pair of submodules U in M and
V in N are perfectly complementary w.r.t. p if their dual annihilators are complementary,
using p to identify M and N with dual spaces.
- isCompl_left : IsCompl U (Submodule.map (↑p.toPerfPair.symm) V.dualAnnihilator)
- isCompl_right : IsCompl V (Submodule.map (↑p.flip.toPerfPair.symm) U.dualAnnihilator)
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.