The category of finite dimensional vector spaces #
This introduces FinVect K
, the category of finite dimensional vector spaces on a field K
.
It is implemented as a full subcategory on a subtype of Module K
.
We first create the instance as a category, then as a monoidal category and then as a rigid monoidal
category.
Future work #
- Show that
FinVect K
is a symmetric monoidal category.
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]
Equations
- FinVect.inhabited K = {default := ⟨Module.of K K semiring.to_module, _⟩}
The dual module is the dual in the rigid monoidal category FinVect K
.
Equations
- FinVect.FinVect_dual K V = ⟨Module.of K (module.dual K ↥V) (module.dual.module K ↥V), _⟩
@[protected, instance]
def
FinVect.FinVect_dual.has_coe_to_fun
(K : Type u)
[field K]
(V : FinVect K) :
has_coe_to_fun ↥(FinVect.FinVect_dual K V) (λ (_x : ↥(FinVect.FinVect_dual K V)), ↥V → K)
noncomputable
def
FinVect.FinVect_coevaluation
(K : Type u)
[field K]
(V : FinVect K) :
𝟙_ (FinVect K) ⟶ V ⊗ FinVect.FinVect_dual K V
The coevaluation map is defined in linear_algebra.coevaluation
.
Equations
theorem
FinVect.FinVect_coevaluation_apply_one
(K : Type u)
[field K]
(V : FinVect K) :
⇑(FinVect.FinVect_coevaluation K V) 1 = ∑ (i : ↥(basis.of_vector_space_index K ↥V)), ⇑(basis.of_vector_space K ↥V) i ⊗ₜ[K] (basis.of_vector_space K ↥V).coord i
def
FinVect.FinVect_evaluation
(K : Type u)
[field K]
(V : FinVect K) :
FinVect.FinVect_dual K V ⊗ V ⟶ 𝟙_ (FinVect K)
The evaluation morphism is given by the contraction map.
Equations
@[simp]
theorem
FinVect.FinVect_evaluation_apply
(K : Type u)
[field K]
(V : FinVect K)
(f : ↥(FinVect.FinVect_dual K V))
(x : ↥V) :
@[protected, instance]
Equations
- FinVect.exact_pairing K V = {coevaluation := FinVect.FinVect_coevaluation K V, evaluation := FinVect.FinVect_evaluation K V, coevaluation_evaluation' := _, evaluation_coevaluation' := _}
@[protected, instance]
Equations
@[protected, instance]