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 bypi.basis s ⟨j, i⟩ j' = linear_map.std_basis 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.basis_fun.
To give a concrete example, linear_map.std_basis R (λ (i : fin 3), R) i 1
gives the ith unit basis vector in R³, and pi.basis_fun R (fin 3) proves
this is a basis over fin 3 → R.
Main definitions #
linear_map.std_basis R M: ifxis a basis vector ofM i, thenlinear_map.std_basis 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.basis_fun R η: the standard basis onR^η, i.e.η → R, given bypi.basis_fun R η i j = if i = j then 1 else 0.matrix.std_basis R n m: the standard basis onmatrix n m R, given bymatrix.std_basis R n m (i, j) i' j' = if (i, j) = (i', j') then 1 else 0.
The standard basis of the product of φ.
Equations
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.basis_fun.
Equations
- pi.basis s = {repr := (linear_equiv.Pi_congr_right (λ (j : η), (s j).repr)).trans (finsupp.sigma_finsupp_lequiv_pi_finsupp R).symm}
The basis on η → R where the ith basis vector is function.update 0 i 1.
Equations
- pi.basis_fun R η = basis.of_equiv_fun (linear_equiv.refl R (η → R))
The standard basis of matrix m n R.
Equations
- matrix.std_basis R m n = (pi.basis (λ (i : m), pi.basis_fun R n)).reindex (equiv.sigma_equiv_prod m n)