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 (λ (i : Fin 3), R) i 1
gives the ith 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: ifxis a basis vector ofM i, thenLinearMap.stdBasis R M i xis theith standard basis vector ofΠ i, M i.Pi.basis s: given a basiss ifor eachM i, the standard basis onΠ i, M iPi.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 ith 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)