Below are two runs of klpol on a 1.7GHz machine (okay, so that's pretty fast for '02, but even on a clunky 200MHz, you can compute a reasonably hard example in S_16 in about half an hour.) The first run just shows basic capabilities. The second run is a good illustration of how flattening speeds things up. ===================================================================================== euler ~ % java -jar klpol.13.jar klpol version 1.0, Copyright (C) 2002 Gregory S. Warrington klpol comes with ABSOLUTELY NO WARRANTY; for details see 'COPYING'. This is free software, and you are welcome to redistribute it under certain conditions; see 'COPYING' [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: k x ([0..9a...z]): 01234567 w ([0..9a...z]): 67543201 l(x) = 0, x = 01234567 ; l(w) = 26, w = 67543201 l(x~) = 15, x~ = 06543217 ; l(w~) = 26, w~ = 67543201 1 + q^5 ------------------ Time for computation(min:sec): 0:00 x ([0..9a...z]): 4321098765 w ([0..9a...z]): 9467182350 l(x) = 20, x = 4321098765 ; l(w) = 31, w = 9467182350 l(x~) = 20, x~ = 4321098765 ; l(w~) = 31, w~ = 9467182350 1 + 7.q + 19.q^2 + 26.q^3 + 17.q^4 + 4.q^5 ------------------ Time for computation(min:sec): 0:00 x ([0..9a...z]): 54109832dc76bafe w ([0..9a...z]): c810d942fa53b6e7 l(x) = 32, x = 54109832dc76bafe ; l(w) = 53, w = c810d942fa53b6e7 l(x~) = 22, x~ = 21650a94387cb ; l(w~) = 43, w~ = 95a61c72083b4 1 + 14.q + 92.q^2 + 365.q^3 + 931.q^4 + 1536.q^5 + 1610.q^6 + 1039.q^7 + 387.q^8 + 72.q^9 + 5.q^10 ------------------ Time for computation(min:sec): 3:17 x ([0..9a...z]): 01234 w ([0..9a...z]): 345012 ERROR: permutations must be of same length x ([0..9a...z]): bad w ([0..9a...z]): try ERROR: either x or w is not a valid permutation - ie, 0,1,...9,a,b,... x ([0..9a...z]): w ([0..9a...z]): [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: o Option: i f --- flatten pairs: true g --- pick generators: false i --- display progress: true s --- print statistics: false m --- print 0-1 ce's: false c --- compute cell: false q --- go to main menu Option: s f --- flatten pairs: true g --- pick generators: false i --- display progress: true s --- print statistics: true m --- print 0-1 ce's: false c --- compute cell: false q --- go to main menu Option: m f --- flatten pairs: true g --- pick generators: false i --- display progress: true s --- print statistics: true m --- print 0-1 ce's: true c --- compute cell: false q --- go to main menu Option: [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: c I am now a tabula rasa. [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: r Counters set to 0. [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: k x ([0..9a...z]): 4321098765 w ([0..9a...z]): 9467182350 l(x) = 20, x = 4321098765 ; l(w) = 31, w = 9467182350 l(x~) = 20, x~ = 4321098765 ; l(w~) = 31, w~ = 9467182350 ..1. MU!!!: 4321098765 9467182350 1 + 7.q + 19.q^2 + 26.q^3 + 17.q^4 + 4.q^5 1 + 7.q + 19.q^2 + 26.q^3 + 17.q^4 + 4.q^5 Pairs reduced: 48 Polynomials requested: 57 Polynomials computed: 21 ------------------ Time for computation(min:sec): 0:00 x ([0..9a...z]): 601234578 w ([0..9a...z]): 678345012 l(x) = 6, x = 601234578 ; l(w) = 27, w = 678345012 l(x~) = 4, x~ = 03126457 ; l(w~) = 21, w~ = 67345012 ..8........ 1 + 8.q + 28.q^2 + 53.q^3 + 53.q^4 + 22.q^5 + q^6 Pairs reduced: 1262 Polynomials requested: 1521 Polynomials computed: 236 ------------------ Time for computation(min:sec): 0:00 x ([0..9a...z]): w ([0..9a...z]): ===================================================================================== euler ~ % java -jar klpol.13.jar klpol version 1.0, Copyright (C) 2002 Gregory S. Warrington klpol comes with ABSOLUTELY NO WARRANTY; for details see 'COPYING'. This is free software, and you are welcome to redistribute it under certain conditions; see 'COPYING' [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: k x ([0..9a...z]): 012345678 w ([0..9a...z]): 678345012 l(x) = 0, x = 012345678 ; l(w) = 27, w = 678345012 l(x~) = 2, x~ = 013246578 ; l(w~) = 27, w~ = 678345012 1 + 10.q + 47.q^2 + 134.q^3 + 248.q^4 + 297.q^5 + 218.q^6 + 90.q^7 + 18.q^8 + q^9 ------------------ Time for computation(min:sec): 0:11 x ([0..9a...z]): w ([0..9a...z]): [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: o f --- flatten pairs: true g --- pick generators: false i --- display progress: false s --- print statistics: false m --- print 0-1 ce's: false c --- compute cell: false q --- go to main menu Option: f f --- flatten pairs: false g --- pick generators: false i --- display progress: false s --- print statistics: false m --- print 0-1 ce's: false c --- compute cell: false q --- go to main menu Option: [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: k x ([0..9a...z]): 012345678 w ([0..9a...z]): 678345012 l(x) = 0, x = 012345678 ; l(w) = 27, w = 678345012 l(x~) = 2, x~ = 013246578 ; l(w~) = 27, w~ = 678345012 1 + 10.q + 47.q^2 + 134.q^3 + 248.q^4 + 297.q^5 + 218.q^6 + 90.q^7 + 18.q^8 + q^9 ------------------ Time for computation(min:sec): 0:00 x ([0..9a...z]): w ([0..9a...z]): [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: c I am now a tabula rasa. [O]pts; [K]-L polys; [C]lear hash; [R]eset stats; [Q]uit: k x ([0..9a...z]): 012345678 w ([0..9a...z]): 678345012 l(x) = 0, x = 012345678 ; l(w) = 27, w = 678345012 l(x~) = 2, x~ = 013246578 ; l(w~) = 27, w~ = 678345012 1 + 10.q + 47.q^2 + 134.q^3 + 248.q^4 + 297.q^5 + 218.q^6 + 90.q^7 + 18.q^8 + q^9 ------------------ Time for computation(min:sec): 0:21