(Co)limit computations for diagrams of Vector Spaces

Fix a field $K$ and consider a finite directed graph $\Gamma$ where multiple edges between a pair of vertices are allowed so long as the total number of edges is finite. Associate to each vertex $v$ a finite-dimensional $K$-vector space $K_v$, and to each edge $(u,v)$ a linear map $f_{uv}:K_u \to K_v$. There is no commutativity requirement on the composition along different paths between the same two vertices. Those familiar with representation theory will immediately recognize this as a (nice and finite) quiver representation.

Now, $\Gamma$ may also be interpreted as a finite diagram in the category of vector spaces with linear maps as morphisms and as such, it has a (co)limit. Here is my question:

Is there software which takes such a finite quiver representation $\Gamma$ as input and computes a basis for $\lim(\Gamma)$ as a vector space along with all the matrices $\lim(\Gamma) \to K_v$ expressed in that basis for each vertex $v$ of $\Gamma$? And similarly, is there software to compute a basis for $\text{colim}(\Gamma)$ along with the matrices $v \to \text{colim}(\Gamma)$?

In principle everything is finite-dimensional linear algebra: the computations should be tractable and I'm hoping someone has written and tested this already. The types of $\Gamma$s that I'm be most interested in are zig-zags, $$\Gamma = v_1 \leftarrow v_2 \to v_3 \leftarrow v_4 \to \cdots \leftarrow v_n$$ and also "claw graphs" consisting of a distinguished vertex $u$, other vertices $v_1,\ldots,v_n$ and a single edge $(u,v_k)$ for each $1 \leq k \leq n$.

• since you are dealing with quivers with no relations, wouldn't you get the direct sum over all the vertices, quotiented by the images of all the morphisms? For example, for a claw with three arrows you'd get the fibred sum on three terms. Maybe this is wrong, or maybe you've already figured it out but want a more concrete description of a basis. – Jacob Bell Mar 14 '13 at 17:18
• Jacob, I'd like the concrete description and the incoming maps expressed as matrices which respect the colimit's basis. I can compute all of this by hand and therefore probably code it, but computing limits and colimits in vect is such a basic operation that I was hoping someone else had already done it a decade ago. – Vidit Nanda Mar 14 '13 at 17:22
• In principle, this can be done as follows: Every colimit is built up out of coproducts and cokernels. For your quivers, induct on the size. Bases of coproducts are easy. As for cokernels, one has to find a basis of the image, using Gaussian elimination for example, and then extend this basis to the whole space. The added vectors give a basis for the cokernel. I also wonder if anyone has implemented this yet ... – Martin Brandenburg Mar 14 '13 at 17:57