Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Obtaining incidence algebras for GAP via Sage

Gap (via its package QPA) can obtain the incidence algebras of a given connected poset P as a quiver algebra KQ/I (note that any incidence algebra is isomorphic to the quiver algebra where Q is the Hasse quiver and the relations I are generated by all commutativity relations w1-w2 where w1 and w2 start and end at the same points). However, sadly GAP is very slow with this and obtaining the quiver algebra for a poset with 40 or more points can take days or even weeks. I wonder whether there is a way to use SAGE to obtain two lists of quiver and relations from a given poset and then use those lists to input them in GAP to directly obtain the quiver algebra in GAP (so that GAP has to do no computations for the relations, which seems to be the main problem although Im not really sure why it takes so long).

Solving this problem would be very important to deal with large posets in GAP.

Here is an example, namely the strong Bruhat order of the symmetric group S_3 with quiver and relations. First here it is in Sage:

Y = posets.SymmetricGroupBruhatOrderPoset(3)
display(Y)

Now quiver and relations for GAP should look as follows:

Quiver( ["x123","x132","x213","x231","x312","x321"], [["x123","x132","x123_x132"],["x123","x213","x123_x213"],
["x132","x231","x132_x231"],["x132","x312","x132_x312"],["x213","x231","x213_x231"],["x213","x312","x213_x312"],
["x231","x321","x231_x321"],["x312","x321","x312_x321"]] )
[ x123_x132*x132_x231-x123_x213*x213_x231, 
x123_x132*x132_x312-x123_x213*x213_x312,
x132_x231*x231_x321-x132_x312*x312_x321,
x213_x231*x231_x321-x213_x312*x312_x321 ]

Here the first entry is the quiver specified by the points

["x123","x132","x213","x231","x312","x321"]

and by the arrows

[["x123","x132","x123_x132"],["x123","x213","x123_x213"],["x132","x231","x132_x231"],["x132","x312","x132_x312"],
["x213","x231","x213_x231"],["x213","x312","x213_x312"],["x231","x321","x231_x321"],["x312","x321","x312_x321"]]

that specify the Hasse diagram of the poset. Here we see that a point is called for example x132 , so we put an x before each name of the point (here the point is named 132 in Sage).

An arrow is named for example x132'_'x312 and the list entry ["x132","x312","x132_x312"] specifies that the arrow x132_x312 starts at the point x132 and ends at the point x312.

The relations are then of the form for example x123_x132x132_x231-x123_x213x213_x231. Note that we do not need really all relations of the form w1-w2 in general as some of those relations might be implied by some other. So to make things faster it might be a good idea to find "minimal" relations, but I am not quite sure how to do that.

As a test, it would be interesting if one can make things fast enough to obtain for example the strong Bruhat order of S_5 (which has 120 points) as a quiver algebra in GAP within 2 or 3 hours. At the moment this takes more than a month with GAP.

Obtaining incidence algebras for GAP via Sage

Gap (via its package QPA) can obtain the incidence algebras of a given connected poset P as a quiver algebra KQ/I (note that any incidence algebra is isomorphic to the quiver algebra where Q is the Hasse quiver and the relations I are generated by all commutativity relations w1-w2 where the paths w1 and w2 start and end at the same points). However, sadly GAP is very slow with this and obtaining the quiver algebra for a poset with 40 or more points can take days or even weeks. I wonder whether there is a way to use SAGE to obtain two lists of quiver and relations from a given poset and then use those lists to input them in GAP to directly obtain the quiver algebra in GAP (so that GAP has to do no computations for the relations, which seems to be the main problem although Im not really sure why it takes so long).

Solving this problem would be very important to deal with large posets in GAP.

Here is an example, namely the strong Bruhat order of the symmetric group S_3 with quiver and relations. First here it is in Sage:

Y = posets.SymmetricGroupBruhatOrderPoset(3)
display(Y)

Now quiver and relations for GAP should look as follows:

Quiver( ["x123","x132","x213","x231","x312","x321"], [["x123","x132","x123_x132"],["x123","x213","x123_x213"],
["x132","x231","x132_x231"],["x132","x312","x132_x312"],["x213","x231","x213_x231"],["x213","x312","x213_x312"],
["x231","x321","x231_x321"],["x312","x321","x312_x321"]] )
[ x123_x132*x132_x231-x123_x213*x213_x231, 
x123_x132*x132_x312-x123_x213*x213_x312,
x132_x231*x231_x321-x132_x312*x312_x321,
x213_x231*x231_x321-x213_x312*x312_x321 ]

Here the first entry is the quiver specified by the points

["x123","x132","x213","x231","x312","x321"]

and by the arrows

