So I have this SAGE code which takes in two integers q and n and it
generates ~ (q^3)^(n^2) 0/1 matrices and does a sum of their characteristic
polynomials.
I got answers for (q = 3, n = 2), (q =2 , n = 3) and (q=2, n=2)
For any higher number the code runs for ~1hr and then it says,
"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_2.py", line 10, in <module>
exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n"
+ _support_.preparse_worksheet_cell(base64.b64decode("UA=="),globals())+"\\n");
execfile(os.path.abspath("___code___.py"))
File "", line 1, in <module>
File "/tmp/tmpPiPIoq/___code___.py", line 2, in <module>
exec compile(u'P
File "", line 1, in <module>
"
Can someone help understand what is going on?
Like any suggestion about how to go about it?
EDIT:
This is basically the main time-consuming step.
At this point "rep" comes in as a ~q^3 size list of q^2 dimensional 0/1
permutation matrices.
And "Edge" is a list of integer tuples where each tuple is of the form (a,b)
with a,b being from the set {0,1,2,3...,(2n-1)}
P = 0
from itertools import product
from itertools import izip
for X in product(rep,repeat = len (Edge)):
k = izip(Edge,X)
M = [[matrix(q^2, q^2, 0)]*(2*n) for _ in range(2*n)]
for ((a,b),Y) in k:
M [a][b] = Y
M [b][a] = Y.inverse()
Z = block_matrix(M)
P = P + Z.charpoly(x)
The polynomial P is the final expected answer.
(and for any larger value of q and n than the 3 cases mentioned the program
basically stops with no output for P and with the above pasted message)
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.