Opened 14 years ago

Closed 14 years ago

#4097 closed enhancement (fixed)

[with patch, positive review] matrix automorphism groups

Reported by: Robert Miller Owned by: Robert Miller
Priority: major Milestone: sage-3.1.2
Component: coding theory Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description


Attachments (1)

trac_4097-mat-aut.patch (18.8 KB) - added by Robert Miller 14 years ago.

Download all attachments as: .zip

Change History (12)

Changed 14 years ago by Robert Miller

Attachment: trac_4097-mat-aut.patch added

comment:1 Changed 14 years ago by David Joyner

This is a very important patch - thanks Robert!

I've started testing it and will report back.

comment:2 Changed 14 years ago by David Joyner

This failure is on an amd64 gutsy gibbon box (and uses the patch emailed to me by Robert, which I guess is the same as the one attached to this ticket):

wdj@tinah:~/sagefiles/sage-3.1.2.rc1$ ./sage -t  devel/sage/sage/groups/perm_gps/partn_ref/refinement_matrices.pyx
sage -t  devel/sage/sage/groups/perm_gps/partn_ref/refinement_matrices.pyx**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 5:
    sage: import sage.groups.perm_gps.partn_ref.refinement_matrices
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_0[2]>", line 1, in <module>
        import sage.groups.perm_gps.partn_ref.refinement_matrices###line 5:
    sage: import sage.groups.perm_gps.partn_ref.refinement_matrices
    ImportError: No module named refinement_matrices
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 111:
    sage: from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[2]>", line 1, in <module>
        from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct###line 111:
    sage: from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct
    ImportError: No module named refinement_matrices
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 113:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1]]))
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[3]>", line 1, in <module>
        M = MatrixStruct(matrix(GF(Integer(3)),[[Integer(0),Integer(1),Integer(2)],[Integer(0),Integer(2),Integer(1)]]))###line 113:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1]]))
    NameError: name 'MatrixStruct' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 114:
    sage: M.run()
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[4]>", line 1, in <module>
        M.run()###line 114:
    sage: M.run()
    NameError: name 'M' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 115:
    sage: M.automorphism_group()
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[5]>", line 1, in <module>
        M.automorphism_group()###line 115:
    sage: M.automorphism_group()
    NameError: name 'M' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 117:
    sage: M.canonical_relabeling()
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[6]>", line 1, in <module>
        M.canonical_relabeling()###line 117:
    sage: M.canonical_relabeling()
    NameError: name 'M' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 120:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1],[1,0,2],[1,2,0],[2,0,1],[2,1,0]]))
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[7]>", line 1, in <module>
        M = MatrixStruct(matrix(GF(Integer(3)),[[Integer(0),Integer(1),Integer(2)],[Integer(0),Integer(2),Integer(1)],[Integer(1),Integer(0),Integer(2)],[Integer(1),Integer(2),Integer(0)],[Integer(2),Integer(0),Integer(1)],[Integer(2),Integer(1),Integer(0)]]))###line 120:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1],[1,0,2],[1,2,0],[2,0,1],[2,1,0]]))
    NameError: name 'MatrixStruct' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 121:
    sage: M.automorphism_group()[1] == 6
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[8]>", line 1, in <module>
        M.automorphism_group()[Integer(1)] == Integer(6)###line 121:
    sage: M.automorphism_group()[1] == 6
    NameError: name 'M' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 124:
    sage: M = MatrixStruct(matrix(GF(3),[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2]]))
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[9]>", line 1, in <module>
        M = MatrixStruct(matrix(GF(Integer(3)),[[Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(0),Integer(1),Integer(2)]]))###line 124:
    sage: M = MatrixStruct(matrix(GF(3),[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2]]))
    NameError: name 'MatrixStruct' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 125:
    sage: M.automorphism_group()[1] == factorial(14)
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_1[10]>", line 1, in <module>
        M.automorphism_group()[Integer(1)] == factorial(Integer(14))###line 125:
    sage: M.automorphism_group()[1] == factorial(14)
    NameError: name 'M' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 161:
    sage: from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_2[2]>", line 1, in <module>
        from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct###line 161:
    sage: from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct
    ImportError: No module named refinement_matrices
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 163:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1]]))
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_2[3]>", line 1, in <module>
        M = MatrixStruct(matrix(GF(Integer(3)),[[Integer(0),Integer(1),Integer(2)],[Integer(0),Integer(2),Integer(1)]]))###line 163:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1]]))
    NameError: name 'MatrixStruct' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 164:
    sage: M.automorphism_group()
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_2[4]>", line 1, in <module>
        M.automorphism_group()###line 164:
    sage: M.automorphism_group()
    NameError: name 'M' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 186:
    sage: from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_3[2]>", line 1, in <module>
        from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct###line 186:
    sage: from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct
    ImportError: No module named refinement_matrices
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 188:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1]]))
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_3[3]>", line 1, in <module>
        M = MatrixStruct(matrix(GF(Integer(3)),[[Integer(0),Integer(1),Integer(2)],[Integer(0),Integer(2),Integer(1)]]))###line 188:
    sage: M = MatrixStruct(matrix(GF(3),[[0,1,2],[0,2,1]]))
    NameError: name 'MatrixStruct' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 189:
    sage: M.canonical_relabeling()
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_3[4]>", line 1, in <module>
        M.canonical_relabeling()###line 189:
    sage: M.canonical_relabeling()
    NameError: name 'M' is not defined
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 253:
    sage: import sage.groups.perm_gps.partn_ref.refinement_matrices
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_4[2]>", line 1, in <module>
        import sage.groups.perm_gps.partn_ref.refinement_matrices###line 253:
    sage: import sage.groups.perm_gps.partn_ref.refinement_matrices
    ImportError: No module named refinement_matrices