[["x123","x132","x123_x132"],["x123","x213","x123_x213"],["x132","x231","x132_x231"],["x132","x312","x132_x312"],
["x213","x231","x213_x231"],["x213","x312","x213_x312"],["x231","x321","x231_x321"],["x312","x321","x312_x321"]]

that specify the Hasse diagram of the poset. Here we see that a point is called for example x132 , so we put an x before each name of the point (here the point is named 132 in Sage).

An arrow is named for example x132'_'x312 and the list entry ["x132","x312","x132_x312"] specifies that the arrow x132_x312 starts at the point x132 and ends at the point x312.

The relations are then of the form for example x123_x132x132_x231-x123_x213x213_x231. Note that we do not need really all relations of the form w1-w2 in general as some of those relations might be implied by some other. So to make things faster it might be a good idea to find "minimal" relations, but I am not quite sure how to do that.

As a test, it would be interesting if one can make things fast enough to obtain for example the strong Bruhat order of S_5 (which has 120 points) as a quiver algebra in GAP within 2 or 3 hours. At the moment this takes more than a month with GAP.

Obtaining incidence algebras for GAP via Sage

Gap (via its package QPA) can obtain the incidence algebras of a given connected poset P as a quiver algebra KQ/I (note that any incidence algebra is isomorphic to the quiver algebra where Q is the Hasse quiver and the relations I are generated by all commutativity relations w1-w2 where the paths w1 and w2 start and end at the same points). However, sadly GAP is very slow with this and obtaining the quiver algebra for a poset with 40 or more points can take days or even weeks. I wonder whether there is a way to use SAGE to obtain two lists of quiver and relations from a given poset and then use those lists to input them in GAP to directly obtain the quiver algebra in GAP (so that GAP has to do no computations for the relations, which seems to be the main problem although Im not really sure why it takes so long).

Solving this problem would be very important to deal with large posets in GAP. GAP (and one really needs the incidence algebra as a quiver algebra in QPA to do homological algebra with it as Sage has no such functions).

Here is an example, namely the strong Bruhat order of the symmetric group S_3 with quiver and relations. First here it is in Sage:

Y = posets.SymmetricGroupBruhatOrderPoset(3)
display(Y)

Now quiver and relations for GAP should look as follows:

Quiver( ["x123","x132","x213","x231","x312","x321"], [["x123","x132","x123_x132"],["x123","x213","x123_x213"],
["x132","x231","x132_x231"],["x132","x312","x132_x312"],["x213","x231","x213_x231"],["x213","x312","x213_x312"],
["x231","x321","x231_x321"],["x312","x321","x312_x321"]] )
[ x123_x132*x132_x231-x123_x213*x213_x231, 
x123_x132*x132_x312-x123_x213*x213_x312,
x132_x231*x231_x321-x132_x312*x312_x321,
x213_x231*x231_x321-x213_x312*x312_x321 ]

Here the first entry is the quiver specified by the points

["x123","x132","x213","x231","x312","x321"]

and by the arrows

[["x123","x132","x123_x132"],["x123","x213","x123_x213"],["x132","x231","x132_x231"],["x132","x312","x132_x312"],
["x213","x231","x213_x231"],["x213","x312","x213_x312"],["x231","x321","x231_x321"],["x312","x321","x312_x321"]]

that specify the Hasse diagram of the poset. Here we see that a point is called for example x132 , so we put an x before each name of the point (here the point is named 132 in Sage).

An arrow is named for example x132'_'x312 and the list entry ["x132","x312","x132_x312"] specifies that the arrow x132_x312 starts at the point x132 and ends at the point x312.

The relations are then of the form for example x123_x132x132_x231-x123_x213x213_x231. Note that we do not need really all relations of the form w1-w2 in general as some of those relations might be implied by some other. So to make things faster it might be a good idea to find "minimal" relations, but I am not quite sure how to do that.

As a test, it would be interesting if one can make things fast enough to obtain for example the strong Bruhat order of S_5 (which has 120 points) as a quiver algebra in GAP within 2 or 3 hours. At the moment this takes more than a month with GAP.

Obtaining incidence algebras for GAP via Sage

Gap (via its package QPA) can obtain the incidence algebras of a given connected poset P as a quiver algebra KQ/I (note that any incidence algebra is isomorphic to the quiver algebra where Q is the Hasse quiver and the relations I are generated by all commutativity relations w1-w2 where the paths w1 and w2 start and end at the same points). However, sadly GAP is very slow with this and obtaining the quiver algebra for a poset with 40 or more points can take days or even weeks. I wonder whether there is a way to use SAGE to obtain two lists of quiver and relations from a given poset and then use those lists to input them in GAP to directly obtain the quiver algebra in GAP (so that GAP has to do no computations for the relations, which seems to be the main problem although Im not really sure why it takes so long).

Solving this problem would be very important to deal with large posets in GAP (and one really needs the incidence algebra as a quiver algebra in QPA to do homological algebra with it as Sage has no such functions).

