Fix a field k. To each set X, one can define a vector
where ai ∈ k and xi ∈ X.
That clearly maps ever set, to some vector space.
Now to map the morphisms, given a function f : X → Y (where X and Y are sets) , define the linear map
k_f: kX → kY by replacing each xi in a given
linear combination with f(xi).
One checks that this mapping of f to k_f indeed preserves the composition operation of functions.
So mapping every set X to a vector space kX, and every function f to a linear map k_f, we have ourselves a functor.
Now, to compute where a given set S would land under this functor, we need provide the functor the explicit map, but just the field, and the set S.
2. Forgetful Functor: This is the kind of functor that loses (or 'forgets') information about the objects/morphisms. For this too, we just need the object in the domain category, and a flag that somehow depicts to what extent the information has to be forgotten (possible implementation?)
Also, I was wondering if anybody needs to use the Category Theory module for research purposes, etc, they would need all the basic categories implemented and the basic functors amongst them right? For eg, sets, monoids, rings, groups, algebras etc? So should these be implemented separately in the category theory module or integrated with wherever else in the code these may have been implemented?
Thanks and regards,
Vatsal.