**********************************************************************
File "/home/wdj/sagefiles/sage-3.1.2.rc1/tmp/refinement_matrices.py", line 254:
    sage: sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests()
Exception raised:
    Traceback (most recent call last):
      File "/home/wdj/sagefiles/sage-3.1.2.rc1/local/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.example_4[3]>", line 1, in <module>
        sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests()###line 254:
    sage: sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests()
    AttributeError: 'module' object has no attribute 'refinement_matrices'
**********************************************************************
5 items had failures:
   1 of   3 in __main__.example_0
   9 of  11 in __main__.example_1
   3 of   5 in __main__.example_2
   3 of   5 in __main__.example_3
   2 of   4 in __main__.example_4
***Test Failed*** 18 failures.
For whitespace errors, see the file /home/wdj/sagefiles/sage-3.1.2.rc1/tmp/.doctest_refinement_matrices.py
         [1.4 s]
exit code: 1024

----------------------------------------------------------------------
The following tests failed:


        sage -t  devel/sage/sage/groups/perm_gps/partn_ref/refinement_matrices.pyx
Total time for all tests: 1.4 seconds

comment:3 in reply to:  2 Changed 14 years ago by Robert Miller

Based on:

    sage: import sage.groups.perm_gps.partn_ref.refinement_matrices
    ImportError: No module named refinement_matrices

It looks like you might not have built before running tests... If that's not it, definitely try the patch attached to this ticket, and let me know if you still get these errors.

comment:4 Changed 14 years ago by David Joyner

You are right. Ignore my last post. After the build, all tests pass. I'll try your code out on examples now....

comment:5 Changed 14 years ago by Robert Miller

Type: defectenhancement

comment:6 Changed 14 years ago by David Joyner

Is this supposed to happen?

Using the patch at #3943: pydesign patch, we get

sage: BD = WittDesign(9)
sage: BD.automorphism_group()
Permutation Group with generators [(1,2,3)(4,5,6)(8,9,11)(14,15,20)(16,18,17), (2,3)(4,8)(5,11)(6,9)(13,19)(15,20)(16,18), (1,2)(4,6)(7,10)(9,11)(14,16)(15,17)(18,20), (1,21)(5,8)(6,7)(9,10)(13,14)(15,16)(17,19), (1,4)(2,6)(3,5)(9,11)(12,13)(15,20)(17,18)]
sage: BD.automorphism_group().order()
432
sage: M

[1 1 1 0 0 0 0]
[1 0 0 1 1 0 0]
[1 0 0 0 0 1 1]
[0 1 0 1 0 1 0]
[0 1 0 0 1 0 1]
[0 0 1 1 0 0 1]
[0 0 1 0 1 1 0]
sage: M.save("BD_mat")

and using the patch at #4097, we get

sage: from sage.groups.perm_gps.partn_ref.refinement_binary import NonlinearBinaryCodeStruct
sage: load("/home/wdj/sagefiles/sage-3.1.rc0/BD_mat")

[1 1 1 0 0 0 0]
[1 0 0 1 1 0 0]
[1 0 0 0 0 1 1]
[0 1 0 1 0 1 0]
[0 1 0 0 1 0 1]
[0 0 1 1 0 0 1]
[0 0 1 0 1 1 0]
sage: M = load("/home/wdj/sagefiles/sage-3.1.rc0/BD_mat")
sage: B = NonlinearBinaryCodeStruct(M)
sage: B.run()
sage: B.automorphism_group()

([[0, 1, 2, 4, 3, 6, 5],
  [0, 1, 2, 5, 6, 3, 4],
  [0, 2, 1, 5, 6, 4, 3],
  [0, 3, 4, 1, 2, 5, 6],
  [1, 0, 2, 3, 5, 4, 6]],
 168,
 [0, 1, 3])

