solve memory problem in my program

asked 2017-08-17 04:30:32 +0200

anonymous user


in this program I have memory error

The program is:

sage: G=SL(3,GF(3)) sage: G.order() sage: element=G sage: sage: A=matrix(G.order())

sage: for i in range( G.order()): for j in range(G.order()): if element[i]element[j]<>element[j]element[i]: A[i,j]=1 sage: graph=Graph(A);graph

graph memory error

pleace, we can help me for my resarch.

edit retag flag offensive close merge delete



Something like

sage: G = SL( 3, GF(2) ) 
sage: A = matrix( G.order(), [ ZZ( bool( g*h == h*g ) ) for g in G for h in G ] )
sage: X = Graph( A ) 
sage: X
Looped graph on 168 vertices
sage: X

works without problems. The $168\times 168$ matrix could be initiated, there are no questions from my side. But in the second i have to initialize a $5616\times 5616$ matrix there is a fair question why we do such a thing (as a first step of many others). Having it after some hours or days, (after we buy a new bigger computer,) does not mean we can compute now everything / anything with it. It is still a big graph and the same number of processors have to work in and with it.

Which is the research intention?

Often, it is simpler to answer the mathematical question.

dan_fulea gravatar imagedan_fulea ( 2017-08-18 23:08:40 +0200 )edit

Thank you . but I need to fined some properties of the non_commuting graph of the group SL(3,q) like independent number, vertex chromatic number and so on. So I am interesting of this graph.

Duaa gravatar imageDuaa ( 2017-08-20 18:49:27 +0200 )edit

OK, let's get the independent number, thus illustrating that we do not have to "go through the impossible" (building the graph) to solve the problem, but use the group structure and have a quick, structural solution. (Just try the graph way for SL(3,GF(2)) - no memory problem.)

For a group $G$ a maximal independent set for the non-commutativity graph is a maximal commuting subset. If $A$ is commuting in $G$, then the group generated by $A$ is "equal or better". So we want a commutative subgroup of $G$ having maximal order. Just type:

G = SL(3,GF(3))
G1 = G.as_matrix_group()
G2 = G1.as_permutation_group()


sage: max( [ H.order() for H in G2.conjugacy_classes_subgroups() if H.is_commutative() ] )
dan_fulea gravatar imagedan_fulea ( 2017-08-26 07:01:29 +0200 )edit