Polynôme à coef dans F2^6 (sage)

Bonjour, j'ai encore un petit problème avec SAGE, si vous pouviez m'aider...
Je veux déterminer l'unique polynôme de à coefs dans F26 de la forme P1=ax4+bx2+c
vérifiant P1(1)=1, P1(w)=0, P1(w^2)=0 où F26 est construit par F2[x]/<x6+x4+x3+x+1>
et w est tel que w6+w4+w3+w+1=0 dans F26
je tape cela sous SAGE
Q.<w>=PolynomialRing(GF(2))
F=GF(2**6,name='w',modulus=w**6+w**4+w**3+w+1)

MS=MatrixSpace(F,3,3)
M=MS([1,1,1,w**4,w**2,1,w**8,w**4,1])

B1=matrix(F,3,1,[1,0,0])
C1=M.solve_right(B1)
P=PolynomialRing(F,'x')
x=P.gen()
P1=C1[0]*x**4+C1[1]*x**2+C1[2]
P1(w)
et sa réponse est:
(w^3 + w^2 + w + 1)*w^4 + (w^5 + 1)*w^2 + w^5 + w^3 + w^2 + w + 1)
puis quand je tape
F((w^3 + w^2 + w + 1)*w^4 + (w^5 + 1)*w^2 + w^5 + w^3 + w^2 + w + 1))
j'obtiens bien le 0 attendu...
Mon problème c'est que P1 n'est pas considéré comme un polynôme de F26[x]?
Comment faire pour que Sage me donne bien P1(w)=0 ?
Voilà je ne sais pas ce qui cloche...
Merci de votre aide.

Réponses

  • Remplace ta ligne de définition de B1 par
    B1=vector(F,[1,0,0])
    et ça ira mieux.

    PS. Ça répare un truc, mais ça ne suffit pas. Essaie :
    F.<w>=GF(2**6,name='w',modulus=x**6+x**4+x**3+x+1)
    
    M=matrix(F,3,3,[1,1,1,w**4,w**2,1,w**8,w**4,1])
    
    B1=vector(F,[1,0,0])
    C1=M.solve_right(B1)
    P.<x>=PolynomialRing(F,'x')
    P1=C1[0]*x**4+C1[1]*x**2+C1[2]
    P1(w)
    
  • Merci de ton aide.
    j'essaie:
    Q.<w>=PolynomialRing(GF(2))
    F=GF(2**6,name='w',modulus=w**6+w**4+w**3+w+1)
    MS=MatrixSpace(F,3,3)
    M=MS([1,1,1,w**4,w**2,1,w**8,w**4,1])


    B1=vector(F,[1,0,0])
    C1=M.solve_right(B1)
    P=PolynomialRing(F,'x')
    x=P.gen()
    P1=C1[0]*x**4+C1[1]*x**2+C1[2]
    P1.parent()
    et
    la réponse est Univariate Polynomial Ring in x over Finite Field in w of size 2^6
    donc c'est déjà bien mieux
    pourtant:
    P1.subs(w)
    me donne toujours
    (w^3 + w^2 + w + 1)*w^4 + (w^5 + 1)*w^2 + w^5 + w^3 + w^2 + w + 1
    et non pas 0...
  • Essaie w.parent() et tu comprendras le problème. J'ai modifié mon message plus haut.
  • Ah oui super merci! Effectivement le w n'était pas ce que je pensais être. Je pensais que ma déclaration était correcte.
    Merci encore pour tout.
  • Avec plaisir.
  • A titre de reference, voici une solution en Xcas: session Xcas
  • Merci aussi.
    C'est super d'avoir les deux versions.
  • D'ailleurs peut-on choisir, avec Xcas, le polynôme qui engendre l’idéal par lequel on "quotiente"?
    Existe-t-il un manuel/doc de Xcas papier du style le livre bleu de SAGE? (J'aime bien le papier!!!)

    Voilà encore merci pour vos réactivités.
    François
  • On peut imposer le polynôme minimal de l'extension dans Xcas en le passant en argument a GF:
    GF(2,w^6+w^4+w^3+w+1)
    On a alors un avertissement sur le fait que le polynôme n'est pas forcement primitif, si on donne juste GF(2,6) Xcas choisit forcement un polynôme primitif.
    Il n'y a pas de manuel édité de Xcas, mais toute la documentation est en ligne depuis le menu Aide>Manuels, en particulier le manuel Algorithmes de calcul, en 2 versions, la version PDF imprimable et la version HTML5 avec un index (ce qui donne de l’intérêt a la consultation en ligne), et où on peut modifier et exécuter des exemples de la doc directement depuis le navigateur où on le consulte (cela fonctionne hors ligne donc aussi le jour de l'oral de l'agreg). Ce manuel contient aussi des énoncés et des démonstrations et peut donc servir de référence indépendamment du logiciel effectivement utilisé pour illustrer un texte.
  • Merci pour toutes ces précisions.
Connectez-vous ou Inscrivez-vous pour répondre.