Ask Your Question
1

Drawing Auslander-Reiten quivers with sage possible?

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

Bern gravatar image

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

Hi,

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.

Edit:

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

sage: H.show()

a few times I got the following output:

pic1

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

Comments

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 +0100 )edit

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

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

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 +0100 )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 +0100 )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 +0100 )edit

1 Answer

Sort by » oldest newest most voted
2

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

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)
    H.layout('spring',save_pos=True)
    H1=DiGraph(solid_edges)
    P1=H1.plot(pos=H.get_pos())
    H2=DiGraph(dashed_edges)
    P2=H2.plot(pos=H.get_pos(),edge_colors={'red':dashed_edges},edge_style='--')
    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)]
draw_quiver(solid_edges,dashed_edges).show(axes=False)

produces the png displayed below.

image description

edit flag offensive delete link more

Comments

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 +0100 )edit

You are welcome :-)

fidbc gravatar imagefidbc ( 2018-07-01 02:05:01 +0100 )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

Stats

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

Seen: 551 times

Last updated: Nov 23 '16