Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Make an abstract model of a quiver (i.e. a directed multigraph) that forms the basis of an abstract category
ResourceFunction["AbstractQuiver"][ob,arr,eqob,eqarr] makes an abstract quiver using the list of objects ob, the list or association of arrows arr, the list of object equivalences eqob and the list of arrow equivalences eqarr. | |
ResourceFunction["AbstractQuiver"][gr,…] makes an abstract quiver based on the directed graph gr. | |
ResourceFunction["AbstractQuiver"][assoc] makes an abstract quiver using the association of objects, arrows, object equivalences and arrow equivalences assoc. | |
ResourceFunction["AbstractQuiver"][ResourceFunction["AbstractQuiver"][…],eqob,eqarr] makes a new abstract quiver from an old quiver by imposing new object equivalences eqob and new arrow equivalences eqarr. |
"Objects" | list of objects in the abstract quiver |
"ObjectCount" | number of objects in the abstract quiver |
"ArrowAssociation" | association of arrow names/edges in the abstract quiver |
"ArrowNames" | list of names of arrows in the abstract quiver |
"ArrowEdges" | list of directed edges associated to arrows in the abstract quiver |
"ArrowCount" | number of arrows in the abstract quiver |
"ObjectEquivalences" | list of equivalences between objects in the abstract quiver |
"ObjectEquivalenceCount" | number of equivalences between objects in the abstract quiver |
"ArrowEquivalences" | list of equivalences between arrows in the abstract quiver |
"ArrowEquivalenceCount" | number of equivalences between arrows in the abstract quiver |
"ReducedObjects" | list of objects in the abstract quiver modulo the list of object equivalences |
"ReducedObjectCount" | number of objects in the abstract quiver modulo the list of object equivalences |
"ReducedArrowAssociation" | association of arrow names/edges in the abstract quiver modulo the lists of arrow/object equivalences |
"ReducedArrowNames" | list of names of arrows in the abstract quiver modulo the list of arrow equivalences |
"ReducedArrowEdges" | list of directed edges associated to arrows in the abstract quiver modulo the lists of arrow/object equivalences |
"ReducedArrowCount" | number of arrows in the abstract quiver modulo the list of arrow equivalences |
"SimpleArrowAssociation" | association of arrow names/edges in the abstract quiver with self-loops and multiedges removed |
"SimpleArrowNames" | list of names of arrows in the abstract quiver with self-loops and multiedges removed |
"SimpleArrowEdges" | list of directed edges associated to arrows in the abstract quiver with self-loops and multiedges removed |
"SimpleArrowCount" | number of arrows in the abstract quiver with self-loops and multiedges removed |
"ReducedSimpleArrowAssociation" | association of arrow names/edges in the abstract quiver with self-loops and multiedges removed, modulo the lists of arrow/object equivalences |
"ReducedSimpleArrowNames" | list of names of arrows in the abstract quiver with self-loops and multiedges removed, modulo the list of arrow equivalences |
"ReducedSimpleArrowEdges" | list of directed edges associated to arrows in the abstract quiver with self-loops and multiedges removed, modulo the lists of arrow/object equivalences |
"ReducedSimpleArrowCount" | number of arrows in the abstract quiver with self-loops and multiedges removed, modulo the list of arrow equivalences |
"DualQuiver" | dual quiver (i.e. the abstract quiver obtained by swapping the source and target objects of all the arrows) |
"FullLabeledGraph" | directed graph form of the abstract quiver with labels on the arrows |
"FullUnlabeledGraph" | directed graph form of the abstract quiver with no labels on the arrows |
"ReducedLabeledGraph" | directed graph form of the abstract quiver, modulo the lists of arrow/object equivalences, with labels on the arrows |
"ReducedUnlabeledGraph" | directed graph form of the abstract quiver, modulo the lists of arrow/object equivalences, with no labels on the arrows |
"SimpleLabeledGraph" | directed graph form of the abstract quiver, with self-loops and multiedges removed, with labels on the arrows |
"SimpleUnlabeledGraph" | directed graph form of the abstract quiver, with self-loops and multiedges removed, with no labels on the arrows |
"ReducedSimpleLabeledGraph" | directed graph form of the abstract quiver, with self-loops and multiedges removed, modulo the lists of arrow/object equivalences, with labels on the arrows |
"ReducedSimpleUnlabeledGraph" | directed graph form of the abstract quiver, with self-loops and multiedges removed, modulo the lists of arrow/object equivalences, with no labels on the arrows |
"AssociationForm" | abstract quiver represented as an association of objects, arrows, object equivalences and arrow equivalences |
"Properties" | list of properties |
Construct a simple abstract quiver from an association of arrows:
In[1]:= | ![]() |
Out[1]= | ![]() |
Show the full directed graph with labels on the arrows:
In[2]:= | ![]() |
Out[2]= | ![]() |
Show the full directed graph without labels on the arrows:
In[3]:= | ![]() |
Out[3]= | ![]() |
Show the association of arrows:
In[4]:= | ![]() |
Out[4]= | ![]() |
Show the list of directed edges:
In[5]:= | ![]() |
Out[5]= | ![]() |
Show the list of objects:
In[6]:= | ![]() |
Out[6]= | ![]() |
Construct an abstract quiver containing self-loops and multiedges from a list of objects and a list of arrows:
In[7]:= | ![]() |
Out[7]= | ![]() |
Show the full directed graph with labels on the arrows:
In[8]:= | ![]() |
Out[8]= | ![]() |
Show the full labeled graph without labels on the arrows:
In[9]:= | ![]() |
Out[9]= | ![]() |
Show the association of arrows:
In[10]:= | ![]() |
Out[10]= | ![]() |
Show the simple directed graph with all self-loops and multiedges removed and with labels on the arrows:
In[11]:= | ![]() |
Out[11]= | ![]() |
Show the simple directed graph but without labels on the arrows:
In[12]:= | ![]() |
Out[12]= | ![]() |
Show the association of arrows, with all self-loops and multiedges removed:
In[13]:= | ![]() |
Out[13]= | ![]() |
Compute the dual quiver (obtained by swapping the source and target objects of each arrow):
In[14]:= | ![]() |
Out[14]= | ![]() |
In[15]:= | ![]() |
Out[15]= | ![]() |
In[16]:= | ![]() |
Out[16]= | ![]() |
Construct an abstract quiver from an association of arrows, with an equivalence imposed between objects Z and W:
In[17]:= | ![]() |
Out[17]= | ![]() |
Show the full directed graph with labels on the arrows:
In[18]:= | ![]() |
Out[18]= | ![]() |
Show the full directed graph without labels on the arrows:
In[19]:= | ![]() |
Out[19]= | ![]() |
Show the reduced directed graph, with all equivalences between objects and arrows imposed and with labels on the arrows:
In[20]:= | ![]() |
Out[20]= | ![]() |
Show the reduced directed graph without labels on the arrows:
In[21]:= | ![]() |
Out[21]= | ![]() |
Show the association of arrows, with all equivalences between objects and arrows imposed:
In[22]:= | ![]() |
Out[22]= | ![]() |
Construct the same abstract quiver, but with an additional equivalence imposed between arrows g, i and l:
In[23]:= | ![]() |
Out[23]= | ![]() |
Show the reduced directed graph, with all equivalences between objects and arrows imposed and with labels on the arrows:
In[24]:= | ![]() |
Out[24]= | ![]() |
Show the reduced directed graph without labels on the arrows:
In[25]:= | ![]() |
Out[25]= | ![]() |
Show the association of arrows, with all equivalences between objects and arrows imposed:
In[26]:= | ![]() |
Out[26]= | ![]() |
Show the list of equivalences between objects:
In[27]:= | ![]() |
Out[27]= | ![]() |
Show the list of equivalences between arrows:
In[28]:= | ![]() |
Out[28]= | ![]() |
Show the association form of the abstract quiver:
In[29]:= | ![]() |
Out[29]= | ![]() |
Abstract quivers can be constructed directly from directed graph objects (with automatically selected arrow names):
In[30]:= | ![]() |
Out[30]= | ![]() |
In[31]:= | ![]() |
Out[31]= | ![]() |
In[32]:= | ![]() |
Out[32]= | ![]() |
Additional arguments can be used to specify equivalences between objects and arrows:
In[33]:= | ![]() |
Out[33]= | ![]() |
In[34]:= | ![]() |
Out[34]= | ![]() |
Abstract quivers can be constructed from lists of arrows (with automatically selected arrow names):
In[35]:= | ![]() |
Out[35]= | ![]() |
In[36]:= | ![]() |
Out[36]= | ![]() |
From associations of arrows (with explicitly provided arrow names):
In[37]:= | ![]() |
Out[37]= | ![]() |
In[38]:= | ![]() |
Out[38]= | ![]() |
With explicit lists of objects specified:
In[39]:= | ![]() |
Out[39]= | ![]() |
In[40]:= | ![]() |
Out[40]= | ![]() |
Lists of object equivalences and arrow equivalences can be specified for any abstract quiver:
In[41]:= | ![]() |
Out[41]= | ![]() |
In[42]:= | ![]() |
Out[42]= | ![]() |
New object equivalences and arrow equivalences can be added to any existing quiver:
In[43]:= | ![]() |
Out[43]= | ![]() |
In[44]:= | ![]() |
Out[44]= | ![]() |
From an explicit association:
In[45]:= | ![]() |
Out[45]= | ![]() |
In[46]:= | ![]() |
Out[46]= | ![]() |
Construct an abstract quiver from an association of arrows with additional object and arrow equivalences:
In[47]:= | ![]() |
Out[47]= | ![]() |
Show the list of properties:
In[48]:= | ![]() |
Out[48]= | ![]() |
Show the list of objects in the abstract quiver:
In[49]:= | ![]() |
Out[49]= | ![]() |
Show the number of objects in the abstract quiver:
In[50]:= | ![]() |
Out[50]= | ![]() |
Show the association of arrows in the abstract quiver:
In[51]:= | ![]() |
Out[51]= | ![]() |
Show the list of names of arrows in the abstract quiver:
In[52]:= | ![]() |
Out[52]= | ![]() |
Show the list of directed edges corresponding to arrows in the abstract quiver:
In[53]:= | ![]() |
Out[53]= | ![]() |
Show the number of arrows in the abstract quiver:
In[54]:= | ![]() |
Out[54]= | ![]() |
Show the list of equivalences between objects in the abstract quiver:
In[55]:= | ![]() |
Out[55]= | ![]() |
Show the number of equivalences between objects in the abstract quiver:
In[56]:= | ![]() |
Out[56]= | ![]() |
Show the list of equivalences between arrows in the abstract quiver:
In[57]:= | ![]() |
Out[57]= | ![]() |
Show the number of equivalences between arrows in the abstract quiver:
In[58]:= | ![]() |
Out[58]= | ![]() |
Show the list of reduced objects (modded out by all object equivalences) in the abstract quiver:
In[59]:= | ![]() |
Out[59]= | ![]() |
Show the number of reduced objects (modded out by all object equivalences) in the abstract quiver:
In[60]:= | ![]() |
Out[60]= | ![]() |
Show the association of reduced arrows (modded out by all object and arrow equivalences) in the abstract quiver:
In[61]:= | ![]() |
Out[61]= | ![]() |
Show the list of names of reduced arrows (modded out by all arrow equivalences) in the abstract quiver:
In[62]:= | ![]() |
Out[62]= | ![]() |
Show the list of directed edges corresponding to reduced arrows (modded out by all object and arrow equivalences) in the abstract quiver:
In[63]:= | ![]() |
Out[63]= | ![]() |
Show the number of reduced arrows (modded out by all object and arrow equivalences) in the abstract quiver:
In[64]:= | ![]() |
Out[64]= | ![]() |
Show the association of simple arrows (with all self-loops and multiedges removed) in the abstract quiver:
In[65]:= | ![]() |
Out[65]= | ![]() |
Show the list of names of simple arrows (with all self-loops and multiedges removed) in the abstract quiver:
In[66]:= | ![]() |
Out[66]= | ![]() |
Show the list of directed edges corresponding to simple arrows (with all self-loops and multiedges removed) in the abstract quiver:
In[67]:= | ![]() |
Out[67]= | ![]() |
Show the number of simple arrows (with all self-loops and multiedges removed) in the abstract quiver:
In[68]:= | ![]() |
Out[68]= | ![]() |
Show the association of reduced simple arrows (with all self-loops and multiedges removed, plus all object and arrow equivalences modded out) in the abstract quiver:
In[69]:= | ![]() |
Out[69]= | ![]() |
Show the list of names of reduced simple arrows (with all self-loops and multiedges removed, plus all object and arrow equivalences modded out) in the abstract quiver:
In[70]:= | ![]() |
Out[70]= | ![]() |
Show the list of directed edges corresponding to reduced simple arrows (with all self-loops and multiedges removed, plus all object and arrow equivalences modded out) in the abstract quiver:
In[71]:= | ![]() |
Out[71]= | ![]() |
Show the number of reduced simple arrows (with all self-loops and multiedges removed, plus all object and arrow equivalences modded out) in the abstract quiver:
In[72]:= | ![]() |
Out[72]= | ![]() |
Compute the dual quiver (obtained by swapping the source and target objects of each arrow):
In[73]:= | ![]() |
Out[73]= | ![]() |
Show the full directed graph with labels on the arrows of the abstract quiver:
In[74]:= | ![]() |
Out[74]= | ![]() |
Show the full directed graph without labels on the arrows of the abstract quiver:
In[75]:= | ![]() |
Out[75]= | ![]() |
Show the reduced directed graph, with all equivalences between objects and arrows imposed and with labels on the arrows of the abstract quiver:
In[76]:= | ![]() |
Out[76]= | ![]() |
Show the reduced directed graph, with all equivalences between objects and arrows imposed and without labels on the arrows of the abstract quiver:
In[77]:= | ![]() |
Out[77]= | ![]() |
Show the simple directed graph, with all self-loops and multiedges removed and with labels on the arrows of the abstract quiver:
In[78]:= | ![]() |
Out[78]= | ![]() |
Show the simple directed graph, with all self-loops and multiedges removed and without labels on the arrows of the abstract quiver:
In[79]:= | ![]() |
Out[79]= | ![]() |
Show the reduced simple directed graph, with all self-loops and multiedges removed, plus all object and arrow equivalences modded out and with labels on the arrows of the abstract quiver:
In[80]:= | ![]() |
Out[80]= | ![]() |
Show the reduced simple directed graph, with all self-loops and multiedges removed, plus all object and arrow equivalences modded out and without labels on the arrows of the abstract quiver:
In[81]:= | ![]() |
Out[81]= | ![]() |
Show the explicit association form of the quiver:
In[82]:= | ![]() |
Out[82]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License