-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve isomorphic_group_over_finite_field #609
Conversation
We now use `Hecke._minkowski_multiple` instead of our own function `maximal_order_of_finite_linear_group_qq` -- the former is based on published, peer reviewed, and old results; the latter has no complete published proof. As a nice side effect, we can use that `Hecke._minkowski_multiple` "knows" about number fields, and thus get much better bounds for those than before. For reference, we compare the old and "new" values for some example input fields via this code: for n in [0,1,3,4,5] K = n == 0 ? QQ : CyclotomicField(n,"a")[1] println("K = $K") for d in 1:6 println(" d=$d: ", largest_order_of_finite_linear_group_qq(degree(K)*d), " vs ", Hecke._minkowski_multiple(K,d)) end println() end This results in the following output (note the discrepancy between QQ and the cyclotomic field of order 1; I don't know if this is a bug in Hecke, or a deficiency in the mathematical result it uses). K = Rational Field d=1: 2 vs 2 d=2: 12 vs 24 d=3: 48 vs 48 d=4: 1152 vs 5760 d=5: 3840 vs 11520 d=6: 103680 vs 2903040 K = Cyclotomic field of order 1 d=1: 2 vs 2 d=2: 12 vs 48 d=3: 48 vs 96 d=4: 1152 vs 23040 d=5: 3840 vs 46080 d=6: 103680 vs 23224320 K = Cyclotomic field of order 3 d=1: 12 vs 6 d=2: 1152 vs 144 d=3: 103680 vs 2592 d=4: 696729600 vs 622080 d=5: 8360755200 vs 3732480 d=6: 1961990553600 vs 1881169920 K = Cyclotomic field of order 4 d=1: 12 vs 4 d=2: 1152 vs 96 d=3: 103680 vs 384 d=4: 696729600 vs 92160 d=5: 8360755200 vs 368640 d=6: 1961990553600 vs 185794560 K = Cyclotomic field of order 5 d=1: 1152 vs 10 d=2: 696729600 vs 1200 d=3: 1961990553600 vs 12000 d=4: 1371195958099968000 vs 2880000 d=5: 2551082656125828464640000 vs 144000000 d=6: 10409396852733332453861621760000 vs 362880000000
Hmm, according to Guralnick and Lorenz, "Orders of finite groups of matrices", for |
Hmm, it seems as if the bounds for the cyclotomic field of order 1 are larged by a factor of |
We are not computing |
Ahhh, OK. No, it is not important, I was just baffled by this and thought I did something wrong at first. So, if this is expected, fine by me. |
I guess it should have another name. I will merge once everything is green. |
We now use
Hecke._minkowski_multiple
instead of our own functionmaximal_order_of_finite_linear_group_qq
-- the former is based onpublished, peer reviewed, and old results; the latter has no complete
published proof.
As a nice side effect, we can use that
Hecke._minkowski_multiple
"knows" about number fields, and thus get much better bounds for those
than before. For reference, we compare the old and "new" values for
some example input fields via this code:
This results in the following output (note the discrepancy between QQ and the
cyclotomic field of order 1; I don't know if this is a bug in Hecke, or a
deficiency in the mathematical result it uses, or a mistake I am making -- @thofman might know more).
K = Rational Field
d=1: 2 vs 2
d=2: 12 vs 24
d=3: 48 vs 48
d=4: 1152 vs 5760
d=5: 3840 vs 11520
d=6: 103680 vs 2903040
K = Cyclotomic field of order 1
d=1: 2 vs 2
d=2: 12 vs 48
d=3: 48 vs 96
d=4: 1152 vs 23040
d=5: 3840 vs 46080
d=6: 103680 vs 23224320
K = Cyclotomic field of order 3
d=1: 12 vs 6
d=2: 1152 vs 144
d=3: 103680 vs 2592
d=4: 696729600 vs 622080
d=5: 8360755200 vs 3732480
d=6: 1961990553600 vs 1881169920
K = Cyclotomic field of order 4
d=1: 12 vs 4
d=2: 1152 vs 96
d=3: 103680 vs 384
d=4: 696729600 vs 92160
d=5: 8360755200 vs 368640
d=6: 1961990553600 vs 185794560
K = Cyclotomic field of order 5
d=1: 1152 vs 10
d=2: 696729600 vs 1200
d=3: 1961990553600 vs 12000
d=4: 1371195958099968000 vs 2880000
d=5: 2551082656125828464640000 vs 144000000
d=6: 10409396852733332453861621760000 vs 362880000000