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())
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 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.

Reply via email to