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' = 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 i
th 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
: ifx
is a basis vector ofM i
, thenlinear_map.std_basis 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.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.
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 i
th 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)