The dot product on ι → R is a perfect pairing #
Mathlib's dotProductEquiv identifies ι → R, for ι finite, with its own dual under the dot
product. This file records the symmetry and perfectness of this pairing, so that the dot product
may be used directly as the pairing of a RootPairing or a RootDatum on ι → R.
Through the same identification, a linear equivalence f : (ι → R) ≃ₗ[R] (κ → R) has a
contragredient f.dotProductContragredient, the equivalence g with g y ⬝ᵥ f x = y ⬝ᵥ x. In
matrix terms it is the inverse transpose of f. It describes how a linear change of coordinates
acts on orthogonal complements for the dot product, for instance on the dual of a linear code.
Main results #
TauCeti.dotProductBilin_isPerfPair: the dot productdotProductBilin R Ronι → Ris a perfect pairing of that module with itself.TauCeti.isSymm_dotProductBilin: the standard dot-product bilinear form is symmetric.TauCeti.linearIndependent_of_dotProduct_diagonal: a family whose dot products against a second family vanish off the diagonal and are right-regular on it is linearly independent.LinearEquiv.dotProductContragredient: the contragredient of a linear equivalence for the dot product, characterized byLinearEquiv.eq_dotProductContragredient_iff, with matrix computed byLinearEquiv.toMatrix'_dotProductContragredient. Taking contragredients is involutive and compatible with composition and inversion. On invertible square matrices over a commutative ring it isMatrix.GeneralLinearGroup.inverseTranspose; here it acts on linear equivalences between possibly different coordinate spaces over a commutative semiring.
Over a commutative semiring, the dot product on ι → R is a perfect pairing of that module
with itself: it is Mathlib's dotProductEquiv read as a bilinear map.
The standard dot-product bilinear form is symmetric.
A family paired diagonally by a second family is linearly independent. If v i ⬝ᵥ w j
vanishes whenever i ≠ j and right multiplication by v i ⬝ᵥ w i is injective, the v i are
linearly independent. Over a ring without zero divisors, nonzero diagonal entries suffice; in
particular, this applies over ℤ with diagonal 2. The ring may have zero divisors away from
the chosen diagonal entries.
The family index κ is arbitrary — neither finite nor decidable — and unrelated to the coordinate
index ι; the scalars need not commute.
The contragredient of a linear equivalence for the dot product #
The contragredient of a linear equivalence f : (ι → R) ≃ₗ[R] (κ → R) for the dot product:
the linear equivalence g with g y ⬝ᵥ f x = y ⬝ᵥ x for all x and y
(LinearEquiv.eq_dotProductContragredient_iff). It is the dual map of f.symm, read through the
identifications dotProductEquiv of ι → R and κ → R with their duals, and its matrix is the
transpose of the matrix of f.symm (LinearEquiv.toMatrix'_dotProductContragredient).
Equations
- f.dotProductContragredient = (dotProductEquiv R ι).trans (f.symm.dualMap.trans (dotProductEquiv R κ).symm)
Instances For
The contragredient of f is adjoint, for the dot product, to the inverse of f.
A linear equivalence and its contragredient preserve the dot product jointly.
A linear equivalence and its contragredient preserve the dot product jointly, with the contragredient applied on the right.
The contragredient of f is the unique linear equivalence g with g y ⬝ᵥ f x = y ⬝ᵥ x.
The matrix of the contragredient of f is the transpose of the matrix of f.symm.
The contragredient of the identity is the identity.
Taking the contragredient is compatible with composition: the contragredient of f.trans g
is the composite of the contragredients of f and g.
Taking the contragredient is compatible with inversion: the contragredient of f.symm is
the inverse of the contragredient of f.
Taking the contragredient is an involution.