Bonjour,

Il est malheureusement un peu problématique de construire des tours
(extensions successives) de corps.  Sage sait bien vérifier que votre F6
est un corps, mais F6 est toujours représenté comme anneau quotient et
non comme corps fini ; c'est pourquoi certaines opérations naturelles ne
marchent pas.

Une solution possible est de commencer par construire F12 et de voir les
autres corps comme des sous-corps de F12.  Un calcul montre que le
polynôme minimal de l'élément primitif w de F12 est x^12 - 2x^6 + 2.  On
peut maintenant faire

sage: t=-(2^62 + 2^55 +1)
sage: p=36*t^4+36*t^3+24*t^2+6*t+1
sage: F=GF(p)
sage: R.<x> = PolynomialRing(F)
sage: f = x^12 - 2*x^6 + 2
sage: F12.<w> = FiniteField(p^12, modulus=f)
sage: v = w^2
sage: i = v^3 - 1
sage: i^2 == -1
True

En principe, il est possible de construire explicitement les sous-corps
et les plongements F2 -> F6 -> F12, mais il est sans doute plus facile
de faire tous les calculs directement dans F12.

Peter


> بتاريخ الأربعاء، 19 مارس، 2014 UTC+1 9:26:58 م، كتب ghamma...@gmail.com:
> > Bonsoir
> > SVP, j'ai besoin de definir sur Sage 3 extensions de corps, mais je
> > n'arrive pas. Je peux definir que deux extensions.

> When i find the test F6.is field() the answer is true,

> in this representation i have Fp^2, Fp^6 and Fp^12 are fields. But I
> need that Fp^2 be a field extension bacause I need to seperate his
> elements(a in Fp^2=a0+i*a1 and i need the value of a0=a[0] and
> a1=a[1])
> #t=2^62-2^54+2^44
> t=-(2^62 + 2^55 +1)
> #t=2^63-2^49
> p=36*t^4+36*t^3+24*t^2+6*t+1
> r=36*t^4+36*t^3+18*t^2+6*t+1
> tr=6*t^2+1
> #-------------- Fp--------------
> F=GF(p)
> #-------------------------------
> b=2
> #--------------Fp^2--------------
> K2.<x>=PolynomialRing(F)
> F2.<i>=FiniteField(p^2,modulus=x^2+1)
> #------------------------------------
> #-------------Fp^6---------------------
> K6.<y>=PolynomialRing(F2)
> F6.<v>=F2.extension(y^3-i-1)
> #-------------------------------------

> #---------------Fp^12-------------------

> K12.<z>=PolynomialRing(F6)
> F12.<w>=F6.extension(z^2-v)
> F12.is_field=lambda:True
> #----

-- 
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