I see that, thanks for the info.

Actually F16.extension(..).gen().multiplicative_order() gives
NotImplementedError

So basically, if i want to simulate the behaviour I can take two poly
f(x), g(x) and generate a field using modulus f(g(x)) composition i
guess.

best
evrim.

2015-05-04 17:55 GMT+03:00 John Cremona <john.crem...@gmail.com>:
> On 4 May 2015 at 15:22, Evrim Ulu <evrim...@gmail.com> wrote:
>>
>> Here it is:
>>
>> F16.extension(modulus=x^7+x+1)
>
> To quote from the documentation of the extension() method used here:
> "Extensions of non-prime finite fields by polynomials are not yet
> supported: we fall back to generic code:"
>
> follwed by an example.  In your case you get
>
> Univariate Quotient Polynomial Ring in x over Finite Field in g of
> size 2^4 with modulus x^7 + x + 1
>
> which does at least know that it is  a field, but its type is not
> FiniteField but  PolynomialQuatientRing .
>
> There has been recent work to improve handling of relative extensions
> of finite fields, and perhaps someone who has been involved with that
> will comment further.
>
> John Cremona
>
>>
>>
>> On Monday, May 4, 2015 at 5:02:52 PM UTC+3, Evrim Ulu wrote:
>>>
>>> Hello,
>>>
>>> I'm having trouble extending a finite field. Any help would be
>>> appreciated.
>>>
>>> F16 = GF(16, 'g')
>>> F16_x.<x> = PolynomialRing(F16, 'x')
>>> HH = GF(F16^7, modulus=x^7 + x + 1, name='h')
>>>
>>> I basically try to extend 2^4 to 2^4*7 with a degree 7 irreducible.
>>> I get the following.
>>>
>>> best,
>>> evrim.
>>>
>>>
>>> sage: HH = FiniteField(F16^7, modulus=x^7 + x + g^15, name='h')
>>>
>>> ---------------------------------------------------------------------------
>>> TypeError                                 Traceback (most recent call
>>> last)
>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/all_cmdline.pyc
>>> in <module>()
>>> ----> 1 HH = FiniteField(F16**Integer(7), modulus=x**Integer(7) + x +
>>> g**Integer(15), name='h')
>>>
>>> /usr/lib/sagemath/src/sage/structure/factory.pyx in
>>> sage.structure.factory.UniqueFactory.__call__
>>> (build/cythonized/sage/structure/factory.c:1207)()
>>>     362             False
>>>     363         """
>>> --> 364         key, kwds = self.create_key_and_extra_args(*args, **kwds)
>>>     365         version = self.get_version(sage_version)
>>>     366         return self.get_object(version, key, kwds)
>>>
>>>
>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/finite_rings/constructor.pyc
>>> in create_key_and_extra_args(self, order, name, modulus, names, impl, proof,
>>> check_irreducible, **kwds)
>>>     426             proof = arithmetic()
>>>     427         with WithProof('arithmetic', proof):
>>> --> 428             order = Integer(order)
>>>     429             if order <= 1:
>>>     430                 raise ValueError("the order of a finite field must
>>> be at least 2")
>>>
>>> /usr/lib/sagemath/src/sage/rings/integer.pyx in
>>> sage.rings.integer.Integer.__init__
>>> (build/cythonized/sage/rings/integer.c:6020)()
>>>     688                     return
>>>     689
>>> --> 690                 raise TypeError, "unable to coerce %s to an
>>> integer" % type(x)
>>>     691
>>>     692     def __reduce__(self):
>>>
>>> TypeError: unable to coerce <class
>>> 'sage.modules.free_module.FreeModule_ambient_field_with_category'> to an
>>> integer
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sage-support" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to sage-support+unsubscr...@googlegroups.com.
>> To post to this group, send email to sage-support@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sage-support.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the Google 
> Groups "sage-support" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/sage-support/mVoFYqsfAAY/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> sage-support+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-support@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to