Note 168 does not divide 432 so maybe I am misinterpreting this function or maybe there is a bug somewhere?

comment:7 Changed 14 years ago by David Joyner

I also get this:

sage: from sage.groups.perm_gps.partn_ref.refinement_matrices import MatrixStruct
sage: M2 = MatrixStruct(M)
sage: M2.run()
sage: M2.automorphism_group()

([[0, 1, 2, 4, 3, 6, 5],
  [0, 1, 2, 5, 6, 3, 4],
  [0, 2, 1, 5, 6, 4, 3],
  [0, 3, 4, 1, 2, 5, 6],
  [1, 0, 2, 3, 5, 4, 6]],
 168,
 [0, 1, 3])

Maybe this is predictable based on the last comment but thought I'd mention it anyway. Anyway, then I tried comparing it with GAP's matrix automorphism function:

sage: GM = M._gap_init_()
sage: GM
'[[1,1,1,0,0,0,0],[1,0,0,1,1,0,0],[1,0,0,0,0,1,1],[0,1,0,1,0,1,0],[0,1,0,0,1,0,1],[0,0,1,1,0,0,1],[0,0,1,0,1,1,0]]*One($sage1)'
sage: gap.eval("MatrixAutomorphisms(%s)"%GM)
'Group( [ (4,5)(6,7), (4,6)(5,7), (2,3)(6,7), (2,4)(3,5), (1,2)(5,6) ] )'
sage: gap.eval("Size(MatrixAutomorphisms(%s))"%GM)
'168'

This proves I think you are write and that the bug must lie in the pydesign code.

Sorry for the wasted bandwidth on this! I'll keep testing.

comment:8 Changed 14 years ago by David Joyner

It turns out there is no bug at all anywhere, I made a typing mistake.

Okay. Here is a really cool example which will make up for the whole thing:-) The Witt block design of index 12 has the Mathieu group M_12 as the automorphism group:

sage: BD = WittDesign(12)
sage: BD.automorphism_group().order()
95040
sage: M = BD.incidence_matrix()
sage: M
12 x 132 dense matrix over Integer Ring
sage: M.save("BD_mat")
sage: MathieuGroup(12).order()
95040
sage: G = BD.automorphism_group()
sage: G.is_isomorphic(MathieuGroup(12))
True

Now move over to the patch at #4097:

