mathlib documentation

linear_algebra.finsupp_vector_space

Linear structures on function with finite support ι →₀ M #

This file contains results on the R-module structure on functions of finite support from a type ι to an R-module M, in particular in the case that R is a field.

Furthermore, it contains some facts about isomorphisms of vector spaces from equality of dimension as well as the cardinality of finite dimensional vector spaces.

TODO #

Move the second half of this file to more appropriate other files.

theorem finsupp.linear_independent_single {R : Type u_1} {M : Type u_2} {ι : Type u_3} [ring R] [add_comm_group M] [module R M] {φ : ι → Type u_4} {f : Π (ι : ι), φ ι → M} (hf : ∀ (i : ι), linear_independent R (f i)) :
linear_independent R (λ (ix : Σ (i : ι), φ i), finsupp.single ix.fst (f ix.fst ix.snd))
@[protected]
noncomputable def finsupp.basis {R : Type u_1} {M : Type u_2} {ι : Type u_3} [ring R] [add_comm_group M] [module R M] {φ : ι → Type u_4} (b : Π (i : ι), basis (φ i) R M) :
basis (Σ (i : ι), φ i) R →₀ M)

The basis on ι →₀ M with basis vectors λ ⟨i, x⟩, single i (b i x).

Equations
@[simp]
theorem finsupp.basis_repr {R : Type u_1} {M : Type u_2} {ι : Type u_3} [ring R] [add_comm_group M] [module R M] {φ : ι → Type u_4} (b : Π (i : ι), basis (φ i) R M) (g : ι →₀ M) (ix : Σ (i : ι), φ i) :
(((finsupp.basis b).repr) g) ix = (((b ix.fst).repr) (g ix.fst)) ix.snd
@[simp]
theorem finsupp.coe_basis {R : Type u_1} {M : Type u_2} {ι : Type u_3} [ring R] [add_comm_group M] [module R M] {φ : ι → Type u_4} (b : Π (i : ι), basis (φ i) R M) :
(finsupp.basis b) = λ (ix : Σ (i : ι), φ i), finsupp.single ix.fst ((b ix.fst) ix.snd)
@[protected]
noncomputable def finsupp.basis_single_one {R : Type u_1} {ι : Type u_3} [ring R] :
basis ι R →₀ R)

The basis on ι →₀ M with basis vectors λ i, single i 1.

Equations
@[simp]
theorem finsupp.basis_single_one_repr {R : Type u_1} {ι : Type u_3} [ring R] :
@[simp]
theorem finsupp.coe_basis_single_one {R : Type u_1} {ι : Type u_3} [ring R] :
theorem finsupp.dim_eq {K : Type u} {V ι : Type v} [field K] [add_comm_group V] [module K V] :
module.rank K →₀ V) = (# ι) * module.rank K V
theorem equiv_of_dim_eq_lift_dim {K : Type u} {V : Type v} {V' : Type w} [field K] [add_comm_group V] [module K V] [add_comm_group V'] [module K V'] (h : (module.rank K V).lift = (module.rank K V').lift) :
noncomputable def equiv_of_dim_eq_dim {K : Type u} {V₁ V₂ : Type v} [field K] [add_comm_group V₁] [module K V₁] [add_comm_group V₂] [module K V₂] (h : module.rank K V₁ = module.rank K V₂) :
V₁ ≃ₗ[K] V₂

Two K-vector spaces are equivalent if their dimension is the same.

Equations
noncomputable def fin_dim_vectorspace_equiv {K : Type u} {V : Type v} [field K] [add_comm_group V] [module K V] (n : ) (hn : module.rank K V = n) :
V ≃ₗ[K] fin n → K

An n-dimensional K-vector space is equivalent to fin n → K.

Equations