Here is an example, namely the strong Bruhat order of the symmetric group S_3 with quiver and relations. First here it is in Sage:

Y = posets.SymmetricGroupBruhatOrderPoset(3)
display(Y)

Now quiver and relations for GAP should look as follows:

Quiver( ["x123","x132","x213","x231","x312","x321"], [["x123","x132","x123_x132"],["x123","x213","x123_x213"],
["x132","x231","x132_x231"],["x132","x312","x132_x312"],["x213","x231","x213_x231"],["x213","x312","x213_x312"],
["x132","x231","x132_x231"],["x132","x312","x132_x312"],["x213","x231","x213_x231"],
["x213","x312","x213_x312"],
["x231","x321","x231_x321"],["x312","x321","x312_x321"]] )
 [ x123_x132*x132_x231-x123_x213*x213_x231, 
x123_x132*x132_x312-x123_x213*x213_x312,
x132_x231*x231_x321-x132_x312*x312_x321,
x213_x231*x231_x321-x213_x312*x312_x321 ]

Here the first entry is the quiver specified by the points

["x123","x132","x213","x231","x312","x321"]

and by the arrows

[["x123","x132","x123_x132"],["x123","x213","x123_x213"],["x132","x231","x132_x231"],["x132","x312","x132_x312"],
["x213","x231","x213_x231"],["x213","x312","x213_x312"],["x231","x321","x231_x321"],["x312","x321","x312_x321"]]

that specify the Hasse diagram of the poset. Here we see that a point is called for example x132 , so we put an x before each name of the point (here the point is named 132 in Sage).

An arrow is named for example x132'_'x312 and the list entry ["x132","x312","x132_x312"] specifies that the arrow x132_x312 starts at the point x132 and ends at the point x312.

The relations are then of the form for example x123_x132x132_x231-x123_x213x213_x231. Note that we do not need really all relations of the form w1-w2 in general as some of those relations might be implied by some other. So to make things faster it might be a good idea to find "minimal" relations, but I am not quite sure how to do that.

As a test, it would be interesting if one can make things fast enough to obtain for example the strong Bruhat order of S_5 (which has 120 points) as a quiver algebra in GAP within 2 or 3 hours. At the moment this takes more than a month with GAP.

Obtaining incidence algebras for GAP via Sage

Gap (via its package QPA) can obtain the incidence algebras of a given connected poset P as a quiver algebra KQ/I (note that any incidence algebra is isomorphic to the quiver algebra where Q is the Hasse quiver and the relations I are generated by all commutativity relations w1-w2 where the paths w1 and w2 start and end at the same points). However, sadly GAP is very slow with this and obtaining the quiver algebra for a poset with 40 or more points can take days or even weeks. I wonder whether there is a way to use SAGE to obtain two lists of quiver and relations from a given poset and then use those lists to input them in GAP to directly obtain the quiver algebra in GAP (so that GAP has to do no computations for the relations, which seems to be the main problem although Im not really sure why it takes so long).

Solving this problem would be very important to deal with large posets in GAP (and one really needs the incidence algebra as a quiver algebra in QPA to do homological algebra with it as Sage has no such functions).

Here is an example, namely the strong Bruhat order of the symmetric group S_3 with quiver and relations. First here it is in Sage:

Y = posets.SymmetricGroupBruhatOrderPoset(3)
display(Y)

Now quiver and relations for GAP should look as follows:

Quiver( ["x123","x132","x213","x231","x312","x321"], [["x123","x132","x123_x132"],["x123","x213","x123_x213"],
["x132","x231","x132_x231"],["x132","x312","x132_x312"],["x213","x231","x213_x231"],
["x213","x312","x213_x312"],
["x231","x321","x231_x321"],["x312","x321","x312_x321"]] )

[ x123_x132*x132_x231-x123_x213*x213_x231, 
x123_x132*x132_x312-x123_x213*x213_x312,
x132_x231*x231_x321-x132_x312*x312_x321,
x213_x231*x231_x321-x213_x312*x312_x321 ]

Here the first entry is the quiver specified by the points

["x123","x132","x213","x231","x312","x321"]

and by the arrows

[["x123","x132","x123_x132"],["x123","x213","x123_x213"],["x132","x231","x132_x231"],["x132","x312","x132_x312"],
["x213","x231","x213_x231"],["x213","x312","x213_x312"],["x231","x321","x231_x321"],["x312","x321","x312_x321"]]

that specify the Hasse diagram of the poset. Here we see that a point is called for example x132 , so we put an x before each name of the point (here the point is named 132 in Sage).

An arrow is named for example x132'_'x312 and the list entry ["x132","x312","x132_x312"] specifies that the arrow x132_x312 starts at the point x132 and ends at the point x312.