sage: M = load("/home/wdj/sagefiles/sage-3.1.rc0/BD_mat")
sage: M2 = MatrixStruct(M)
sage: M2.run()
sage: print M2.automorphism_group()
([[0, 1, 3, 2, 7, 10, 9, 4, 8, 6, 5, 11, 33, 36, 35, 30, 34, 31, 32, 37, 38, 43, 41, 40, 46, 39, 45, 44, 42, 47, 15, 17, 18, 12, 16, 14, 13, 19, 20, 25, 23, 22, 28, 21, 27, 26, 24, 29, 48, 53, 51, 50, 56, 49, 54, 55, 52, 57, 58, 63, 64, 61, 65, 59, 60, 62, 69, 71, 72, 66, 70, 67, 68, 73, 74, 79, 76, 77, 82, 75, 81, 80, 78, 83, 102, 107, 105, 104, 110, 103, 109, 108, 106, 111, 112, 118, 117, 115, 119, 113, 114, 116, 84, 89, 87, 86, 92, 85, 91, 90, 88, 93, 94, 99, 100, 97, 101, 96, 95, 98, 120, 126, 125, 123, 127, 122, 121, 124, 129, 128, 130, 131], [0, 5, 6, 4, 9, 10, 7, 2, 8, 3, 1, 11, 20, 23, 22, 13, 24, 12, 14, 21, 17, 28, 18, 15, 25, 16, 29, 26, 19, 27, 40, 38, 41, 31, 39, 32, 30, 42, 33, 46, 36, 35, 43, 37, 47, 44, 34, 45, 50, 61, 51, 48, 58, 49, 59, 62, 52, 60, 56, 63, 64, 53, 65, 54, 57, 55, 76, 74, 77, 66, 78, 67, 68, 75, 71, 79, 69, 72, 82, 73, 83, 80, 70, 81, 86, 97, 87, 84, 94, 88, 96, 95, 85, 98, 89, 101, 99, 92, 100, 90, 93, 91, 104, 112, 105, 102, 115, 106, 116, 113, 103, 114, 110, 117, 119, 107, 118, 109, 108, 111, 120, 130, 128, 123, 129, 124, 121, 122, 127, 125, 126, 131], [0, 2, 1, 3, 9, 7, 10, 5, 8, 4, 6, 11, 17, 15, 18, 13, 16, 12, 14, 19, 20, 28, 22, 23, 25, 24, 26, 29, 21, 27, 71, 69, 72, 66, 73, 68, 67, 70, 76, 79, 74, 77, 82, 78, 80, 83, 75, 81, 86, 89, 84, 87, 92, 88, 90, 93, 85, 91, 97, 99, 101, 94, 100, 96, 95, 98, 33, 36, 35, 31, 37, 30, 32, 34, 40, 46, 38, 41, 43, 39, 44, 47, 42, 45, 50, 56, 48, 51, 53, 49, 54, 57, 52, 55, 61, 64, 63, 58, 65, 59, 62, 60, 104, 110, 102, 105, 107, 106, 108, 109, 103, 111, 112, 117, 119, 115, 118, 113, 116, 114, 120, 125, 127, 123, 126, 121, 124, 122, 128, 130, 129, 131], [0, 1, 2, 3, 9, 10, 7, 6, 11, 4, 5, 8, 18, 15, 17, 13, 19, 14, 12, 16, 22, 25, 20, 23, 28, 21, 26, 29, 24, 27, 36, 35, 33, 32, 37, 31, 30, 34, 41, 43, 40, 38, 46, 39, 47, 45, 42, 44, 48, 56, 51, 50, 53, 52, 55, 54, 49, 57, 61, 65, 64, 58, 63, 62, 60, 59, 72, 71, 69, 68, 73, 67, 66, 70, 74, 82, 77, 76, 79, 78, 81, 80, 75, 83, 87, 89, 86, 84, 92, 85, 93, 91, 88, 90, 97, 101, 100, 94, 99, 98, 96, 95, 104, 107, 102, 105, 110, 103, 108, 111, 106, 109, 115, 119, 117, 112, 118, 114, 116, 113, 123, 126, 127, 120, 125, 124, 121, 122, 128, 129, 130, 131], [0, 2, 1, 3, 13, 12, 14, 17, 16, 15, 18, 19, 5, 4, 6, 9, 8, 7, 10, 11, 20, 24, 22, 23, 21, 28, 26, 29, 25, 27, 31, 30, 32, 33, 37, 36, 35, 34, 50, 49, 48, 51, 52, 56, 54, 57, 53, 55, 40, 39, 38, 41, 42, 46, 44, 47, 43, 45, 61, 59, 62, 58, 60, 64, 63, 65, 66, 68, 67, 71, 73, 69, 72, 70, 86, 88, 84, 87, 85, 89, 90, 93, 92, 91, 76, 78, 74, 77, 75, 79, 80, 83, 82, 81, 97, 96, 95, 94, 98, 99, 101, 100, 104, 106, 102, 105, 103, 110, 108, 109, 107, 111, 120, 121, 124, 123, 122, 125, 127, 126, 112, 113, 116, 115, 114, 117, 119, 118, 128, 130, 129, 131], [1, 0, 3, 2, 6, 11, 9, 4, 5, 7, 8, 10, 13, 18, 19, 12, 14, 16, 15, 17, 21, 22, 25, 26, 29, 20, 23, 24, 27, 28, 32, 37, 36, 30, 31, 34, 33, 35, 39, 41, 45, 43, 47, 38, 42, 40, 44, 46, 48, 52, 55, 54, 56, 49, 50, 51, 53, 57, 60, 62, 61, 64, 65, 59, 58, 63, 68, 73, 72, 66, 67, 70, 69, 71, 74, 78, 80, 81, 82, 75, 77, 76, 79, 83, 85, 87, 91, 89, 93, 84, 88, 86, 90, 92, 96, 98, 97, 100, 101, 95, 94, 99, 103, 104, 107, 108, 111, 102, 105, 106, 109, 110, 114, 116, 115, 117, 119, 112, 113, 118, 121, 123, 124, 126, 127, 122, 120, 125, 129, 128, 131, 130]], 95040, [0, 8, 55, 98])

Hopefully trac will print the order 95040 at the end.

I think this code works:-)

As far as I am concerned, this passes but I don't know enough Cython to read over the code to check for memory problems for example.

Great job Robert and Thanks!

comment:9 Changed 14 years ago by Michael Abshoff

David,

if you consider this code working (as indicated by the last ticket) please give this a positive review. I will check for memory leaks (Robert did tell me that he did valgrind the doctest in question and did not find any leaks), so that way the patch can be merged soon.

Cheers,

Michael

comment:10 Changed 14 years ago by David Joyner

Summary: [with patch, needs review] matrix automorphism groups[with patch, positive review] matrix automorphism groups

comment:11 Changed 14 years ago by Michael Abshoff

Milestone: sage-3.1.3sage-3.1.2
Resolution: fixed
Status: newclosed

Merged in Sage 3.1.2.rc4

Note: See TracTickets for help on using tickets.