Sorry, this content is no longer available

Ask Your Question
0

Apparent bug when factoring over a finite field

asked 0 years ago

updated 0 years ago

FrédéricC gravatar image

The code below constructs the finite field F of order 7, defines an irreducible polynomial p over F, and then constructs the associated field extension K (the "splitting field of p") before checking that the polynomial in fact splits over K. When I run this code (for instance in a Jupyter notebook or on SageMathCell) I get an extensive error message pertaining to the factor() method. If I modify the code slightly, changing the exponents in both p and f from 2 to 3, the code executes without issue. Could this be a bug, or have I forgotten something about basic field theory that is causing this?

F = Integers(7)
P.<x> = F[]
p = x^2 + 2
K.<c> = F.extension(p)
S.<z> = K[]
f = z^2 + 2
factor(f)
Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 0 years ago

Max Alekseyev gravatar image

updated 0 years ago

Please update your version of Sage and note that ring Integers(7) as Sage's object technically is not the same as the finite field GF(7).

Check this out: https://sagecell.sagemath.org/?q=wmktnq

Preview: (hide)
link

Comments

Thanks for the answer; 10.4 is currently the highest version of Sage available on CoCalc, to which I am constrained for institutional reasons. I understand that Integers(7) is not technically the same object, but it has all of the necessary functionality (namely the field operations), and it works for higher degree extensions, so this answer is somewhat unsatisfying (or rather, is there a deeper fundamental reason within Sage that I should be avoiding this isomorphic object?).

tabesbridges gravatar imagetabesbridges ( 0 years ago )
1

Sagecell is running version 10.2, and so your 10.4 is good enough. Please note that your code with Integers(7) produces an error at Sagecell as it is not automatically understood as a field. Please just use GF(7) if you want to rely on the field functionality without issues.

Max Alekseyev gravatar imageMax Alekseyev ( 0 years ago )

Alternatively, you can define F = Integers(7).field() to make things work.

Max Alekseyev gravatar imageMax Alekseyev ( 0 years ago )

Clarification on Sagecell.

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 0 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 0 years ago

Seen: 85 times

Last updated: Jan 27