The relations are then of the form for example x123_x132x132_x231-x123_x213x213_x231. Note that we do not need really all relations of the form w1-w2 in general as some of those relations might be implied by some other. So to make things faster it might be a good idea to find "minimal" relations, but I am not quite sure how to do that.

As a test, it would be interesting if one can make things fast enough to obtain for example the strong Bruhat order of S_5 (which has 120 points) as a quiver algebra in GAP within 2 or 3 hours. At the moment this takes more than a month with GAP.

Obtaining incidence algebras for GAP via Sage

Gap (via its package QPA) can obtain the incidence algebras of a given given connected poset P P as a quiver algebra KQ/I KQ/I (note that any any incidence algebra is isomorphic to the quiver algebra where Q Q is the Hasse quiver and the relations I are generated by all all commutativity relations w1-w2 w1-w2 where the paths w1 and w2 w1 and w2 start and end at the same points). points).

However, sadly GAP is very slow with this and obtaining the quiver algebra algebra for a poset with 40 or more points can take days or even weeks. weeks.

I wonder whether there is a way to use SAGE to obtain Sage to obtain two lists of quiver and relations from a given poset poset and then use those lists to input them in GAP to directly obtain obtain the quiver algebra in GAP (so that GAP has to do no computations computations for the relations, which seems to be the main problem problem although Im I'm not really sure why it takes so long).

Solving this problem would be very important to deal with with large posets in GAP (and one really needs the incidence algebra algebra as a quiver algebra in QPA to do homological algebra with it it as Sage has no such functions).

Here is an example, namely the strong Bruhat order of the the symmetric group S_3 $S_3$ with quiver and relations. relations.

First here it is in Sage:

Y = posets.SymmetricGroupBruhatOrderPoset(3)
display(Y)

Now quiver and relations for GAP should look as follows:

Quiver( ["x123","x132","x213","x231","x312","x321"], [["x123","x132","x123_x132"],["x123","x213","x123_x213"],
["x132","x231","x132_x231"],["x132","x312","x132_x312"],["x213","x231","x213_x231"],
["x213","x312","x213_x312"],
["x231","x321","x231_x321"],["x312","x321","x312_x321"]] )
Quiver(
    ["x123", "x132", "x213", "x231", "x312", "x321"],
    [["x123", "x132", "x123_x132"],
     ["x123", "x213", "x123_x213"],
     ["x132", "x231", "x132_x231"],
     ["x132", "x312", "x132_x312"],
     ["x213", "x231", "x213_x231"],
     ["x213", "x312", "x213_x312"],
     ["x231", "x321", "x231_x321"],
     ["x312", "x321", "x312_x321"]])

[ x123_x132*x132_x231-x123_x213*x213_x231, 
 x123_x132*x132_x312-x123_x213*x213_x312,
 x132_x231*x231_x321-x132_x312*x312_x321,
 x213_x231*x231_x321-x213_x312*x312_x321 ]

Here the first entry is the quiver specified by the points points

["x123","x132","x213","x231","x312","x321"]
["x123", "x132", "x213", "x231", "x312", "x321"]

and by the arrows

[["x123","x132","x123_x132"],["x123","x213","x123_x213"],["x132","x231","x132_x231"],["x132","x312","x132_x312"],
["x213","x231","x213_x231"],["x213","x312","x213_x312"],["x231","x321","x231_x321"],["x312","x321","x312_x321"]]
[["x123", "x132", "x123_x132"],
 ["x123", "x213", "x123_x213"],
 ["x132", "x231", "x132_x231"],
 ["x132", "x312", "x132_x312"],
 ["x213", "x231", "x213_x231"],
 ["x213", "x312", "x213_x312"],
 ["x231", "x321", "x231_x321"],
 ["x312", "x321", "x312_x321"]]

that specify the Hasse diagram of the poset. Here we see that that a point is called for example x132 x132 , so we put an x x before each each name of the point (here the point is named 132 132 in Sage).

An arrow is named for example x132'_'x312 x132_x312 and the list entry ["x132","x312","x132_x312"] entry ["x132","x312","x132_x312"] specifies that the arrow x132_x312 x132_x312 starts at the point x132 x132 and ends at the point x312.x312.

The relations are then of the form for example x123_x132x132_x231-x123_x213x213_x231. x123_x132*x132_x231-x123_x213*x213_x231.

Note that we do not need really all relations of the form w1-w2 in general w1-w2 in general as some of those relations might be implied by some other. other.

So to make things faster it might be a good idea to find "minimal" relations, relations, but I am not quite sure how to do that.

As a test, it would be interesting if one can make things fast enough enough to obtain for example the strong Bruhat order of S_5 $S_5$ (which has 120 points) points) as a quiver algebra in GAP within 2 or 3 hours. hours. At the moment this takes more than a month with GAP.