Ask Your Question

Drawing Auslander-Reiten quivers with sage possible?

asked 2016-11-18 14:49:43 +0200

Bern gravatar image

updated 2016-11-18 15:50:29 +0200


I'd like to draw an Auslander-Reiten quiver with sage. I tried to do this by viewing the Auslander-Reiten quiver as a digraph, but, unfortunately, I was not able to find out how to let sage draw both dashed and solid arrows in one digraph.

Is this possible? If not, is there another way to let sage draw Auslander-Reiten quivers?

Any help would be appreciated.


I used the following code:

sage: H=DiGraph()

sage: H.add_edges([(2,1),(2,4),(10,4),(1,3),(4,3),(4,11),(11,6),(3,6),(3,5),(5,7),(6,7),(6,12)])

sage: H.add_edges([(7,8),(7,9),(12,9)])

After having typed


a few times I got the following output:


Now, I'd like to draw dahed arrows indicating the Auslander-Reiten translates (e.g. a dashed arrow from 3 to 2).

edit retag flag offensive close merge delete


Please provide the code you used in your attempts so far. It might be a good starting point for someone to help.

slelievre gravatar imageslelievre ( 2016-11-18 14:54:01 +0200 )edit

Thank you very much for your comment. I edited the question.

Bern gravatar imageBern ( 2016-11-18 15:51:08 +0200 )edit

Note that vertices of a graph can also be pairs (i,j), that could be very useful here. You can also choose the positions of the vertices using a dictionary. Read the doc: DiGraph?

FrédéricC gravatar imageFrédéricC ( 2016-11-18 19:33:51 +0200 )edit

@Bern, maybe you can also say how you produce your Auslander-Reiten quiver? And how you use that quiver to choose the edges of your digraph.

slelievre gravatar imageslelievre ( 2016-11-18 20:41:47 +0200 )edit

It seems like the edge_style attribute for graph plots applies to all edges of a graph.

fidbc gravatar imagefidbc ( 2016-11-19 19:13:21 +0200 )edit

1 Answer

Sort by » oldest newest most voted

answered 2016-11-23 22:37:22 +0200

fidbc gravatar image

Following the suggestion from @FrédéricC in the comments.

Here is a bit of code that might help.

def draw_quiver(E1,E2):
    H = DiGraph(E1+E2)
    return P1+P2

Then the following code

solid_edges = [(2,1),(2,4),(10,4),(1,3),(4,3),(4,11),(11,6),(3,6),(3,5),(5,7),(6,7),(6,12)]
dashed_edges = [(7,8),(7,9),(12,9)]

produces the png displayed below.

image description

edit flag offensive delete link more


Thank you very much for your answer (and sorry for my very late reply). It works perfectly fine! :-)

Bern gravatar imageBern ( 2018-01-20 15:18:22 +0200 )edit

You are welcome :-)

fidbc gravatar imagefidbc ( 2018-07-01 02:05:01 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2016-11-18 14:49:43 +0200

Seen: 439 times

Last updated: Nov 23 '16