Dear Robert, I was trying to see if I can shorten the randomized doctests in refinement_*.pyx, and I noticed two things that seem odd (to me, since I have no knowledge of the algorithms or implementation details for these files).
1. The time that the random tests take (with the same values of the arguments) can vary quite wildly. For instance (this is with sage-4.3.rc0 on sage.math): sage: time sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests(5, 100, 200, 40) All passed: 50 random tests on 10 matrices. CPU times: user 56.00 s, sys: 0.01 s, total: 56.01 s Wall time: 56.01 s sage: time sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests(5, 100, 200, 40) All passed: 50 random tests on 10 matrices. CPU times: user 18.71 s, sys: 0.00 s, total: 18.71 s Wall time: 18.72 s sage: time sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests(5, 100, 200, 40) Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored All passed: 50 random tests on 10 matrices. CPU times: user 1140.61 s, sys: 0.04 s, total: 1140.65 s Wall time: 1140.66 s For the last run, I was becoming convinced that sage was stuck, so I tried to interrupt with Ctrl-C a few times. I don't know whether the fact that this eventually ended not too long after that is actually related to pressing Ctrl-C (see also below). 2. In another instance, I again got impatient and pressed Ctrl-C. Here is the outcome: sage: time sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests(5, 100, 200, 40) All passed: 50 random tests on 10 matrices. CPU times: user 35.64 s, sys: 0.00 s, total: 35.64 s Wall time: 35.64 s sage: time sage.groups.perm_gps.partn_ref.refinement_matrices.random_tests(5, 100, 200, 40) Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored Exception KeyboardInterrupt: KeyboardInterrupt() in 'sage.groups.perm_gps.partn_ref.refinement_matrices.compare_matrices' ignored M: [11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 0 6 0 0 0 0 0 0 2 0 0 0 0 0 1 27 0 0 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 28 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 0 0 13 0 0 0 0 0 0 0 0 0 0 14 0 0 12 28 0 0 0 24 0 0 0 0 17 0 0 0 0 0 0 0 0 20 0 6 0 0 19 0 0 0 0 0 0 0 0 0 0 30 0 0 0 0 0 12 0 0 29 0 0 0 0 0 8 0 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 9 5 0 0 0 0 4 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 26 0 0 29 0 0 0 0 0 0 0 28 0 0 16 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 24 12 0 0 0 0 0 0 8 0 0 0 2 0 28 0 0 0 0 0 0 0 0 0 12 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 21 0 0 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 0 30 0 0 0 27 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 22 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 0 0 24 0 0 22 0 0 0 8 0 0 0 0 0 0 0 0 0 12 0 21 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 5 0 0 30 0 0 0 23 23 0 13 0 0 0 0 22 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 20 0 19 0 0 0 0 18 0 6 0 0 16 0 0 0 0 0 0 0 0 0 0 22 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 18 0 0 0] [21 0 0 0 0 0 0 17 0 0 3 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 22 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 25 0 0 7 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 21 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 4 0 11 0 0 0 0 0 0 0 10 0 0 0 0 15 0 30 0 0 0 0 0 25 0 0 0 0 15 0 0 0 0 0 0 0 0 0 5] [ 0 0 0 0 0 0 0 0 0 0 0 0 0 10 4 0 0 0 22 0 15 0 0 0 0 0 17 0 26 0 0 21 0 0 0 0 0 0 0 0 0 0 28 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 9 0 2 0 0 0 0 0 17 26 0 2 20 12 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 26 0 0 12 0 0 0 0 0 0 0 0 0 30 23 23 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 0 0 0 0 0] [ 0 1 0 0 0 5 0 0 0 0 0 0 20 0 0 0 0 0 4 5 0 0 29 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 8 0 0 0 3 0 0 0 0 0 0 0 0 16 0 29 0 0 0 0 0 0 0 18 0 0 0 0 0 17 0 16 0 8 17 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 29 0 0 0 0 0 0 0 0 0 0 16 18 0 0 0 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 5 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 29 0 0 23 15 0 0 0 0 0 0 0 0 0 12 1 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 0 12 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 15 0 0 23 8 0 27 0 0 0 0 0 0 0 0 0 0 13 8 0 0 0 15 0 0 25 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 19 0 0 0 15 0 0 0 0 0 0 26 0 28] [15 8 0 19 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 23 0 0 0 0 4 0 0 0 0 0 0 0 3 0 0 0 0 0 22 0 0 0 0 0 0 9 0 24 0 0 0 0 0 0 0 0 0 0 0 9 0 6 0 0 0 0 0 23 7 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 20 0 0 0 0 0 30 0 0 0 0 0 0 0 0 0 0 0 0 2 0 3 0 28 2 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 14 0 0 0 12 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 13 0 15 18 0 0 0 0 4 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 28 0 23 13 0 0 0 0 0 0 0 19 0 0 0 0 10 0 0 19 0 9 0 0 11 28 0 0 0 0 0 0 1 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 0 0] [ 0 0 29 0 0 3 0 0 23 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 0 18 0 0 9 0 0 23 0 0 0 0 0 29 0 0 0 0 0 0 0 0 0 0 0 0 20 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 7 0 0 0 27 0 0 3 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 19 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 22 23 0 0 0 0 0 0] [ 0 29 14 0 15 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 29 0 0 0 0 0 0 24 3 0 0 0 29 0 0 11 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 21 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 20 0 0 0 0 0 1 0 0 0 18 4 0 0 0 0 0 29 0 12 0 30 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 0 0 29 0 0] [ 0 0 0 7 0 9 0 0 0 0 0 0 0 0 0 0 30 0 23 0 0 0 0 0 0 0 24 30 0 0 0 19 0 0 24 0 0 0 0 0 0 0 0 8 4 0 0 0 0 0 0 0 0 0 0 0 14 0 5 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 15 0 0 30 0 0 0 0 0 9 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 6 0 0 0 23 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 12 11 0 0 10 0 0 0 0] perm: [145, 172, 27, 82, 64, 148, 70, 3, 162, 84, 168, 7, 170, 9, 79, 34, 13, 152, 1, 178, 39, 42, 140, 175, 43, 154, 136, 77, 144, 176, 24, 97, 169, 104, 135, 133, 45, 143, 132, 134, 94, 81, 121, 14, 51, 89, 36, 53, 35, 54, 106, 165, 37, 83, 139, 10, 69, 16, 101, 117, 73, 151, 17, 74, 6, 109, 128, 72, 56, 120, 119, 60, 142, 149, 155, 156, 38, 173, 46, 122, 26, 99, 127, 21, 63, 138, 62, 108, 80, 111, 92, 124, 65, 150, 86, 130, 103, 102, 52, 48, 66, 67, 75, 112, 137, 25, 164, 105, 4, 59, 55, 153, 19, 15, 180, 28, 141, 177, 0, 87, 85, 166, 44, 160, 129, 30, 50, 20, 8, 131, 47, 98, 2, 18, 171, 147, 174, 110, 114, 90, 93, 40, 91, 61, 118, 95, 76, 113, 158, 107, 161, 163, 167, 88, 116, 123, 159, 32, 33, 22, 115, 57, 179, 29, 126, 146, 157, 31, 71, 41, 100, 58, 23, 49, 96, 12, 5, 68, 11, 125, 78] CPU times: user 2691.73 s, sys: 0.05 s, total: 2691.78 s Wall time: 2691.80 s This appears to indicate that a bug was found -- but I don't know whether my pressing Ctrl-C did actually eventually interrupt something, and maybe that's why the computation didn't work out anymore. Again the whole thing was over not long after my pressing Ctrl-C, and note that in all it took almost 45 minutes. So what's the point of all this? First, can you (or I, given further instructions) check whether the above is really a bug? Second, if the computation does get stuck on some random inputs, would there be a way to detect this in random_tests and report it? Otherwise we would never know about this, except for people sometimes reporting timeouts in running long doctests. Note also that I'm only writing about refinement_matrices.pyx here, but these issues might also affect refinement_binary.pyx and refinement_graphs.pyx (I haven't played with these enough to encounter these problems). This goes without saying: a perfectly acceptable response from you is "you have to wait until my thesis is done" :) I just wanted to send this out so I don't forget about it. Best, Alex -- Alex Ghitza -- Lecturer in Mathematics -- The University of Melbourne -- Australia -- http://www.ms.unimelb.edu.au/~aghitza/ -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org