On Thursday, 14 May 2015 19:30:35 UTC+1, Dima Pasechnik wrote: > > > > On Thursday, 14 May 2015 19:20:43 UTC+1, Phoenix wrote: >> >> >> This is how "Edge" is created, >> >> g = graphs.CompleteBipartiteGraph(n, n) >> >> Edge = [] >> for (a,b,c) in g.edges (): >> Edge.append ( (a,b) ) >> >> This is how "rep" is created, >> >> Fq2 = [] >> for i in range (q): >> for j in range (q): >> Fq2.append (matrix([[i],[j]])) >> >> SL2Fq = [] >> for i1 in range (q): >> for i2 in range (q): >> for i3 in range(q): >> for i4 in range (q): >> if (i4*i1-i2*i3)% q == 1 : >> SL2Fq.append ( matrix( [ [i1, i2],[i3,i4] ] ) ) >> > > how about > > SL2Fq=list(SL(2,q)) > > for q prime this is the same... > > >> >> rep = [] >> for Y in SL2Fq: >> M = [] >> for A in Fq2: >> B = (Y*A)%q >> row = [] >> for C in Fq2: >> if B == C : >> row.append ([1]) >> else : >> row.append ([0]) >> M.append(flatten(row)) >> rep.append (matrix(M).transpose()) >> d >> > In short, rep is the list of permutation matrices obtained from the elements of SL(2,q) in its natural action on F_q^2.
Well, we can spend more time understanding how (mathematically) you obtain your polynomials, but perhaps it would be more efficient if you explain it yourself? >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Thursday, May 14, 2015 at 12:56:21 PM UTC-5, David Joyner wrote: >>> >>> On Thu, May 14, 2015 at 1:45 PM, Phoenix <[email protected]> wrote: >>> > >>> > Try q=2 n=4 or q=3 n=3 to see the "error" :) >>> > >>> >>> Perhaps you can post rep and Edge in that case (in a format that can >>> be copy+pasted), or put them into a file and attach it or upload it >>> somewhere. >>> >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > On Thursday, May 14, 2015 at 6:10:19 AM UTC-5, David Joyner wrote: >>> >> >>> >> On Thu, May 14, 2015 at 6:59 AM, Dima Pasechnik <[email protected]> >>> wrote: >>> >> > The poster has not provided an example producing the error. >>> >> > One needs to increase q and/or n, as it is mentioned in the post. >>> >> > >>> >> >>> >> I missed that. Is it possible that the error is entirely due to the >>> >> way sagecell writes it to a file for execution in Python, and not the >>> >> code itself? >>> >> >>> >> > On Thursday, 14 May 2015 11:32:30 UTC+1, David Joyner wrote: >>> >> >> >>> >> >> On Wed, May 13, 2015 at 9:13 PM, Phoenix <[email protected]> >>> wrote: >>> >> >> > >>> >> >> > >>> >> >> > 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? >>> >> >> > >>> >> >> >>> >> >> I cannot reproduce this error: >>> >> >> >>> >> >> >>> >> >> q=2; n =2 >>> >> >> rep = [ matrix ([[1, 0, 0, 0], [0, 0, 0, 1], [0, 1, 0, 0], [0, 0, >>> 1, >>> >> >> 0]] ), matrix ([[1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 1, >>> 0, >>> >> >> 0]] ) , matrix ([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1], [0, 0, >>> 1, >>> >> >> 0]] ) , matrix ( [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, >>> 0, >>> >> >> 1]] ) , matrix ( [[1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [0, >>> 1, 0, >>> >> >> 0]]) , matrix ([[1, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, >>> 0, >>> >> >> 1]] ) ] >>> >> >> >>> >> >> Edge = [(0, 2), (0, 3), (1, 2), (1, 3)] >>> >> >> >>> >> >> 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) >>> >> >> print P >>> >> >> >>> >> >> >>> >> >> gives >>> >> >> >>> >> >> 1296*x^16 - 20736*x^14 + 129600*x^12 - 393984*x^10 + 584496*x^8 - >>> >> >> 362880*x^6 + 62208*x^4 >>> >> >> >>> >> >> >>> >> >> > >>> >> >> > >>> >> >> > 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. >>> >> > >>> >> > -- >>> >> > 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. >>> > >>> > -- >>> > 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. >>> >> -- 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.
