Une équation entière

Bonjour

Trouver les solutions entières (dans IN x IN ) de l'équation x2 + 3y2 = 37828.

Bien cordialement.
kolotoko
«1

Réponses

  • Il est facile de majorer $x$ et $y$, puis de tester tous les candidats avec un ordinateur pour en déduire toutes les solutions.
    C’est un passage en force sans subtilité, mais c’est efficace dans ce cas.
  • Généralisation ?
    https://math.stackexchange.com/questions/76878/integers-expressible-in-the-form-x2-3y2
    On a : $37~828=2^2 \cdot 7^2 \cdot 193$, et $7=2^2+3\cdot 1^2$, et $193=1^2+3\cdot 8^2$.
    Etc.
  • Bonjour,

    il y a 9 solutions.

    Bien cordialement.

    kolotoko
  • Bonjour,

    merci Chaurien pour ces remarques.

    Ce n'est pas un hasard si 193 apparait mais cela provient essentiellement de 3^4 + 4^4 + 5^4 - 3^2 * 4^2 - 4^2 * 5^2 - 5^2 * 3^2 = 81 + 256 + 625 - 144 - 400 - 225 = 962 - 769 = 193 car je suis parti du triangle rectangle (3, 4, 5) pour construire mon énoncé après quelques cogitations.
    J'ai aussi utilisé le théorème de Lapointe (mathématicien canadien, je crois) qui dit ceci : Soit X, Y, Z le triangle tel que (vectoriellement) BX = x*BC, CY = x*CA, AZ = x*AB alors aire de XYZ = aire de ABC * (3x2 - 3x + 1).
    Le théorème de Lapointe est facile à établir.
    Le facteur 7 apparait en faisant x = 2.
    J'ai aussi utilisé la notion de matrice circulante 3 x 3 et les racines cubiques de l'unité 1, j, j2 .
    Ce qui est est certain c'est que la méthode indiquée par MrJ donnera la réponse à la question, d'ailleurs je l'ai aussi utilisée pour vérification.
    Il y a de la géométrie derrière un énoncé d'arithmétique.
    Bien cordialement.
    kolotoko
  • Bonsoir,

    à partir des remarques de Chaurien :

    193 = 12 + 3.82 et 37 828 = 22 . 72 . 193, on a le couple solution (x, y) = 2 . 7 . (1, 8) = 14 . (1, 8) = (14, 112) .
    Bien cordialement.
    kolotoko
  • Et bien sûr on applique l'identité de Fibonacci-Lagrange : $(a^{2}+db^{2})(a^{\prime 2}+db^{\prime 2})=(aa^{\prime }-dbb^{\prime})^{2}+d(ab^{\prime }+ba^{\prime })^{2}$.
  • @Chaurien : je ne savais pas que Fibonacci avait quoi que ce soit à voir avec cette identité.
  • Bonjour,

    une belle identité qui masque un calcul de produit de matrices 2 x 2.

    Bien cordialement.

    kolotoko
  • Il me semble qu'on trouve ça dans le Liber Quadratorum de Fibonacci.
    https://www.livre-rare-book.com/book/5472499/17992/fr
    Leonardo Bigollo, dit Léonard de Pise, dit Fibonacci, est le père du renouveau des mathématiques européennes.
  • Bonjour,

    il parait que long doigt (:P) cette identité à Brahmagupta (598 - 668 ).

    Bien cordialement.

    kolotoko
  • @ kolotoko
    On peut voir ça comme un produit matriciel, ou comme le produit de deux éléments d'une extension quadratique, comme le produit de deux nombres complexes : $(a+b\sqrt{-d})(a^{\prime }+b^{\prime }\sqrt{-d})=(aa^{\prime }-dbb^{\prime
    })+(ab^{\prime }+ba^{\prime })\sqrt{-d}$.
    Laquelle extension peut aussi s'interpréter comme un espace de matrices $2 \times 2$, c'est une des Constructions de $\mathbb C$, dont on fait grand cas périodiquement sur ce forum, toujours féru de l'Origine du Monde.
    Tout est dans tout ... et réciproquement ;-).
    Bonne journée.
    Fr. Ch.
  • Bonjour,

    il y a 9 solutions pour l'équation proposée mais n = 37828 n'est pas le plus petit nombre tel que x2 + 3.y2 = n possède 9 solutions entières (dans IN x IN ).
    Trouver un entier n inférieur à 37828 et les 9 solutions (x, y) correspondantes.

    Bien cordialement.

    kolotoko
  • Il y a deux solutions : 8450 et 14365.
    Je vous laisse écrire les couples $(x,y)$ qui conviennent dans chaque cas.
    def cherche9(top):
        l = {}
        top_x = int(top**.5)
        for x in range(top_x):
            x2 = x*x
            top_y = int(((top - x2)/3)**.5)+1
            for y in range(top_y):
                k = x2 + y*y
                if k in l:
                    l[k].append((x,y))
                else:
                    l[k] = [(x,y)]
        return {k:l[k] for k in l if len(l[k])==9}
    
    print(cherche9(37828))
    
  • Bonjour,

    pour n = 8 450 ou 14 368 , il n'y a pas de solutions .

    n = 2 548 est la plus petite valeur qui convient. Je n'ai pas cherché les couples solutions.
    Il y a aussi par exemple 11 172 avec les couples (x, y) = (3, 61) ; (27, 59); (42, 56); (63, 49); (75, 43); (90, 32); (93, 29); (102, 16); (105, 7).
    32 + 3*612 = 272 + 3*592 = ... = 11 172

    Bien cordialement.

    kolotoko
  • LOU16
    Modifié (February 2023)
    Bonjour,
    Le propos qui suit, relatif à la dernière question de ce fil, fournit une caractérisation des entiers $n$ pour lesquels il existe exactement $9$ couples $(x;y) \in \N^2$ vérifiant $x^2+3y^2 =n, \:$ obtenue à partir d'une expression un peu luxuriante du nombre de ces décompositions.

    $\forall n \in \N^*, \:\: A(n ):=\text{Card} \left\{ (x;y) \in \N^2 \mid x^2+3y^2 =n \right\}, \quad\delta _n := \left\{\begin {array} {cl} 1& \text{si}\:\: n\equiv 0 \mod 4 .\\ 0 & \text{sinon}.\end{array}\right. \\ \mathbb P \:\text{est l'ensemble des nombres premiers.} \:\:A:= \left\{ p \in \mathbb P \mid p \equiv 1 \mod 3.\right\}, \quad B:= \left\{ p \in \mathbb P \mid p \equiv 2 \mod 3, \: p\neq 2.\right\}.\quad\\ \widehat B \: \text{est l'ensemble des produits d'éléments de}\: B. \:\:\:(1\in \widehat {B}) \quad \text{Alors}:$
    $$\boxed{\quad A(n) =\displaystyle \left(\prod _{p\in B\cup \{2\}}\dfrac {1 +(-1)^{v_p(n)}}2\right ) \Bigg \lfloor \dfrac {1+(1+2 \delta_n) \prod _{p\in A}(1 + v_p(n))}2 \Bigg \rfloor \quad}$$
    Ainsi:$\quad \forall n \in \N^* , \quad A(n) = 9 \iff \exists a \in \N, s \in \widehat B \:\:\text {tels que}\:\: \dfrac n{3^a s^2 } =\left\{\begin{array}{lc} 4^b q^2 r \:&\text{ou}\\
    p^2q^2r\:&\text{ou} \\
    4^b q^5\:& \text{ou}\\
    p^2q^5 \:& \text{ou} \\
    p^8q\:&\text{ou}\\
    p^{16}\:&\text{ou}\\
    p^{17}.\end{array}\right.\qquad (b\in \N^*\:\: p,q,r \in A\:\text {distincts}.)$

    $2548=4 \times 7^2\times 13 ,\quad 6076=4\times 7^2\times 31,\quad 3724,\quad 4 \times 7^2\times 19, \quad4732=4\times 13^2\times 7,\quad 7252= 4 \times 7^2\times 37, \quad 7644=3\times 4 \times 7^2\times 13\dots $
  • Désolé, j'ai fait une boulette dans mon algorithme...

    Voici une meilleure mouture.
    def decomp(top):
        l = {}
        top_x = int(top**.5)+1
        for x in range(top_x):
            x2 = x*x
            top_y = int(((top - x2)/3)**.5)+1
            for y in range(top_y):
                k = x2 + 3*y*y  #c'est là que j'avais oublié le 3
                if k in l:
                    l[k].append((x,y))
                else:
                    l[k] = [(x,y)]
        return l
    
    def cherche_n_decomp(n, l):
        return {k:l[k] for k in l if len(l[k])==n}
    
    print(sorted(list(cherche_n_decomp(9, decomp(37828)))))
    

    On trouve alors 44 solutions inférieures ou égales à 37828 :
    2548, 3724, 4732, 6076, 7252, 7644, 8428, 10108, 10192, 11172, 11956, 12844, 13132, 14196, 14308, 14896, 15484, 18228, 18772, 18928, 19012, 20188, 20956, 21364, 21756, 22932, 24304, 24892, 25012, 25284, 26908, 27244, 29008, 29068, 29596, 30324, 30576, 30772, 31948, 33516, 33712, 35476, 35868, 37828
    
  • Bonjour,

    les premières valeurs de n sont données par la deuxième expression et on trouve : n = 2 548; 3 724; 6 076; 7 252; 7 644; 8 428; ...

    Pour ce qui est du problème initial, les 9 couples solutions sont : (x, y) = (14, 112); (59, 107); (85, 101); (109, 93); (131, 83); (161, 63); (175, 49); (190, 24); (194, 8).
    Une suite en rapport avec ce problème : A119395 .
    Bien cordialement.
    kolotoko
  • Hello,

    Je suis très content de l'existence de ce fil car cela m'a permis de comprendre un peu le papier de Ernst Kani, The Space of Binary Theta Series in https://mast.queensu.ca/~kani/papers/theta.pdf (preprint) et https://mast.queensu.ca/~kani/papers/2013K.pdf (version publiée).

    $\bullet$ Ici, il intervient la $\Theta$-série de la forme quadratique $(1,0,3) = x^2 + 3y^2$ de discriminant $-12$ qui est l'habitant de $\Zq$ suivant :
    $$
    \Theta_{1,0,3}(q) = \sum_{(x,y) \in \Z\times\Z} q^{x^2 + 3y^2} = \sum_{n \ge 0} u_n q^n \qquad \text{avec} \qquad
    u_n = \#\{ (x,y \in \Z \times \Z \mid x^2 + 3y^2 = n\}
    $$Attention à $\Z$ versus $\N$, il faudra en tenir compte. Il se trouve que c'est lié à l'anneau quadratique de gauche
    $$
    \Z[\sqrt {-3}] = \Z[2j] \quad \subset \quad \Z[j] \quad\subset \quad K = \Q(j) = \Q(\sqrt {-3})
    $$L'anneau de droite $\Z[j]$ qui est principal (et même euclidien) est l'anneau des entiers du corps quadratique $K$ et fait débarquer une autre forme quadratique $(1,1,1) = x^2 + xy + y^2$ de discriminant $-3$, ainsi que sa $\Theta$-série
    $$
    \Theta_{1,1,1}(q) = \sum_{(x,y) \in \Z\times\Z} q^{x^2 + xy + y^2} = \sum_{n \ge 0} v_n q^n \qquad \text{avec} \qquad
    v_n = \#\{ (x,y \in \Z \times \Z \mid x^2 + xy + y^2 = n\}
    $$Il se trouve que les deux séries sont reliées (c'est une manière d'écrire l'exemple 34 de Kani dans la version non publiée) :
    $$
    3 \Theta_{1,0,3}(q) = \Theta_{1,1,1}(q) + 2\Theta_{1,1,1}(q^4) \qquad \qquad (\heartsuit)
    $$Note : l'anneau $\Z[\sqrt {-3}]$ est d'indice $f = 2$ dans l'anneau $\Z[j]$. On dit alors que $f = 2$ est le conducteur de l'anneau $\Z[\sqrt {-3}]$ dans l'anneau des entiers de $K$. Ceci explique pourquoi $-12 = f^2 \times (-3)$. Ces discriminants sont des notions intrinsèques aux anneaux quadratiques. L'anneau $\Z[\sqrt {-3}]$ est PRESQUE principal : tout idéal inversible de cet anneau est principal (c'est important pour le statut de $\Theta_{1,0,3}$).

    $\bullet$ Pour coller à Kani, et surtout pour profiter d'un certain nombre de miracles, il faut diviser par le nombre d'unités des anneaux : 2 pour $\Z[\sqrt {-3}]$ et 6 pour $\Z[j]$ i.e. poser :
    $$
    A_n = {1 \over 2} \#\{ (x,y \in \Z \times \Z \mid x^2 + 3y^2 = n\} \qquad\qquad
    B_n = {1 \over 6} \#\{ (x,y \in \Z \times \Z \mid x^2 + xy + y^2 = n\}
    $$Le premier miracle c'est que $B_n$ et $A_n$ sont multiplicatives
    $$
    A_{nm} = A_n A_m \qquad B_{nm} = B_n B_m \qquad n \wedge m = 1
    $$Il suffit donc de déterminer $B_{p^v}$ pour $p$ premier (voir point suivant), ce qui permettra d'attraper $B_n$ pour tout $n$ puis par suite $A_n$ grâce à $(\heartsuit)$.

    Il y a beaucoup, beaucoup d'autres choses à raconter car débarquent des caractères de Dirichlet, des formes modulaires de poids 1, $M_1(\Gamma_1(N), \chi_{-N})$ pour $N = 3, 12$, $\chi_D$ étant le caractère de Kronecker de $D$ ...etc...

    $\bullet$ Je ne sais pas encore ce que je vais raconter par la suite. En tout cas, je peux montrer quelque chose de concret (?). D'abord comment se détermine $B_{p^v}$ puis $B_n$ puis $A_n$:
    [color=#000000]// B(n) = (1/6) *  #{(x,y) in ZxZ | x^2 + x*y + y^2 = n}. Division par 6 = #Z[j]^x
    // B est multiplicative et
    //   B(3^v) = 1
    //   B(p^v) = v+1          si p = 1 mod 3
    //             1 + (-1)^v
    //   B(p^v) =  ----------  si p = 2 mod 3  i.e. 1 si v pair, 0 sinon
    //                2
    
    B := function(n)
      P := PrimeDivisors(n) ;
      P1 := [p : p in P | p mod 3 eq 1] ;
      P2 := [p : p in P | p mod 3 eq 2] ;
      // contribution des premiers p = 1 mod 3  : 1 + v_p(n)
      C1 := [Z| 1 + Valuation(n,p) : p in P1] ;
      // contribution des premiers p = 2 mod 3  : 1 si v_p(n) est pair, 0 sinon
      C2 := [Z| IsEven(Valuation(n,p)) select 1 else 0 : p in P2] ;
      return &*C1 * &*C2 ;
    end function ;
    
    B4 := func < n | ok select B(q) else 0 where ok,q := IsDivisibleBy(n,4) > ;
    // A(n) = (1/2) * #{(x,y) in ZxZ | x^2 + 3*y^2 = n}.   Division par 2 = #Z[2j]^x
    A := func < n | B(n) + 2*B4(n) > ;
    [/color]
    
    Il faut faire très attention au fait qu'il y a des multiplicateurs partout dont il faut tenir compte : d'une part le nombre d'unités des anneaux et d'autre part $\Z \times \Z$ dans ce post versus $\N \times \N$ dans le fil. On a en fait $A_n = 2a_n$ (notations de LOU16) et donc ici $a_n = 9$, c'est pareil que $A_n = 18$
    [color=#000000]> time Bisam := [n : n in [1..37828] | A(n) eq 2*9] ;                                                                
    Time: 0.710
    > #Bisam ;
    44
    > Bisam ;
    [ 2548, 3724, 4732, 6076, 7252, 7644, 8428, 10108, 10192, 11172, 11956, 12844, 13132, 14196, 14308, 14896, 15484, 
    18228, 18772, 18928, 19012, 20188, 20956, 21364, 21756, 22932, 24304, 24892, 25012, 25284, 26908, 27244, 29008, 
    29068, 29596, 30324, 30576, 30772, 31948, 33516, 33712, 35476, 35868, 37828 ]
    [/color]
    
    Je n'ai pas encore regardé le post de LOU16 (qui a subi une toilette d'automne, j'ai les deux versions).

    Merci à toutes et tous pour l'existence de ce fil.
  • $\def\ACQ{A^{\rm CQ}}\def\ALOU{A^{\rm LOU}}$LOU16
    J'ai mentionné tes $a_n$ mais ils n'existent plus dans la dernière version de ton post. Histoire de pouvoir échanger (on a maintenant la même notation pour deux objets différents, je parle de $\N$ chez toi, de $\Z$ chez moi, que je dois diviser par 2 because les unités de $\Z[2j]$)
    $$
    \ALOU(n) = \#\{ (x,y) \in \N \times \N \mid x^2 + 3y^2 = 1\}
    \qquad\qquad
    \ACQ(n) = {1 \over 2} \#\{ (x,y) \in \Z \times \Z \mid x^2 + 3y^2 = 1\}
    $$La mienne est multiplicative (je n'y suis pour rien : formes modulaires de poids 1 ...etc..., cf Kani). Mais la tienne ne l'est pas (je ne parle pas de formule mais par définition)
    $$
    \ALOU(4) = 2, \quad \ALOU(7) = 1, \quad \ALOU(28) = 3, \qquad \qquad\qquad
    \ACQ(4) = 3, \quad \ACQ(7) = 2, \quad \ACQ(28) = 6
    $$Quand tu auras le temps, pourras tu vérifier ce que je raconte sur les 3 valeurs de $\ALOU$ ci-dessus ? Merci.

    Voici une autre manière de calculer $\ACQ$ sans passer par $B$ de $x^2 + xy + y^2$, en utilisant la multiplicativité et la connaissance sur les $p^v$ (facteurs eulériens).
    [color=#000000]////  Calcul "direct" de A(n) i.e. par multiplicativite sans passer par B.
    // Ici, precisions sur les "facteurs euleriens"
    // A(n) = (1/2) *  #{(x,y) in ZxZ | x^2 + 3*y^2 = n}. Division par 2 = #Z[2j]^x
    // A est multiplicative et
    //   A(3^v) = 1
    //   A(2^v) = 3 si v pair, 0 sinon
    //   A(p^v) = v+1          si p = 1 mod 3
    //   A(p^v) = 1 si v pair, 0 sinon  si p = 2 mod 3 et DISTINCT de 2
    
    Adirect := function(n)	  // sans passer par B
      P := PrimeDivisors(n) ;
      P1 := [p : p in P | p mod 3 eq 1] ;
      P2 := [p : p in P | p mod 3 eq 2 and p ne 2] ;
      // contribution des premiers p = 1 mod 3  : 1 + v_p(n)
      C1 := [Z| 1 + Valuation(n,p) : p in P1] ;
      // contribution des premiers p = 2 mod 3  : 1 si v_p(n) est pair, 0 sinon
      C2 := [Z| IsEven(Valuation(n,p)) select 1 else 0 : p in P2] ;
      // contribution de p=3 est 1 que 3 soit dans P ou pas
      C3 := 1 ;
      // contribution de 2 : 1 si 2 notin P, sinon cf plus haut
      Cdeux := 2 notin P select 1 else (IsEven(Valuation(n,2)) select 3 else 0) ;
      return &*C1 * &*C2 * C3 * Cdeux ;
    end function ;
    [/color]
    
    PS : je n'ai pas encore regardé ta formule.
  • Salut Claude,

    Tout est vrai dans ce que tu déclares à propos des $A^{\text{LOU}}(n).\:\:$ Rien de multiplicatif dans $A^{\text{LOU}}$ , et vu le caractère chaotique du bricolage qui m'a conduit à "ma" formule, cela n'a rien d'étonnant.

    Les $A^{\text {CQ}} (p^v)$ sont tous bien en adéquation avec les $A^{\text{LOU}}(p^v)$.
  • Bonjour,


    j'ai regardé la formule donnée par claude quitté dans le cas n = 22 . 134 . 61 = 6 968 884.

    Cela donne A(4) = 3; A(134) = 5, A(61) = 2 puis A(n) = 3 . 5 . 2 = 30.

    Il y a donc 15 couples solutions (en nombre entier naturel ) (x, y) pour x2 + 3y2 = 6 968 884, si j'ai bien compris.

    Sauf erreur : (34, 1 524); (169, 1 521); (371, 1 509); (1 079, 1 391); (1 261, 1 339); (1 378, 1 300); (1 547, 1 235); (2 078, 940); (2 197, 845); (2 269, 779); (2 303, 745); (2 366, 676); (2 449, 569); (2 626, 156); (2 639, 39) .

    Bien cordialement.

    kolotoko
  • Bonjour,
    @Kolotoko
    Tu aurais dû regarder la formule $"A^{\text{LOU}} (n)="$ qui s'intéressait à ton problème: $\:\:\text{Card}\left \{(x;y) \in \N^2 \mid x^2+ 3y^2 =n\right \}\:?$
    Elle donne $A^{\text{LOU}} (4 \times 13^4\times61) =15.$
    $A^{\text{CQ}} (n) \:$ s'occupe de $\:\:\dfrac 12\text{Card}\left \{(x;y) \in \Z^2 \mid x^2+ 3y^2 =n\right \},\qquad A^{\text{CQ}} (4 \times 13^4 \times 61 )= 30.$
    Mais $A^{\text{CQ}} (n) $ n'est pas toujours le double de $A^{\text{LOU}} (n)$.
  • Bonjour,

    oui, on a bien 15 solutions pour n = 6 968 884.

    Je me demande comment les trouver facilement dans le cas général (pour n quelconque).

    Bien cordialement.

    kolotoko
  • $\def\ACQ{A^{\rm CQ}}\def\ALOU{A^{\rm LOU}}\def\Legendre#1#2{\left(\frac{#1}{#2}\right)}$Ce n'est pas toujours vrai que $\ALOU(n)$ est la moitié de $\ACQ(n)$. Par exemple, $\ACQ(n)$ peut être impair, penser à $\ACQ(p^v) = v+1$ lorsque $p \equiv 1 \bmod 3$.

    @LOU16 Je n'ai pas eu le courage de vérifier ta formule (qui possède une petite odeur de multiplicativité). Il n'y a que toi pour établir ce genre de formule !

    De mon côté, je me suis contenté de décrypter Kani (un papier que je possède depuis pas mal de temps et que j'essaie de comprendre), ce qui m'a demandé un peu de travail. Sans l'exemple que j'ai cité dans son preprint (qui a disparu dans la version publiée, ou plutôt qui a été englobé dans quelque chose de plus général), je n'y serais pas arrivé. Bref, j'ai appris des choses.

    J'avais pensé que je pourrais parler de L-séries et de formes modulaires (de poids 1) : pas si simple car je suis loin de maîtriser le sujet. Et pour faire des posts, cela demande du travail si on veut un peu expliquer. Pour l'instant, ni toi, ni moi n'avons expliqué d'où viennent les formules. De mon côté, en un certain sens, c'est plus facile vu la multiplicativité (je ne sais pas s'il en existe une justification élémentaire).

    Pour des raisons pédagogiques, cela serait plus simple de commencer par le nombre de solutions de $x^2 + xy + y^2 = n$ car le premier 2 n'a pas le caractère pertubateur qu'il possède pour $x^2 + 3y^2 = n$. En continuant à utiliser mes notations pour $B(n)$ i.e. le sixième du nombre des solutions $(x,y) \in \Z \times \Z$ telles que $x^2 + xy + y^2+ 1 = n$, la L-série de $B(\bullet)$ n'est autre que la fonction de Dedekind $\zeta_K$ du corps quadratique $K = \Q(j) = \Q(\sqrt {-3})$. Et on a
    $$
    \sum_{n \ge 1} {B(n) \over n^s} = \prod_p \sum_{v \ge 0} {B(p^v) \over (p^v)^s} = \prod_p Z_p(1/p^s) \qquad\qquad
    Z_p(T) = {1 \over 1-T} \times {1 \over 1 - \chi_{-3}(p) T} \qquad \chi_{-3}(p) = \Legendre {-3}{p}
    $$Le symbole de Kronecker $\chi_{-3}$, c'est presque le symbole de Legendre sauf qu'il est défini pour $p = 2$. C'est à dire que l'on a :
    $$
    \chi_{-3}(p) = \cases { 0&si $p=3$\cr
    1&si $p \equiv 1 \bmod 3$\cr
    -1&si $p \equiv 2 \bmod 3$\cr
    }
    $$Du coup, pour attraper les $B(p^v)$, on développe $Z_p(T)$ en série formelle de $T$:
    $$
    Z_p(T) = \cases {
    {1 \over 1-T} = 1 + T + T^2 + T^3 + \cdots &si $p = 3$\cr
    {1 \over (1-T)^2} = 1 + 2T + 3T^2 + 4T^3 + \cdots &si $p = 1 \bmod 3$\cr
    {1 \over 1-T^2} = 1 + T^2 + T^4 + \cdots &si $p = 2 \bmod 3$\cr
    }
    $$Ce qui permet de mettre la main sur des coefficients $b_{p,v}$ définis par
    $$
    Z_p(1/p^s) = \sum_{v \ge 0} {b_{p,v} \over (p^v)^s} \qquad
    \text{ceci détermine le coefficient } b_{p,v} \text { qui n'est autre que  } B(p^v)
    $$On a le même type de résultat pour $x^2 + 3y^2 = n$, sauf que l'on a un facteur eulérien $Z_2(T)$ pour $p = 2$, qui n'est plus uniforme par rapport aux autres et complique la formule pour les $A(n)$. Pour moi,
    $$
    Z_2(T) = 1 + 3T^2 + 3T^4 + \cdots = -2 + {3 \over 1-T^2} = {1 + 2T^2 \over 1-T^2}
    $$ Ca aussi, c'est pour moi, afin de ne pas perdre la main (élaborer une $L$-série de manière manuelle)
    [color=#000000]> gammaFactors := [0,1] ;                                                     
    > conductor := 3 ;
    > EulerFactorDen := func < p, unused | (1-T) * (1-KroneckerSymbol(-3,p)*T) > ;
    > L := LSeries(1, gamma, conductor, EulerFactorDen) ;
    > N := 50 ;            
    > FormalSeries(L, N) ;         
    q + q^3 + q^4 + 2*q^7 + q^9 + q^12 + 2*q^13 + q^16 + 2*q^19 + 2*q^21 + q^25 + q^27 + 2*q^28 + 2*q^31 + q^36 + 
        2*q^37 + 2*q^39 + 2*q^43 + q^48 + 3*q^49
    > &+[B(n)*q^n : n in [1..50]] ;
    q + q^3 + q^4 + 2*q^7 + q^9 + q^12 + 2*q^13 + q^16 + 2*q^19 + 2*q^21 + q^25 + q^27 + 2*q^28 + 2*q^31 + q^36 + 
        2*q^37 + 2*q^39 + 2*q^43 + q^48 + 3*q^49
    > FormalSeries(L,N) - &+[B(n)*q^n : n in [1..50]] ;
    0
    [/color]
    
  • Re
    @Claude
    Ton message m'a permis de moi aussi me replonger dans ces histoires.
    Pour $B(n)$, les choses sont effectivement plus simples, et, à la lumière de ton intervention, je suis parvenu à une belle expression de $B(n)$, qui bien entendu doit être parfaitement connue. Je conserve tes notations.

    $\mathcal I$ est l'ensemble des idéaux de $\Z[\mathbf j],\quad \mathfrak P$ celui des idéaux premiers de $\Z[\mathbf j].$
    $B(n) =\dfrac 16\text{Card}\left\{(x;y) \in \Z^2 \mid x^2-xy + y^2 =n\right\} = \text {Card}\left\{I \in \mathcal I\mid \mathcal N(I) = n \right\}. \quad $ Alors :
    $\displaystyle \sum _{n\geqslant 1}\dfrac {B(n)}{n^s} =\sum_{I \in \mathcal I}\dfrac1 {\mathcal N(I)^s}= \prod_{\pi \in \mathfrak P} \Big(1 -\dfrac 1{\mathcal N(\pi)^s}\Big)^{-1}=\Big(1-\dfrac 1{3^s}\Big)^{-1}\prod _{\substack {p\in \mathbb P\\ p \equiv 1 \mod 3}}\Big( 1- \dfrac 1{p^s}\Big) ^{-2}\prod _{\substack {q \in \mathbb P\\ q \equiv 2 \mod 3}}\Big( 1- \dfrac 1{q^{2s}}\Big) ^{-1}$
    $\displaystyle \sum _{n\geqslant 1}\dfrac {B(n)}{n^s} =\prod _{p\in \mathbb P}\Big(1-\dfrac 1{p^s}\Big)^{-1}\prod _{p\in \mathbb P}\Big(1-\dfrac {\chi(p)}{p^s}\Big)^{-1} =\sum_{n\geqslant 1} \dfrac 1{n^s} \sum_{n\geqslant 1} \dfrac {\chi(n)} {n^s}. \qquad \boxed{\displaystyle B(n) =(\mathbf 1 \star \chi)(n) =\sum_{d/n}\chi(d) .} $

    @Kolototo
    Je réponds à ta question, d'une manière un peu approximative, mais qui donne une idée de la façon dont sont structurées toutes les solutions.
    Si $n$ contient dans sa décomposition en facteurs premiers un nombre $p \equiv 2 \mod 3$ affecté d'un exposant impair, alors $A(n) =0$.
    Dans le cas contraire , par exemple $n =4 \times 7^3\times 13^2 \times 37.\:\:$ Je note $\alpha = \mathbf i\sqrt{3}$

    On décompose $4 =2^2+( 3\times0^2)=1^2+(3\times 1^2), \qquad 7=2^2+( 3\times1^2), \qquad 13=1^2+ (3\times2^2), \qquad 37 =5^2+ (3\times2^2).$
    (Pour tout $p\:\text{premier}\: \equiv 1 \mod 3$, une telle décomposition existe et est unique.)

    Alors les solutions dans $\N^2$ de $x^2+3y^2=n$ sont les couples $(|A|;|B|)$ où les entiers $A$ et $B$ sont définis par :
    $$A +B\alpha =( 2\:\pm \:0\alpha)\Big[(2\:\pm1\: \alpha)(2\:\pm\:1 \alpha)(2\:\pm\:1 \alpha)\Big]\Big[(1\:\pm\:2 \alpha)(1\:\pm\:2 \alpha)\Big](5\:\pm\:2 \alpha)\phantom{.}\quad\text{ou} \\
    A +B\alpha = (1\:\pm1\:\alpha)\Big[(2\:\pm\:1 \alpha)(2\:\pm\:1 \alpha)(2\:\pm\:1 \alpha)\Big]\Big[(1\:\pm\:2 \alpha)(1\:\pm2 \:\alpha)\Big](5\:\pm2\: \alpha).\phantom{\quad\text{ou}}
    $$ On obtient ainsi $A^{\text{LOU}} (n) =36$ solutions.
  • @LOU16 : effectivement c'est "bien connu" (des gens qui travaillent là-dedans). Une façon de le voir immédiatement est la chose suivante : la fonction $\zeta$ de Dedekind de $K=\mathbb Q(j)$ admet la factorisation suivante : $\zeta_K(s) = \zeta(s) L(s, \chi_{-3})$. Les coefficients du produit de deux séries de Dirichlet sont donnés par la convolution de Dirichlet des coefficients des deux séries. On en déduit $B(n) = (\mathbf 1 * \chi_{-3})(n) = \sum_{d \mid n} \chi_{-3}(n)$. La clé c'est bien sûr la factorisation dont je me sers, que tu as redémontré, et qui nécessite de connaître la factorisation des nombres premiers dans $\mathbb Z[j]$.
  • $\def\ZP{Z^{\text{parasite}}}$LOU16. Bien vu ton post sur l'expression de $B(\bullet)$ via $\bf 1 \star \chi_{-3}$. Du coup, je te parle de deux choses.

    1. Ici, indirectement les $B(n)$. Un objet mystérieux nommé $M_1(\Gamma_1(3), \chi_{-3})$ : espace des formes modulaires de poids 1 relativement ... etc... Il est de dimension 1. Et on sait démontrer que la $\Theta$-série $\Theta_{1,1,1}(q)$ de $(1,1,1) = x^2 + xy + y^2$ de discriminant $-3$ est le développement en $q = 0$ d'un habitant de $M_1(\Gamma_1(3), \chi_{-3})$. J'ai cherché pendant plusieurs jours à y faire rentrer un autre habitant (par exemple, un machin que l'on appelle un $\eta$-produit ou quotient) mais je n'ai rien trouvé. En désespoir de cause, je demande au logiciel ce qu'il sait de $M_1(\Gamma_1(3), \chi_{-3})$.

    D'abord un petit coup d'oeil sur $\Theta_{1,1,1}(q)$ avec ses coefficients multiples de 6. Grosso modo les $B(n)$, au facteur 6 près.
    [color=#000000]> q111 ;
    <1,1,1>
    > Parent(q111) ;
    Binary quadratic forms of discriminant -3
    > 
    > N := 50 ;                
    > T111<q> := ThetaSeries(q111, N) ;
    > T111 ;
    1 + 6*q + 6*q^3 + 6*q^4 + 12*q^7 + 6*q^9 + 6*q^12 + 12*q^13 + 6*q^16 + 12*q^19 + 12*q^21 + 6*q^25 + 6*q^27 + 
        12*q^28 + 12*q^31 + 6*q^36 + 12*q^37 + 12*q^39 + 12*q^43 + 6*q^48 + 18*q^49 + O(q^51)
    [/color]
    
    Puis $M_1(\Gamma_1(3), \chi_{-3})$ pour vérifier que tout baigne.
    [color=#000000]> M1minus3 := ModularForms(KroneckerCharacter(-3), 1) ;
    > M1minus3 ;
    Space of modular forms on Gamma_1(3) with character Kronecker character -3, weight 1, over Integer Ring.
    > Dimension(M1minus3) ;
    1
    > Basis(M1minus3) ;
    [  1 + 6*q + 6*q^3 + 6*q^4 + 12*q^7 + 6*q^9 + O(q^12) ]
    > f := qExpansion(Basis(M1minus3)[1], N) ;
    > f - T111 ;
    O(q^50)
    [/color]
    
    $\bullet$. Je passe aux $A(n)$ (``mes $A^{\text{CQ}}(n)$''), suite liée à la forme quadratique $x^2 + 3y^2 = n$ de discriminant $-12$ ou si on veut à l'anneau quadratique $\Z[\sqrt {-3}]$ de discriminant $-12$. J'attache l'extrait de Kani qui a tout déclenché chez moi. Evidemment, il faut disposer des notations, rentrer dans les 20 pages précédentes.

    Pour faire simple, on va dire que $\vartheta_\chi$, c'est quelque chose attaché à $x^2 + 3y^2$, qui possède d'une part un développement en série en $q$, au sens $\sum_{n \ge 0} A(n)q^n$, et d'autre part une L-série. A gauche, en bleu, lorsque l'on défait ce que cela dit (en faisant attention aux multiplicateurs), cela concerne les séries en $q$ :
    $$
    3\Theta_{1,0,3}(q) = \Theta_{1,1,1}(q) + 2\Theta_{1,1,1}(q^4) \qquad \qquad q \longleftrightarrow e^{2i\pi z}, \qquad z \in \mathbb H
    $$Et à droite, cela concerne les L-séries. On voit juste, par rapport à $\zeta_K$ dont tu nous a parlé, qu'il y a une petit facteur parasite en $p = 2$, qu'il faut écrire en $1/2^s$
    $$
    1 + 2^{1 - 2s} = \ZP_2(1/2^s) \quad \text{avec} \quad \ZP_2(T) = 1 + 2T^2
    $$Cumulé avec le facteur eulérien en $2$ de $\zeta_K$ qui est ${1 \over (1-T)(1-\chi_{-3}(2)T)} = {1 \over 1-T^2}$, cela va nous donner comme facteur eulérien en 2 pour le tout
    $$
    {1 + 2T^2 \over 1 - T^2} = -2 + {3 \over 1-T^2} = 1 + 3T^2 + 3T^4 + 3T^6 + \cdots
    $$Note : les deux informations encadrées, en bleu ou en rouge, sont équivalentes.

    Bref, ces 5 lignes de Kani, cela a fait tilt dans ma tête. Et cela m'a permis de relire son papier (30 pages). Je suis très très loin d'avoir tout pigé.110852
  • Bonjour,

    merci LOU16 pour ces explications.

    Bien cordialement.

    kolotoko
  • $\def\F{\mathbb F}$@LOU16, Kolokoto,

    Lou16 : je n'ai pas compris la deuxième partie de ton post http://www.les-mathematiques.net/phorum/read.php?5,2104524,2107690#msg-2107690 où tu trouves 36 solutions. Il me semble que je l'ai lu attentivement. Cela m'a fait bizarre de voir $\pm 0 \alpha$. Et j'ai eu l'impression, concernant $13^2$, que l'on ne voyait pas la solution $(x=13, y=0)$ de $13^2 = x^2 + 0y^2$. Do you see what I mean ? Attention, je ne dis surtout pas qu'il y a une erreur (il y a bien 36 solutions dans $\N \times \N$), je dis que je ne comprends pas.

    $\bullet$ De mon côté, j'avais pensé à la chose suivante, sans la finaliser. Of course, je vais considérer MA suite $A(n)$ parce qu'elle est multiplicative. Je dis que $A(n)$ peut-être vu comme $A(n) =\#S(n)$ où
    $$
    S(n) = {\{(x,y) \in \Z \times \Z \mid x^2 + 3y^2 = n\} \over (x,y) \leftrightarrow (-x,-y)}
    $$Au dénominateur, il s'agit d'une involution sans point fixe car une fois pour toutes, je suppose $n \ge 1$. Cela a pour effet de diviser par 2 le numérateur. J'utilise $\Z \times \Z$ car je m'ALIGNE sur $A(n)$. Et je me suis dit que, PEUT-ETRE, la multiplication sur $\Z[\sqrt {-3}]$
    $$
    (x + y \sqrt {-3}) \times (x' + y'\sqrt {-3}) = x'' + y'' \sqrt{-3} \qquad x'' = \cdots, \quad y'' = \cdots
    $$aurait la gentillesse de fournir un machin, que je note $\star$, et qui aurait pour effet (peut-on rêver ?)
    $$
    S(nm) \simeq S(n) \star S(m) \simeq S(n) \times S(m) \qquad n \wedge m = 1
    $$Je me comprends un peu près mais ce n'est peut-être pas le cas pour vous.

    Kolokoto : quand tu parlais de trouver toutes les solutions, je pense que cela pouvait inclure d'une part numériquement (j'en cause plus loin) et d'autre part de manière organisée/structurée, dans le style de LOU16. De toutes manières, même si $\star$ n'est pas au point, c'est une bonne chose de savoir déterminer numériquement $S(p^v)$ et même $S(p)$ pour $p$ premier. C'est de $S(p)$ dont je vais parler pour $p \equiv 1 \bmod 3$ sinon il est vide. Bémol pour $S(3)$ que je passe sous silence.

    $\bullet$ Formes quadratiques normiques. Il faut d'abord faire le point là-dessus car $x^2 + 3y^2$ et $x^2 + xy + y^2$, même combat. Je m'explique via l'inclusion $\Z[2j] = \Z[\sqrt {-3}] \subset \Z[j]$ d'indice 2. La forme norme de $\Z[\sqrt {-3}]$ dans la $\Z$-base $(1, \sqrt {-3})$ et celle de $\Z[j]$ dans la $\Z$-base $(1, -j)$ sont
    $$
    N(x + y\sqrt {-3}) = (x + y\sqrt {-3})( x - y\sqrt {-3}) = x^2 + 3y^2 \qquad\qquad
    N(x - jy) = (x - jy)(x - j^2y) = x^2 + xy + y^2
    $$Of course, toute norme de $\Z[\sqrt {-3}]$ est une norme dans $\Z[j]$ (écrire $\sqrt {-3} = 1 + 2j$). Mais ce qui est dingue, et m'a toujours surpris, c'est qu'une norme de $\Z[j]$ est une norme de $\Z[\sqrt {-3}]$. Il me semble en avoir parlé une fois (ou plusieurs) sur le forum mais je n'ai pas retrouvé. Pour la justification voir la fonction ZjNormicPair plus loin qui est commentée.

    C'est en ce sens que je disais ``même combat''.

    $\bullet$ Ecrire un premier $p \equiv 1 \bmod 3$ sous la forme $x^2 + 3y^2$. On va d'abord l'écrire sous la forme $u^2 + uv + v^2$ (ou $u^2 - uv + v^2$, on va pas chipoter). On va travailler dans $\Z[j]$ qui est euclidien donc principal, ce qui n'est pas le cas de $\Z[\sqrt {-3}]$. On va utiliser l'algorithme d'Euclide pour déterminer un pgcd AD-HOC. D'où l'efficacité de la méthode. Je n'explique pas ICI pour l'instant pourquoi ce pgcd donne la solution. J'ai mentionné les temps de calculs
    [color=#000000]> // Un premier p = 1 mod 3 de maniere aleatoire
    > p := 3*Random(10^70, 10^80)  + 1 ; time while not IsPrime(p) do p := p + 3 ; end while ;
    Time: 0.090
    > p ;
    270383340579254640043194575519010839293897934415755087067221440384422217839141871
    [/color]
    
    Cacul d'une racine cubique de l'unité dans $\F_p$ qui existe car $p \equiv 1 \bmod 3$. Au lieu d'utiliser la fonction HasRoot toute faite, on pourrait SOI-MEME en déterminer une (racine cubique de l'unité) de manière efficace.
    [color=#000000]> Fp := GF(p) ;
    > // r = une racine cubique modulo p
    > time ok, r := HasRoot(X^2 + X + 1, Fp) ;
    Time: 0.000
    > r ;
    9958031212163093582747603726068314757583733331614669585836986523068541508093603
    > r^3 ;
    1
    [/color]
    
    Calcul du pgcd AD-HOC dans $\Z[j]$ :
    [color=#000000]> r := Z!r ;
    > // p | r^2 + r + 1 = (r-j)*(r-j^2) 
    > time g := Pgcd(p, r-j) ;
    Time: 0.040
    > g ;
    10394455355938581003892401271023870663946*j + 18957671492370933939614997761608516674795
    [/color]
    
    Ci-dessus, le plus IMPORTANT, cela ne se voit pas, c'est que le pgcd ad-hoc $g$ vérifie $\fbox{$p = N(g)$}$. Au sens de la norme de $\Z[j]$ bien entendu. Et cette norme de $\Z[j]$, je vais la transformer en une norme de $\Z[\sqrt {-3}]$ pour obtenir le Graal $p = x^2 + 3y^2$.
    [color=#000000]> x,y := Z2jNormicPair(g) ;
    > x, y ;
    13760443814401643437668797126096581342822 5197227677969290501946200635511935331973
    > p eq x^2 + 3*y^2 ;
    true
    [/color]
    
    Voici la petite fonction très simple qui fait le job. Avec les commentaires avant que je n'ai pas envie de TeXer sur le post.
    [color=#000000]// N(u + j*v) = (u + j*v) * (u + j^2*v) = u^2 - uv + v^2 = N(v + j*u)
    
    // z = u + v*j in Z[j]. On veut mettre N(z) sous la forme x^2 + 3y^2, x,y in Z
    // On utilise 2j = -1 + \/-3  
    
    // v pair : v=2y, N(z) = N(u + 2j*y) = N(x + \/-3.y) avec  x = u-y
    // u pair : u=2y, N(z) = N(v + 2j*y) = N(x + \/-3.y) avec  x = v-y
    // Ce qui revient a : u^2 - uv + v^2 = (u - v/2)^2 + 3(v/2)^2 = (v - u/2)^2 + 3(u/2)^2
    //                                        x             y           x            y
    // u,v impairs : on utilise que u+j*v et j*(u+j*v) ont meme norme
    // Mais  j*(u+j*v) = -v + j*(u-v) et cette fois, u-v est pair
    // Ou encore : u^2 - uv + v^2 = U^2 - U*V + V^2 avec U=u, V=u-v pair
    
    Z2jNormicPair := function(z)   // z = u + j*v ;
      // Retourne (x,y) in N x N tel que x^2 + 3*y^2 = N(z) = (u + jv)*(u + j^2v) = u^2 - uv + v^2
      u := Z!(z[1]) ;  v := Z!(z[2]) ;
      assert z eq u + v*j ;
      if IsEven(v)   then     y := ExactQuotient(v,2) ;   x := u - y ; 
      elif IsEven(u) then     y := ExactQuotient(u,2) ;   x := v - y ; ;
      else /* u,v impairs */  y := ExactQuotient(u-v,2) ; x := u - y ; 
      end if ;
      assert Norm(z) eq x^2 + 3*y^2 ;
      return Abs(x), Abs(y) ;
    end function ;  
    [/color]
    
  • Bonjour Claude,

    Mon but était d'indiquer à Kolokoto une manière d'obtenir toutes les solutions et, croyant bien faire, j'ai pris un exemple, ce qui n'a pas que des avantages dans la mesure où tous les cas ne pourrons y être pas envisagés.

    Pourquoi je décompose $4 =x^2 +3\times 0^2$ et pas $13^2 =x^2 +3\times 0^2 $.? En effet,ce n'est pas très clair.
    Parce que dans cette histoire, $2$ a un statut à part et que pour chopper toutes les solutions de cette manière $(A+B\alpha= \prod_i (x_i\pm y_i\alpha))$, on n'a besoin que de l'unique décomposition de chacun des $ p \equiv 1 \mod 3 \:\:\text{diviseurs de}\:n,\:$,alors que les deux décompositions de $4$ sont nécessaires.
    Si, dans la décomposition de $n$, à la place de $4$, on a $4^r$, alors il faudra de la même façon faire intervenir les deux décompositions $4^r=(2^{r-1})^2 + 3(2^{r-1})^2 =(2^r)^2 + 3.0^2.$

    Il est vrai que j'aurais pu écrire $2$ à la place de $2\pm0\alpha$,et je ne sais trop quelle mouche m'a piqué: peut-être voulais-je (sûrement dans un vague mais louable but pédagogique) insister sur le fait qu'il fallait prendre dans le produit toutes les combinaisons de conjugaison possibles.
  • $\def\ZZ{\Z[\sqrt {-3}]}$Bonjour LOU16 (et les autres)
    Evidemment, moi, je ne vais pas dire ``En effet, ce n'est pas très clair'' comme tu l'as dit toi-même sur un point de détail concernant tes affaires. Je crois avoir compris quelque chose chez toi. Une vague ressemblance dans le point 2 ci-dessous concernant mes affaires. As tu une idée pour le point 1. ? Merci.

    $\bullet$ 1. Je suis à la recherche d'une preuve directe (et élémentaire tant qu'à faire) du fait que pour $p$ premier, $p \equiv 2 \bmod 3$, alors $v_p(x^2 + 3y^2)$ est pair. Y compris pour $p = 2$.

    $\bullet$ 2. Mes histoires de $S(n), \star$, cf mon post précédent. No problemo et même une banalité pour $\{z, -z\} \star \{z', -z'\} = \{zz', -zz'\}$ où $z, z' \in \ZZ$.
    En ce qui concerne les solutions de $x^2 + 3y^2 = n$, je ne vais pas jouer la carte $\N \times \N$, ni la carte $\N \times \Z$ ou $\Z \times \N$ mais la carte $\Z \times \Z$ en divisant par 2. En fait, je vais travailler sur $\ZZ$, avec sa norme $N(x + y\sqrt {-3}) = x^2 + 3y^2$. Et modulo l'involution $z \leftrightarrow -z$ sur $\ZZ$.

    Ci-dessous, je vais écrire des trucs du genre $S(n) = \{z_1, z_2, \cdots \}$, cela aura la signification :
    $$
    z_i \in \ZZ, \qquad N(z_i) = n, \qquad \{z_1, z_2, \cdots \} \cap \{-z_1, -z_2, \cdots \} = \emptyset
    $$Il faudra penser $S(n) = \{\{z_1,-z_1\} , \{z_2, -z_2\}, \cdots \}$. Je couche les $S(p^v)$ en vérifiant que le cardinal est bien $A(p^v)$, mes $A(n)$ bien entendu.

    $\blacktriangleright$ $S(3^v) = \{ \sqrt {-3}^v \}$ de cardinal $A(3^v) = 1$.

    $\blacktriangleright$ $S(2^v) = \{ (1+ \sqrt{-3})^{v/2},\ (1-\sqrt{-3})^{v/2}, \ 2^{v/2} \}$ si $v$ pair, $\emptyset$ sinon. De cardinal 3 ou 0 i.e. $A(2^v)$.

    $\blacktriangleright$ Pour $p \equiv 1 \bmod 3$. Avec un $z$ tel que $N(z) = p$ :
    $$
    S(p^v) = \{ z^i \overline z^j \ \mid\ i + j = v\} \qquad \#S(p^v) = v+1 = A(p^v)
    $$$\blacktriangleright$ Pour $p \equiv 2 \bmod 3$, $p \ne 2$. $S(p^v) = \{ p^{v/2} \}$ si $v$ pair, $\emptyset$ sinon. De cardinal 1 ou 0.

    $\bullet$ 3. Algorithme de Cornacchia pour résoudre $x^2 + dy^2 = m$ lorsque $d \wedge m = 1$. Cornacchia : années 1900. Un preprint (1990) de Morain et Nicolas http://www.lix.polytechnique.fr/Labo/Francois.Morain/Articles/cornac.pdf. Je ne sais pas si cela a été publié. Cohen en parle dans la section 1.5.2 de son ouvrage A Course in Computational Algebraic Number Theory. Je crois me souvenir avoir parcouru le preprint et détecté ``un truc bizarre''. J'aimerais bien en avoir le coeur net.

    $\bullet$ 4.Quelques trésors à découvrir ? En fait, il y a 4 anneaux quadratiques imaginaires qui ont la même propriété que $\ZZ$, à savoir non principaux mais tout idéal inversible est principal ou encore toute forme quadratique de discriminant $D$ (le discriminant de l'anneau) est $\text{SL}_2(\Z)$-équivalente à la forme neutre. Je les donne ci-dessous
    $$
    \begin {array} {llll}
    \ZZ = \Z[2j], \quad & D = f^2 \times -3 = -12 (f=2), \quad & (1,0,3) = x^2 + 3y^2 \\
    \Z[2i], \quad & D = f^2 \times -4 = -16 (f=2), \quad & (1,0,4) = x^2 + 4y^2 \\
    \Z[3j], \quad & D = f^2 \times -3 = -27 (f=3), \quad & (1,1,7) = x^2 + xy + 7y^2 \\
    \Z[\sqrt {-7}], \quad&D = f^2 \times -7 = -28 (f=2), \quad & (1,0,7) = x^2 + 7y^2 \\
    \end {array}
    $$Play again ! Et de quels trésors je parle ? Par exemple dans $M_1(\Gamma_1(12), \chi_{-12})$, $M_1(\Gamma_1(27), \chi_{-27})$ ..etc.. J'en ai trouvé quelques uns.
  • Salut Claude,

    Pour le point $1$, il me paraît difficile de ne pas évoquer le fait que si $p\equiv 2 \mod 3,\:p \neq 2$, alors $-3$ n'est pas un carré modulo $p$.
    Cela relève de la réciprocité quadratique, mais on peut aussi le justifier ainsi.

    Le groupe cyclique $(\mathbb F_p^{\times}, \times)$, d'ordre premier avec $3$, possède un unique élément $x$ tel que $x^3=1$. C'est $x=1$.
    L'équation $x^2+x+1=0$ n'a donc dans $\mathbb F_p$ aucune solution , et cela entraîne que $-3$ n' y est pas un carré.

    Ainsi, si $\:x,y \in \N,\quad x^2+3y^2 \equiv 0 \mod p,\:\:$ alors $x \equiv y \equiv 0 \mod p.$
    $\forall x,y \in \N ,\quad x^2 + 3y^2 \equiv 0 \mod p \implies x^2 +3y^2 = p^2(u^2 + 3v^2) ,\:\: u,v \in \N,\qquad $ Par récurrence: $\:v_p(x^2 + 3y^2)$ est paire.

    Pour $p=2: \quad x^2 + 3y^2 \equiv 0 \mod 2 \implies x^2 + 3y^2 \equiv 4 \mod 8$ ou $x\equiv y \equiv 0 \mod 2$ et on conclut comme dans le cas précédent.
  • LOU16
    Mais bien sûr ! Je pensais que cela allait être compliqué. Bien joué. Merci. Bien entendu, cette histoire de parité de valuation était implicite dans nos affaires mais je pense que c'est mieux de le dire.
  • Suite de $x^2 + 3y^2 = n$. Ici, $n$ est donné et on veut juste trouver UNE solution. L'idée de passer par les deux anneaux $\Z[\sqrt {-3}] \subset \Z[j]$ représentant normiquement les mêmes entiers, ne peut absolument pas se généraliser si on remplace $x^2 + 3y^2$ par $x^2 + dy^2$. D'où le besoin de considérer d'autres méthodes.

    Cohen dans sa section algorithme de Cornacchia évoque (sans rentrer dans les détails) une autre méthode basée sur la recherche d'un vecteur court dans un réseau de dimension 2. C'est une méthode due à Gauss qui fonctionne (en dimension 2) pour une norme quelconque, non nécessairement euclidienne.

    De manière plus générale, on va considérer $x^2 + dy^2$ et le réseau $L_2 = \Z e_1 \oplus \Z e_2$ de dimension 2 muni de la métrique $x^2 + dy^2$. Je vais l'illustrer pour $d = 3$
    [color=#000000]> // L2 = reseau defini par la metrique x^2 + dy^2
    > d := 3 ;
    > L2 := LatticeWithGram(DiagonalMatrix([1,d])) ;
    > L2 ;
    Standard Lattice of rank 2 and degree 2
    Determinant: 3    Factored Determinant: 3
    Inner Product Matrix:
    [1 0]
    [0 3]
    [/color]
    
    Maintenant, on fait intervenir $n$. On a besoin d'une racine carrée $r$ de $-d$ modulo $n$. Il faudra revenir là-dessus et expliquer que l'existence d'une solution $x^2 + dy^2 = n$ ET une certaine contrainte sur $(n,d,x,y)$ fait que $-d$ est un carré modulo $n$. Pour l'instant je zappe.

    On fait alors intervenir un sous-réseau $L \subset L_2$, de dimension 2, dépendant du second membre $n$ défini par :
    $$
    L = \{ xe_1 + ye_2 \mid x \equiv ry \mod n \} \qquad \Z\text{-base :} \qquad \left[\matrix {n \cr 0\cr}\right], \quad \left[\matrix {r \cr 1\cr}\right]
    $$A droite, j'ai mis la $\Z$-base qui est facile à déterminer.

    A noter que pour tout $xe_1 + ye_2 \in L$, on a $\fbox{$x^2 + dy^2 \equiv 0 \bmod n$}$. Ce qui provient du fait que $r^2 \equiv -d \bmod n$
    $$
    x^2 + dy^2 \equiv r^2y^2 + dy^2 \equiv (r^2 + d) y^2 \equiv 0 \bmod n
    $$Bilan : toutes les ``longueurs'' $x^2 + dy^2$ des vecteurs de $L$ sont multiples de $n$. On va faire déterminer un vecteur le plus court $xe_1 + ye_2$ de $L$, ce qui fournira le plus petit entier $k \ge 1$ tel que $k \times n = x^2 + dy^2$. On aura que $n$ est de la forme $x^2 + dy^2$ si et seulement si $k = 1$.

    Je commence petit avec $n = 13$ premier (qui vérifie $n \equiv 1 \bmod 3$)
    [color=#000000]> n := 13 ;
    > r := Modsqrt(-d, n) ;  // r^2 = -d modulo n
    > r ;
    7
    > // Sous-reseau L de L2 defini par x - r*y = 0 modulo n
    > // Z-base de L : [n,0], [r,1] from (x=m, y=0) -> [n,0],  (y=1, x=r) -> [r,1]
    > L := sub < L2 | [n,0], [r,1] > ;
    > L ;
    Lattice of rank 2 and degree 2
    Determinant: 507   Factored Determinant: 3 * 13^2
    Basis:
    (-1 -2)
    ( 6 -1)
    Inner Product Matrix:
    [1 0]
    [0 3]
    > assert Determinant(L) eq d*n^2 ;
    > SV := ShortestVectors(L) ;
    > SV ;
    [   (1 2)  ]
    > xy := SV[1] ;
    > x := xy[1] ;  y := xy[2] ;
    > x ;
    1
    > y ;
    2
    > x^2 + d*y^2 eq n ;
    true
    [/color]
    
    $13 = 1^2 + 3 \times 2^2$ : on est content (enfin, moi).

    Je joue de nouveau avec $n = 7 \times 13 = 91$. On va tomber sur $91 = 4^2 + 3 \times 5^2$
    [color=#000000]> // n = p1*p2 avec p1,p2 premiers = 1 mod 3
    > n := 7*13 ;
    > n ;
    91
    > r := Modsqrt(-d, n) ;
    > r ;
    72
    > L := sub < L2 | [n,0], [r,1] > ;
    > L ;
    Lattice of rank 2 and degree 2
    Determinant: 24843    Factored Determinant: 3 * 7^2 * 13^2
    Basis:
    (-4  5)
    (15  4)
    Inner Product Matrix:
    [1 0]
    [0 3]
    > assert Determinant(L) eq d*n^2 ;
    > SV := ShortestVectors(L) ;
    > SV ;
    [  ( 4 -5)  ]
    > xy := SV[1] ;
    > x := xy[1] ;  y := xy[2] ;
    > x^2 + d*y^2 eq n ;
    true
    [/color]
    
    Un dernier coup avec un nombre premier $p \equiv 1 \bmod 3$ un peu plus grand. Le calcul d'un vecteur court est si rapide que le temps de calcul affiché est de 0 sec. A noter que le déterminant du sous-réseau $L$ i.e. $dn^2 =_{\rm ici} 3n^2$ n'est plus fourni sous forme factorisée (le logiciel s'est rendu compte que ce n'est pas dans son intérêt).
    [color=#000000]> // n = p premier (assez grand) avec p = 1 mod 3 de maniere aleatoire
    > p := 3*Random(10^10, 10^11)  + 1 ; while not IsPrime(p) do p := p + 3 ; end while ;
    > p ;
    192442297759
    > n := p ;
    > r := Modsqrt(-d, n) ;
    > r ;
    125637788343
    > L := sub < L2 | [n,0], [r,1] > ;
    > L ;
    Lattice of rank 2 and degree 2
    Determinant: 111102113900290849266243
    Basis:
    (-87322 248205)
    (744615  87322)
    Inner Product Matrix:
    [1 0]
    [0 3]
    > assert Determinant(L) eq d*n^2 ;
    > time SV := ShortestVectors(L) ;
    Time: 0.000
    > SV ;
    [   (  87322 -248205)  ]
    > xy := SV[1] ;
    > x := xy[1] ;  y := xy[2] ;
    > x ;
    87322
    > y ;
    -248205
    > x^2 + d*y^2 eq n ;
    true
    [/color]
    
    Tous sur l'algorithme de Gauss de la recherche d'un vecteur court dans un réseau de dimension 2. Quant à l'algorithme de Cornacchia, il se passe dans $\Z$ et utilise l'algorithme d'Euclide.
  • Kolotoko, Tu vas trouver que j'exagère mais je continue encore un peu. Pourquoi ? Parce ce que, pour moi, il y a eu des non-dits, et que j'ai absolument besoin d'avoir les idées claires.

    $\bullet$ Un exemple de non-dit. C'est capital, à mon avis, de l'énoncer. Soit $p$ un premier $\ne 2,3$. Alors il y a équivalence entre :

    a. $p \equiv 1 \bmod 3$
    b. -3 est un carré modulo $p$
    c. $X^2 + X +1$ admet une racine modulo $p$
    d. $p$ est de la forme $x^2 + 3y^2$.

    Comment ne pas énoncer FRANCHEMENT ce résultat dans un fil consacré à $n = x^2 + 3y^2$ ? Attention : les 3 premières propriétés sont d'une nature MODULAIRE et c'est assez facile de montrer leurs équivalences. A noter que le discriminant de $X^2 + X + 1$ est $-3$, ce qui assure un lien.

    Par contre, le point d. est d'une autre nature ! Cela découle par exemple du fait que $\Z[j]$ est principal et de l'adéquation normique entre $\Z[j]$ et $\Z[2j] = \Z[\sqrt {-3}]$. Je l'ai utilisé à DEUX reprises in http://www.les-mathematiques.net/phorum/read.php?5,2104524,2108210#msg-2108210 http://www.les-mathematiques.net/phorum/read.php?5,2104524,2109164#msg-2109164

    $\bullet$ Si on change $3$ en $5$, il continue à y avoir des ANALOGUES des 3 premiers points mais pas du dernier. Le point b. va devenir $-5$ est un carré modulo $p$ i.e. $p \equiv 1,3,7,9 \bmod 20$. Prenons alors $p = 7$. C'est bien vrai que $-5$ est un carré modulo 7 : c'est le carré de 3.
    Est ce que 7 est de la forme $x^2 + 5y^2$ ? NON. Il est de la forme $2x^2 + 2xy + 3y^2$ avec $x=y=1$. Et que vient faire cette forme quadratique ? Du fait qu'il y a essentiellement 2 formes quadratiques de discriminant $-20$ (le discriminant de $ax^2 + bxy + cy^2$ est le brave $b^2 - 4ac$) :
    $$
    x^2 + 5y^2 = (1, 0, 5), \qquad\qquad 2x^2 + 2xy + 3y^2 = (2,2,3)
    $$ Bilan : veiller au grain si on veut avoir les idées claires.

    $\bullet$ Cornacchia. Rarement vu un algorithme aussi simple à mettre en oeuvre et difficile à prouver. Référence http://www.lix.polytechnique.fr/Labo/Francois.Morain/Articles/cornac.pdf. Je l'illustre ci-dessous. Suite ad-hoc de divisions euclidiennes.
    [color=#000000]// Contexte : d /\ n = 1, r racine carree de -d modulo n
    // Divisions euclidiennes en partant de (n, r)
    //  n   r
    //  |   |
    //  v   v
    // r0 = r1*q1 + e2
    // r1 = r2*q2 + r3
    //  ....etc....
    // La suite r0, r1, r2 ... est decroissante et se termine par 1 (algorithme d'Euclide + le fait que n /\ r = 1)
    // Mais ici on stoppe quand r_k^2 < n <= r_{k-1}^2
    // C.a.d que l'on "attend" r_k^2 < n
    //
    // Alors : SI d | n - r1^2 et SI (n - r1^2)/d est un carre, on tient une solution de x^2 + dy^2 = n via
    // x = r1  et   y  = Sqrt((n - r1^2)/d)
    [/color]
    
    Je le fais tourner pour $n = 91$, $d = 3$. Détermination de tous les $r \in \Z/n\Z$ tels que $r^2 = -d$ dans $\Z/n\Z$. Il y en a 4 : si $r$ convient, alors $-r = n-r$ aussi. Je vais prendre le premier qui me vient sous la main i.e. $r = 19$.
    [color=#000000]> d := 3 ;
    > n := 7*13 ;
    > n ;
    91
    > Zn := ResidueClassRing(n) ; // Z/nZ
    > R := [Z| r : r in Zn | r^2 eq -d];
    > R ;
    [ 19, 33, 58, 72 ]
    > r := R[1] ;
    > r ;
    19
    > r0 := n ; r1 := r ;
    > while true do
    >   printf "r0 =%3o    r1 = %o\n", r0, r1 ;
    >   // "attendre" que r_k^2 (=_ici r1^2) passe strictement en dessous de n
    >   if r1^2 lt n then break ; end if ;
    >   r0_mod_r1 := r0 mod r1 ;
    >   r0 := r1 ;   r1 := r0_mod_r1 ;
    > end while ;
    
    r0 = 91    r1 = 19
    r0 = 19    r1 = 15
    r0 = 15    r1 = 4
    [/color]
    
    J'ai fait afficher la suite des divisions euclidiennes en stoppant là où on a dit. Une fois sorti de la boucle, on réalise ce qui est mentionné dans le commentaire un peu plus haut.
    [color=#000000]> x := r1 ;
    > is_divisible_by, y2 := IsDivisibleBy(n - x^2, d) ;
    > is_divisible_by ;
    true
    > y2 ;
    25
    > is_square, y := IsSquare(y2) ;
    > is_square ;
    true
    > y ;
    5
    > x, y, d, n, x^2 + d*y^2 eq n ;
    4 5 3 91 true
    [/color]
    
    Utilisation d'autres $r \in \Z/91\Z$ tels que $r^2 \equiv -3 \bmod 91$. On obtient une autre solution $8^2 + 3 \times 3^2 = 91$.
    [color=#000000]> CornacchiaInternal(d,n, R[2]) ;
    true 8 3
    > CornacchiaInternal(d,n, R[3]) ;
    true 8 3
    > CornacchiaInternal(d,n, R[4]) ;
    true 4 5
    [/color]
    
  • Je continue un peu malgré un grand silence.

    J'ai essayé de comprendre vaguement ce que contenait le papier (9 pages, 1990) sur Cornacchia in http://www.lix.polytechnique.fr/Labo/Francois.Morain/Articles/cornac.pdf. On va dire pour simplifier que ce n'est pas facile à lire et qu'il contient des coquilles. Hum. MAIS il y a toujours quelque chose de positif à essayer de lire car

    1) On voit qu'il y a des histoires de réduites et de convergents.

    2) Je suis tombé sur un papier plus récent (2004) de 2 pages in https://projecteuclid.org/download/pdf_1/euclid.pja/1116442240. J'attache un bout de la première page. Dans l'encadré en bleu, il y a une coquille : il s'agit de $(m-r_k^2)/d$ au lieu de $(m - r_k^2/d)$. On pourrait s'en douter mais ..

    Il fallait bien que je fasse joujou avec les réduites. J'ai repris l'exemple $n = 91$, $d = 3$, le $d$ de $x^2 + dy^2$, et $r = 19$, une racine carrée de $-d$ modulo $n$.
    [color=#000000]> n, d, r ;
    91 3 19
    > (r^2 + d) mod  n;
    0
    [/color]
    
    Développement de $r/n$ en fraction continue (finie) $S = (s_1, s_2, \cdots)$. Ici les $s_i$ sont des entiers ayant le sens dans le commentaire de programmation ci-dessous. Et on récupère les convergents $p_i/q_i$ (ils vont deux par deux) à partir de $S$ sous forme matricielle
    $$
    \left[ \matrix {p_i & p_{i-1} \cr p_i & p_{i-1} \cr} \right] \qquad \text{de déterminant } (-1)^i \quad \text{(numérotation à partir de l'indice 0}
    $$
    [color=#000000]> S := ContinuedFraction(r/n) ;
    > S ;
    [ 0, 4, 1, 3, 1, 3 ]
    >                 1
    > // r/n = s1 + ----------
    > //                   1
    > //             s2 + ----
    > //                  ....
    > //
    > //    | p_i  p_{i-1} |
    > //    | q_i  q_{i-1} |
    > [Convergents(S[1..i]) : i in [0..#S]] ;
    [
        [1 0]
        [0 1],
    
        [0 1]
        [1 0],
    
        [1 0]
        [4 1],
    
        [1 1]
        [5 4],
    
        [ 4  1]
        [19  5],
    
        [ 5  4]
        [24 19],
    
        [19  5]
        [91 24]
    ]
    [/color]
    
    Et on termine par ce qui est écrit dans le Th 5.1, en ayant au besoin compléter soi-même l'information manquante
    [color=#000000]> // Notons (p_i/q_i) la suite des convergents de r/n
    > // Cf Th. 5.1 de Morain & Nicolas : s'il y a une solution x^2 + dy^2 = n alors
    > // il y en a une qui est donnee par
    > // x = p_i*n - q_i*r, y = q_i ou l'indice i est tel que q_i <= Sqrt(n/d) < q_{i+1}
    > //                               i.e. d*q_i^2 <= n < d*q_{i+1}^2 
    > 
    > i := Max([i : i in [0..#S] | d*qi^2 le n where qi is piqi[2] where piqi is Convergent(S,i)]) ;
    > piqi := Convergent(S,i) ;
    > piqi ;
    <1, 5>
    > pi, qi := Explode(piqi) ;
    > x := pi*n - qi*r ; y := qi ;
    > x ;
    -4
    > y ;
    5
    > x^2 + d*y^2 eq n ;
    true
    [/color]
    
    Ca marche comme dit l'autre.111032
  • Bonjour Claude,

    Afin de troubler ce silence pesant, je vais donc faire un peu de bruit en proposant une preuve détaillée et pas trop compliquée de la validité de l'algorithme de Cornacchia, bricolée à la lueur de tout ce que j'ai pu lire ici ou là.

    $\text{Soient}\:\:m,d,a \in \N^*, \:\: d\leqslant m,\:\:\:m\wedge d =1,\quad a^2 \equiv -d \mod m,\quad a<\dfrac m2.
    \text{Soit}\:\: (r_0 , r_1, r_2,\dots r_n, r_{n+1} )\: \text{la suite des restes} \\ \text{de la division euclidienne de}\: m\:\text{par}\: a.\: \:(r_0 = m, r_1=a, r_n =1 ,r_{n+1} =0.) \quad \text{et}\: k\:\:\text{tel que}\: r_k\leqslant \sqrt m < r_{k-1}.\:\:\text{Alors:}$
    $$\text{Si} \: \exists (x_0,y_0) \in \Z^2\:\text{tel que} \:\: x_0^2+dy_0^2 =m, \:\:x_0\wedge y_0 =1,\:\:x_0\equiv -ay_0 \mod m,\:\: \text{alors}\:\:\exists t\in \N,\:\text{tel que}\:\:r_k^2 + dt^2 = m.$$
    On a: $\forall i \in [\![1;n]\!], \:\: \boxed{r_{i+1} =r_{i-1} - q_ir_i}, \:\:\:q_i\in \N^*,\:\: 0\leqslant r_{i+1}<r_i.$
    $\forall i \in [\![0;n+1]\!],\:$on définit $t_i$ par $\:\:t_0 =0,\:t_1=1,\: \boxed{ \forall i \in [\![1;n]\!],\:\:t_{i+1 }=q_it_i + t_{i-1}.}$
    Une ligne dans le message initial a ici été supprimée à la suite de la remarque judicieuse de Claude Quitté

    On obtient facilement par récurrence:$\quad\forall i \in [\![0;n+1]\!],\:\: r_i\equiv (-1)^{i+1}t_ia \mod m\quad $ puis $r_i^2 \equiv a^2t_i^2 \mod m, \:\:$ d'où l'on déduit:
    $$\forall i \in [\![0;n+1]\!],\:\:r_i^2+ dt_i^2\equiv 0 \mod m.\quad(\bigstar)$$
    On introduit enfin: $\forall i\in [\![0;n+1]\!], \quad \rm e_i = ((-1)^ir_i\:, \:t_i) \in \Z^2, \quad\:\:\:\mathcal L=\Z\rm e_0\oplus \Z\rm e_1=\Z\rm e_i \oplus \Z\rm e_{i+1}.\qquad( \rm e_{i+1} = q_i\rm e_i + \rm e_{i-1})\:\: $ et on prouve:
    $$\forall i\in [\![0;n]\!],\:\: \forall (u;v) \in \mathcal L\setminus \{(0,0)\}, \:\: |u| <r_{i}\implies |v|\geqslant t_{i+1}.\quad (\bigstar\bigstar)$$
    C'est vrai pour $i=0.\qquad$ Soient $i>0\: $ et $\: (u;v) \in \mathcal L\setminus \{(0,0)\}, \:$ tel que $\:|u|<r_i. \quad\exists c,d \in \Z\:\:$ tels que $\:\:d>0,\:\: (u,v) =c\rm e_{i-1}+ d\rm e_i,$
    $|-cr_{i-1}+dr_i| <r_i,\quad |v|= |ct_{i-1} + dt_i|.\quad $ Alors:
    $c>0,\quad \left |\dfrac {cr_{i-1}}{r_i} -d\right|<1, \quad d\geqslant \Big \lfloor \dfrac {cr_{i-1}}{r_i}\Big\rfloor \geqslant \Big \lfloor \dfrac {r_{i-1}}{r_i}\Big\rfloor =q_i.\quad$ On déduit; $\:\:|v|=ct_{i-1} +dt_i \geqslant t_{i-1} + q_it_i =t_{i+1}\square$

    On peut choisir $(x_0,y_0)$ tel que $y_0>0.\:\:\:\:$Alors $\:\:(x_0,y_0)=l \rm e_0+y_0 \rm e_1, \quad $ $ l $ $\in \Z, \quad (x_0,y_0)\in \mathcal L\setminus\{(0;0)\}.$
    $|x_0|\leqslant \sqrt m <r_{k-1}.\:\: $ On peut appliquer $(\bigstar\bigstar): y_0 \geqslant t_k.\qquad 0<r_k^2+ dt_k^2 \leqslant m +dy_0^2<2m.$
    $ (\bigstar)\:$ dit d'autre part que $\: r_k^2+dt_k^2 \equiv 0 \mod m.\qquad $ On obtient bien : $r_k^2+dt_k^2=m\:\square$

    Remarque: il n'est pas difficile de prouver que si $r_k^2 +dt_k^2 =m $ , alors $(r_k\:,\:t_k)$ est la seule solution dans $\N^2$ de $x^2+dy^2 = m,\: \:x\wedge y =1, \:\:x\equiv \pm ay \mod m.$
  • LOU16, Merci. Je vais lire cela avec intérêt car je n'ai pas vraiment pris le temps de bien bien regarder les deux papiers.

    Note : je suppose qu'au milieu de ta ligne 5 en partant du haut, il faut lire $x_0 \wedge y_0 = 1$ au lieu de $x \wedge y = 1$.

    Autre chose : peut-être tu as jeté un oeil sur le papier de deux pages que j'ai pointé ce matin (Basilla) : je ne vois pas, dans l'introduction du moins, l'hypothèse $d \wedge m = 1$. J'ai lu trop vite ?
  • Re
    Merci, j'ai en effet oublié $d\wedge m =1.$ Je corrige.
    En fait non, j'avais bien écrit $m\wedge d = 1.$
  • LOU16

    Une question : en plein milieu, d'où se déduit l'existence de $s_i \in \Z$ tel que... ? On peut penser que cela pourrait venir de $r_it_{i+1} + t_i r_{i+1} = m$ : si $t_{i+1}$ avait la bonne idée d'être inversible modulo $m$, on en déduirait $r_i \equiv s_i r_{i+1} \bmod m$ avec $s_i = - t_i t_{i+1}^{-1} \bmod m$. Mais pourquoi que ?

    Indices : dans cette ligne du milieu, l'indice $i$ va jusqu'à $n+1$ si bien qu'il y est question de $r_{i+1} = r_{n+2}$ qui n'est pas défini (en principe). Disons que l'on voit $r_0, r_1, \cdots, r_n, r_{n+1}$.

    Note : la dernière division euclidienne est $r_{n-1} = r_{n} q_{n} + r_{n+1}$ avec $r_{n+1} = 0$. Donc l'indexation des $q_i$ va jusqu'à $i = n$. Pourtant dans la ligne où il y a le deuxième encadré, la plage de variation de $i$ est $0 \le i \le n+1$, ce qui fait un accès à $q_{n+1}$.

    Faut-il prolonger les suites $r_\bullet$, $q_\bullet$ ?

    Coquilles : Cornacchia au lieu de Cornaccia (je crois). Vers le bas : ... et $(u,v)\in \mathcal L \setminus \{(0,0)\}$

    Note : dans la version tirée il y a un certain temps, tu n'avais pas oublié $d \wedge m = 1$. Mais Basilla, si.
  • Re
    Pour les indices, j'avais fait une mauvaise manipulation et je l'ai corrigée. Les suites sont bien assez longues comme ça, inutile de les prolonger:
    $r_i$ et $t_i$ sont définis entre $0$ et $n+1\:$, et $\:q_i$ entre $1$ et $n$.

    Je reprends la récurrence qui mérite d'être détaillée. (j'inverse les $r_i\mod m$ et non les $t_i$).
    $\forall i \in [\![1;n]\!], \:\: r_i \wedge m = 1.\:\:$ çà c'est faux
    Soit $0\leqslant i \leqslant n-1.\:\:\:\exists s_i\in \Z $ tel que $\: s_ir_{i+1}\equiv r_i \mod m.\:\:\qquad$ Alors $\: t_i \equiv -s_i t_{i+1} \mod m.$

    $"r_i^2 +dt_i^2 \equiv 0 \mod m"$ est vraie pour $i=0,1,n+1 \quad( t_{n+1} =m.)$

    On prouve $\forall i \in[\![0;n]\!],\:\:r_i^2 +dt_i^2 \equiv 0 \mod m.\quad$ Soit $ \:\: i \in [\!|1;n-1]\!].$
    $\qquad\begin{array}{ccl} r_{i+1}^2 +dt_{i+1}^2 &\equiv &(r_{i-1} -q_i r_i)^2+d(t_{i-1} +q_i t_i)^2 \equiv (r_{i-1}^2+ dt_{i-1}^2) +q_i^2 (r_i^2+ dt_i^2) -2q_i(r_{i-1}r_i -dt_{i-1}t_i)\\ & \equiv& (r_{i-1}^2+ dt_{i-1}^2) +q_i^2 (r_i^2+ dt_i^2)-2q_is_{i-1} (r_i^2 + dt_i^2)\overset {\text{hyp. de rec.}}{\equiv} 0 \mod m \:\square\end{array} $
  • LOU16
    Je ne te cache pas que je passe tes affaires dans un vérificateur. Un assert $r_i \wedge m = 1$ pour $1 \le i \le n$ a échoué. Voici les données. En principe, elles sont conformes à tes hypothèses. Surveille quand même (personne n'est à l'abri d'une erreur)
    [color=#000000]> // LOU16
    > clear ;
    > 
    > d := 5  ;  m := 134 ;  
    > x0 := 3  ;  y0 := 5 ;
    > x0^2 + d*y0^2 = m ;
    134 = 134
    > 
    > a := 53 ;
    > (a^2 + d) mod m ;
    0
    > (x0 + a*y0) mod m ;
    0
    [/color]
    
    L'algorithme d'Euclide
    [color=#000000]> r0 := m ; r1 := a ;
    > while true do
    >   printf "r0 =%4o    r1 = %o\n", r0, r1 ;
    >   // "attendre" que r_k^2 (=_ici r1^2) passe strictement en dessous de n
    >   if r1^2 lt m then break ; end if ;
    >   r0_mod_r1 := r0 mod r1 ;
    >   r0 := r1 ;   r1 := r0_mod_r1 ;
    > end while ;
    r0 = 134    r1 = 53
    r0 =  53    r1 = 28
    r0 =  28    r1 = 25
    r0 =  25    r1 = 3
    [/color]
    
    Où tu vois que le reste 28 n'est pas premier avec $m = 134$.

    Cependant, l'étape après la boucle est valide.
    [color=#000000]> x := r1 ;
    > is_divisible_by, y2 := IsDivisibleBy(m - x^2, d) ;
    > is_divisible_by ;
    true
    > y2 ;
    25
    > is_square, y := IsSquare(y2) ;
    > is_square ;
    true
    > y ;
    5
    > x, y, d, m, x^2 + d*y^2 eq m ;
    3 5 5 134 true
    [/color]
    
    $\bullet$ Autre chose (déjà dit mais je le redis) : la dernière division euclidienne est $r_{n-1} = r_nq_n + r_{n+1}$ donc $q_{n+1}$ n'existe pas. Es tu d'accord ?
    Et pourtant, dans l'encadré à la ligne 7 en partant du haut, tu accèdes à $q_{n+1}$ parce que $i$ va jusqu'à $n+1$111052
  • Re,
    Merci pour ta lecture attentive et la vigilance de tes esclaves numériques. "Personne n'est à l'abri d'une erreur". Surtout pas moi.

    Aucune raison en effet pour que $r_i\wedge m = 1$ (J'ai dû confondre $r_i \wedge r_{i+1}$ et $r_i\wedge m$.)

    Je voulais à tout prix raccourcir la preuve de $r_i^2 +dt_i^2 \equiv 0 \mod m.$

    La relation $t_{i+1} = t_{i-1}+q_it_i $ vaut pour $1\leqslant i\leqslant n\quad $ (je voulais dire que $t_i$ était défini pour $1\leqslant i\leqslant n+1)$

    J'ai modifié le message en espérant que maintenant tout est correct.
  • LOU16
    Je m'étais bien aperçu qu'il y avait l'histoire de la détermination des coefficients de Bezout. Et du coup, c'est certainement utile de savoir qu'il y a une manière mécanique de procéder en mettant provisoirement de côté $x^2 + dy^2 = m$. Je dis bien provisoirement.

    Je suppose que tu connais cela. J'attache quand même une note de cours (cela remonte à loin) bêtement nommée cours1.pdf : on y voit les 3 suites $(r_i)$, $(u_i)$, $(v_i)$ où l'on ne cherche pas à ruser. Les 2 premières pages nous concernent (les 2 dernières pages sont l'implémentation en maple, un langage de m.rde).
  • $\def\mat#1#2{\left[ \matrix {#1\cr#2\cr} \right]}\def\truc{\text{truc}}\def\machin{\text{machin}}$Bonjour LOU16

    1. Au lieu de commencer par pinailler comme hier (histoires d'indices), je commence par ce qui est positif. J'ai vérifié ton post, surtout la dernière passe, relativement subtile, avec le réseau $\mathcal L$. Je dis bravo et je pense pouvoir dire que, maintenant, ma référence sur Cornacchia, est ton post. Je n'ai plus envie de regarder Basilla (je n'aime pas son indexation) et encore moins, soyons discrets, Mor-Nic (je le dis maintenant, une erreur dès la deuxième page, une certaine (?) complexité, manque de précisions ...etc..). J'attache ce qu'en dit Cohen (mon dictionnaire dit painful = laborieux-pénible).

    Précision : je viens de constater sur cet extrait une autre référence pour Cornacchia : H.W. Lenstra, référence qui ne figurait pas dans l'édition initiale dont je dispose. La référence [Mor-Nic] pointe sur le papier de Mor-Nic avec la mention to appear (il est un peu près clair qu'il ne sera pas publié).

    Le papier de Schoof en question (qui contient le traitement de Cornacchia dû à Lenstra) est celui-ci http://www.numdam.org/article/JTNB_1995__7_1_219_0.pdf.

    Mais tu restes ma référence !

    2. Je pense qu'il est quand même utile de dire d'où sort la suite des $(t_i)_i$. Désignons par $(u_i)$, $(v_i)$ les 2 suites des coefficients de Bezout indexées à partir de 0, CEUX déterminés par l'algorithme classique (cf attachement d'hier soir) et par $a_i / b_i$ la suite des convergents (réduites) de $(r_0, r_1) = (a,b)$, cf le deuxième attachement, indexée à partir de l'indice $-1$
    $$
    \mat{a_{-1}}{b_{-1}} = \mat{0}{1}, \qquad
    \mat{a_{0}}{b_{0}} = \mat{1}{0}, \qquad
    \mat{a_{1}}{b_{1}} = \mat{q_1}{1}, \qquad
    \mat{a_{2}}{b_{2}} = \mat{q_1q_2 + 1}{q_2}, \qquad \cdots
    $$Alors
    $$
    t_i = a_{i-1} = (-1)^{i+1} v_i, \qquad \qquad b_{i-1} = (-1)^i u_i
    $$C'est un peu beaucoup pour moi (j'ai fait un post très très mauvais, celui où j'ai parlé des convergents, avec des notations pourries).

    3. Je vais avoir des questions à te poser. Je commence par les plus simples : où sert l'hypothèse $a < m/2$ ? Dans ma programmation, je me contente de $1 \le a \le m-1$.
    Autre chose (ce n'est pas une question) : je ne suis pas clair sur l'hypothèse $x_0 \wedge y_0 = 1$. Je reviendrais dessus.

    Il y aura d'autres questions.

    4. Le pinailleur que je suis reviens au galop. Dans la ligne 7 en partant du haut : c'est $i \in [0..n]$ au lieu de $i \in [0..n+1]$. Dans la définition de $\mathcal L$, il y a une virgule qui traîne dans $\Z e_i \oplus \Z e_{i+1}$. A la fin de la preuve subtile de $(\star\star)$, il y a une barre de valeur absolue en trop : c'est $|v| \ge t_{i-1} + q_i t_i$ (ou alors mettre les deux barres de valeur absolue mais de toutes manières, il faut s'en débarasser). De temps en temps, les habitants de $\mathcal L$, tu utilises $(\truc, \machin)$ et d'autres fois $(\truc ; \machin)$.111074
    111076
  • Salut Claude
    Encore merci pour tes remarques.
    La ligne $7$: c'est "subtil": je veux exprimer le fait que $t_i$ existe pour $i\in [\![0;n+1]\!]$ mais la relation de récurrence qui le définit n'est valable que pour $1\leqslant i \leqslant n$
    Le $a<\dfrac m2$, c'est simplement parce que j'ai cru chic de montrer que je pouvais le choisir ainsi. Cette hypothèse ne sert donc pas dans cette preuve. En fait, elle intervient pour établir la stricte croissance de la suite $(t_i)$ et le fait que dans le cas où $d=1$ on a: $\:\:n=2p,\:\: m =r_p^2 +r_{p+1}^2$.
  • LOU16, suite
    Je vais essayer de t'expliquer le souci que j'ai. Je ne sais pas si tu marcheras dans la combine car cela touche à la validité d'un algorithme. Lequel ? Celui qui est ci-dessous. Si tu n'as pas envie de te casser les méninges, laisse béton. Après tout, je suis vraiment satisfait de ta solution : c'est clair, net, simple avec une clause précise.

    Donc on dispose d'un algorithme qui prend en données un triplet $(d, m, a)$ tel que $d \wedge m = 1$ et $a^2 \equiv -d \bmod m$. Je ne vais pas aller vérifier si TA clause de validité s'applique car celle-ci nécessite de trouver une solution $(x_0, y_0)$ telle que ...etc.. Et justement, je suis en train d'en chercher une (solution). De manière efficace grâce à l'algorithme d'Euclide (penser au fait que $m$ peut-être très grand).

    Alors je fais quoi ? Je laisse faire la nature en ``croisant les doigts''. A la sortie de la boucle, je teste si $d$ divise $m - r_k^2$ : si ce n'est pas le cas, je décrète que l'algorithme a échoué et je fais le nécessaire.

    Et si $d \mid m - r_k^2$ ? C'est vraiment là que je croise les doigts. Est ce que tu comprends le code à partir de ICI ?

    Et alors ? Eh bien, ce qui vient après ICI n'a jamais échoué.

    Comment je fais pour réaliser des tests ? Je dire $\delta, m \in \N^*$ au hasard premiers entre eux. Ca, c'est facile. Je pose $d = (-\delta^2) \bmod m$ si bien que je suis sûr que $-d$ est un carré modulo $m$. Enfin, je fais déterminer l'ensemble $A$ des $a \in \Z/m\Z$ tels que $a^2 = -d \bmod m$. Et je sollicite l'algorithme en tous les $(d, m, a)$, $a \in A$. J'ai réalisé des milliers de tests (par exemple $10^5$, ce qui nécessite environ 60 secondes).

    Est ce un peu près clair ?
    [color=#000000]CornacchiaWithGivenSquareRoot := function(d, m, a)
      // d /\ m = 1  et  a^2 = -d modulo m
      // Sous certaines conditions (cf LOU16), retourne <true,x,y>  avec
      // (x,y) solution de x^2 + d*y^2 = m  ET   x /\ y = 1   ET   x + a*y = 0 modulo m
      // Mais je ne vais pas verifier ces conditions qui portent sur UNE solution (x0, y0) telle que ..
      // Je vais laisser faire la nature
      // Et en cas d'intemperie, la fonction retourne <false,undefined,undefined>  (_ == undefined)
    
      assert (Gcd(d,m) eq 1)  and  ((a^2 + d) mod m eq 0) ;
    
      r0 := m ; r1 := a ;
      while r1^2 ge m do  // "attendre" que r_k^2 (ici r1^2) passe strictement en dessous de n
        r0_mod_r1 := r0 mod r1 ;
        r0 := r1 ;   r1 := r0_mod_r1 ;
      end while ;
    
      // Est ce que d'une part d | m - r_k^2 et d'autre part le quotient (m - r_k^2)/d est un carre ???
      x := r1 ;
      is_divisible_by, y2 := IsDivisibleBy(m - x^2, d) ;
      if not is_divisible_by then return false, _, _ ; end if ;
      is_square, y := IsSquare(y2) ;    [color=#FF0000]*** ICI ***[/color][color=#990000]*** ICI *** [/color]
      // Attention : je cherche les ennuis !!
      assert is_square ;         // Hum, je n'en sais rien
      //if not is_square then return false, _, _ ; end if ;
      assert x^2 + d*y^2 eq m ;  // of course
      assert Gcd(x,y) eq 1 ;     // Why ?
      return true, x, y ;
    end function ;
    [/color]
    
  • Re,
    Pardonnes-moi, mais je ne comprends pas bien ta question.

    Si l'on dispose de $(m,d,a)$,avec d sans carré, nul besoin de vérifier l'existence de $(x_0,y_0)$.
    Si $r_k^2 +dt_k ^2 =m$, alors $(r_k,t_k)$ est l'unique solution du problème $x^2+dy^2 = m,\:\:x\equiv \pm a y\mod m$.
    Sinon, ce problème n' a pas de solution.

    Pour moi la difficulté, c'est de trouver les $a$ tels que $a^2 +d \equiv 0 \mod m$ avec $m$ grand.
    Il doit exister un algorithme efficace qui permette de mettre la main sur ces $a$, mais je ne le connais pas.
  • Mais dans MON algorithme (celui que j'ai fourni), il n'y a pas de $t_k$. Tu n'en vois pas, n'est ce pas ?

    Et donc, dans CET algorithme, je ne teste pas si $r_k^2 + dt_k^2 = m$. Vu que je n'ai pas $t_k$ sous la main.

    Je teste juste si $d \mid m - r_k^2$. Et si oui, je dis BINGO (alors que je n'en sais rien).
  • Claude,

    Je n'ai peut- être pas encore bien compris ta question, mais réexpliquer quelque chose à quelqu'un d'un peu bouché est un exercice dont il faudra que tu ne retiennes que le côté positif .
    Je me concentre maintenant sur le "why" dans le commentaire de ton algorithme.
    Si c'est: pourquoi :$x\wedge y =1\:?$ , alors, je ne sais pas.
Connectez-vous ou Inscrivez-vous pour répondre.