Actually I just realized I should probably clarify how it lifts functions to linear transformations too, because it doesn’t do so in the obvious way. If F is the free vector space functor and f:X→Y is a function, then F(f):F(X)→F(Y) is given by F(f)(y)=∑x∈f−1({y})f(x). (One way of understanding why the functions X→R must have finite support is in ensuring that this sum is well-defined. Though there are alternatives to requiring finite support, as long as one is willing to embed a more structured category than Set into a more structured category than Vect.)
It may be more intuitive to see the free vector space over X as containing formal sums c0x0+⋯+cnxn for xi∈X and ci∈R. The downside to this is that it requires a bunch of quotients, e.g. to ensure commutativity, associativity, distributivity, etc..
Actually I just realized I should probably clarify how it lifts functions to linear transformations too, because it doesn’t do so in the obvious way. If F is the free vector space functor and f:X→Y is a function, then F(f):F(X)→F(Y) is given by F(f)(y)=∑x∈f−1({y})f(x). (One way of understanding why the functions X→R must have finite support is in ensuring that this sum is well-defined. Though there are alternatives to requiring finite support, as long as one is willing to embed a more structured category than Set into a more structured category than Vect.)
It may be more intuitive to see the free vector space over X as containing formal sums c0x0+⋯+cnxn for xi∈X and ci∈R. The downside to this is that it requires a bunch of quotients, e.g. to ensure commutativity, associativity, distributivity, etc..