Paul Onions
2018-08-23 21:22:30 UTC
Hi All,
It seems that calling generator() on a field created with
FiniteFieldExtensionByPolynomial may not return a primitive element of
the field. Specifically, when the field is created using an
irreducible (but not primitive) polynomial.
Example:-
(1) -> p : UP(x,PrimeField(2)) := x^4 + x^3 + x^2 + x + 1
4 3 2
(1) x + x + x + x + 1
Type: UnivariatePolynomial(x,PrimeField(2))
(2) -> F16 := FiniteFieldExtensionByPolynomial(PrimeField(2), p)
(2) FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?^3+?^2+?+1)
Type: Type
(3) -> g := generator()$F16
(3) %A
Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?^3+?^2+?+1)
(4) -> g^5
(4) 1
Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?^3+?^2+?+1)
Looking at the source (ffp.spad) it looks like the implementation of
generator() assumes that the defining polynomial is primitive, but the
comments at the head of the file clearly state that the only
requirement on the defining polynomial is that it be irreducible.
Am I misunderstanding something here?
Paul
It seems that calling generator() on a field created with
FiniteFieldExtensionByPolynomial may not return a primitive element of
the field. Specifically, when the field is created using an
irreducible (but not primitive) polynomial.
Example:-
(1) -> p : UP(x,PrimeField(2)) := x^4 + x^3 + x^2 + x + 1
4 3 2
(1) x + x + x + x + 1
Type: UnivariatePolynomial(x,PrimeField(2))
(2) -> F16 := FiniteFieldExtensionByPolynomial(PrimeField(2), p)
(2) FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?^3+?^2+?+1)
Type: Type
(3) -> g := generator()$F16
(3) %A
Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?^3+?^2+?+1)
(4) -> g^5
(4) 1
Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?^3+?^2+?+1)
Looking at the source (ffp.spad) it looks like the implementation of
generator() assumes that the defining polynomial is primitive, but the
comments at the head of the file clearly state that the only
requirement on the defining polynomial is that it be irreducible.
Am I misunderstanding something here?
Paul
--
You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+***@googlegroups.com.
To post to this group, send email to fricas-***@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+***@googlegroups.com.
To post to this group, send email to fricas-***@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.