The standard basis #
This file defines the standard basis Pi.basis (s : ∀ j, Basis (ι j) R (M j))
,
which is the Σ j, ι j
-indexed basis of Π j, M j
. The basis vectors are given by
Pi.basis s ⟨j, i⟩ j' = Pi.single j' (s j) i = if j = j' then s i else 0
.
The standard basis on R^η
, i.e. η → R
is called Pi.basisFun
.
To give a concrete example, Pi.single (i : Fin 3) (1 : R)
gives the i
th unit basis vector in R³
, and Pi.basisFun R (Fin 3)
proves
this is a basis over Fin 3 → R
.
Main definitions #
Pi.basis s
: given a basiss i
for eachM i
, the standard basis onΠ i, M i
Pi.basisFun R η
: the standard basis onR^η
, i.e.η → R
, given byPi.basisFun R η i j = Pi.single i 1 j = if i = j then 1 else 0
.Matrix.stdBasis R n m
: the standard basis onMatrix n m R
, given byMatrix.stdBasis R n m (i, j) i' j' = if (i, j) = (i', j') then 1 else 0
.
The standard basis of the product of φ
.
Equations
- LinearMap.stdBasis R φ = LinearMap.single R φ
Instances For
Pi.basis (s : ∀ j, Basis (ιs j) R (Ms j))
is the Σ j, ιs j
-indexed basis on Π j, Ms j
given by s j
on each component.
For the standard basis over R
on the finite-dimensional space η → R
see Pi.basisFun
.
Equations
- Pi.basis s = { repr := (LinearEquiv.piCongrRight fun (j : η) => (s j).repr) ≪≫ₗ (Finsupp.sigmaFinsuppLEquivPiFinsupp R).symm }
Instances For
The basis on η → R
where the i
th basis vector is Function.update 0 i 1
.
Equations
- Pi.basisFun R η = Basis.ofEquivFun (LinearEquiv.refl R (η → R))
Instances For
The natural linear equivalence: Mⁱ ≃ Hom(Rⁱ, M)
for an R
-module M
.
Equations
- Module.piEquiv ι R M = (Pi.basisFun R ι).constr R
Instances For
The standard basis of Matrix m n R
.
Equations
- Matrix.stdBasis R m n = ((Pi.basis fun (x : m) => Pi.basisFun R n).reindex (Equiv.sigmaEquivProd m n)).map (Matrix.ofLinearEquiv R)