Pari/gp indice de Hasse

Bonjour
comment calculer l'indice de [large]H[/large]asse pour un corps multiquadratique imaginaire de la forme $$
\mathbb Q(\sqrt q, \sqrt {q'} \sqrt {q''}, i).
$$ Merci.

[Helmut Hasse (1898-1979) prend toujours une majuscule. AD]

Réponses

  • Bonjour,

    Pour commencer une petite fonction auxiliaire :
    multiquad(L,var='x) =
    { 
      my(pol1,pol2,n=#L);
      if(n==1, return(var^2-L[1]));
      pol1 = multiquad(L[1..n\2],var);
      pol2 = multiquad(L[n\2+1..-1],var);
      polredbest(polcompositum(pol1,pol2,2))
    };
    

    Ensuite tu peux calculer l'indice de Hasse avec la définition :
    Hasseindexdef(q1,q2,q3) =
    {
      my(M,bnfreal,rnf);
      bnfreal = bnfinit(multiquad([abs(q1),abs(q2),abs(q3)],'y),1);
      rnf = rnfinit(bnfreal,x^2+1);
      bnf = bnfinit(rnf.polabs);
      M = Mat(vector(7,k,bnfisunit(bnf,rnfeltup(rnf,bnfreal.fu[k]))[1..7]));
      2^(7-matrank(Mod(M,2)));
    };
    

    Ou bien en utilisant les régulateurs :
    Hasseindex(q1,q2,q3) =
    {
      my(pol,bnf,bnfreal);
      polreal = multiquad([abs(q1),abs(q2),abs(q3)],'y);
      pol = rnfequation(polreal,x^2+1);
      bnf = bnfinit(pol);
      bnfreal = bnfinit(polreal);
      round(2^7*bnfreal.reg/bnf.reg)
    };
    

    Amicalement,
    Aurel
  • Merci beaucoup Mr Aurel !
  • De rien :-)
Connectez-vous ou Inscrivez-vous pour répondre.