solve memory problem in my program

asked 7 years ago

anonymous user

Anonymous

in this program I have memory error

The program is:

sage: G=SL(3,GF(3)) sage: G.order() sage: element=G sage: Z=G.center() 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.

Preview: (hide)

Comments

1

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×168 matrix could be initiated, there are no questions from my side. But in the second i have to initialize a 5616×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 ( 7 years ago )

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 ( 7 years ago )

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()
G2.subgroups?
G2.conjugacy_classes_subgroups?

So:

sage: max( [ H.order() for H in G2.conjugacy_classes_subgroups() if H.is_commutative() ] )
13
dan_fulea gravatar imagedan_fulea ( 7 years ago )