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' = LinearMap.stdBasis R M 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, LinearMap.stdBasis R (fun (i : Fin 3) ↦ R) i 1
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 #
LinearMap.stdBasis R M
: ifx
is a basis vector ofM i
, thenLinearMap.stdBasis R M i x
is thei
th standard basis vector ofΠ i, M i
.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 = 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
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.trans (LinearEquiv.piCongrRight fun (j : η) => (s j).repr) (LinearEquiv.symm (Finsupp.sigmaFinsuppLEquivPiFinsupp R)) }
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 = Basis.constr (Pi.basisFun R ι) R
Instances For
The standard basis of Matrix m n R
.
Equations
- Matrix.stdBasis R m n = Basis.reindex (Pi.basis fun (x : m) => Pi.basisFun R n) (Equiv.sigmaEquivProd m n)