Open kschwede opened 3 years ago
conwayPolynomial
is not returning
i4 : conwayPolynomial(101, 14) === null
o4 = true
i14 : rawConwayPolynomial(101, 14, false)
o14 = {}
o14 : List
I guess it's because GF(101^14)
is not in the database. In any case, there is this line
if not (isConway F and isConway K) then error "not implemented: maps between non-Conway Galois fields";
The error just arrived a bit earlier in the isConway
function.
We can change this line https://github.com/Macaulay2/M2/blob/b5b9b18ccb0dbf4daeeefc69290f6f18331134ef/M2/Macaulay2/packages/ConwayPolynomials.m2#L31 to
isConway := (F) -> (cp := conwayPolynomial(F.char,F.degree, Variable=>F_0); cp =!= null and (gens ideal ambient F)_(0,0) == sub(cp, ambient ambient F))
to get the correct error.
Thanks, that's really helpfu. At the very least in my code, I added a check of whether
conwayPolynomial(pp, d*myDeg))
is null. That way it wouldn't crash unexpectedly.
I agree that getting the correct / useful error there would be helpful. I'm happy to fix it in the M2 source, unless you have already done it.
I agree that getting the correct / useful error there would be helpful. I'm happy to fix it in the M2 source, unless you have already done it.
Sure, go ahead :)
When trying to create a map between two moderately large GaloisFields, we get the following behavior.
In particular, when the target field gets too big, it crashes. I tried messing around with the SizeLimit option, but that either doesn't help, or causes M2 itself to crash.
I haven't tried to figure out what is breaking yet.