Calcul de somme

Soit n>= 3 , calculer Sn= somme 1/pq avec 1<=p<q<=n  et p+q>n et (p,q) =1 

Réponses

  • Je ne sais pas comment commencer. On peut séparer la somme double en deux mais ensuite je bloque. Merci à tous pour toute aide ou idée pour me débloquer 
  • gerard0
    Modifié (November 2023)
    Bonjour.
    Il semble assez naturel de sommer sur d=p+q, puis sur p allant de 1à d-1 et premier avec d-p.
    Cordialement.
  • $p$ et $q$ parcourent-ils l'ensemble des nombres premiers, comme c'est l'usage en théorie des nombres, ou bien parcourent-ils simplement l'ensemble des entiers naturels non nuls ?

    Tu attends une formule "close", ou bien une égalité asymptotique avec terme d'erreur ?

    Il est intéressant de savoir calculer les sommes du type $\displaystyle \sum_{\substack{a < m \leqslant b \\ (m,k)=1}} \frac{1}{m}$. Ça se fait bien, mais il faut des connaissances. Tu sais faire ?
  • Pour $n\geq2$ on trouve $S_n=\dfrac12$.
  • Bonjour 
    @noix de totos, je n’ai pas encore appris les valeurs asymptotiques et sommes infinies. 
    @jandri : comment tu arrives à 1/2
    @gerard0 : on change de variable muette dans la double somme, c’est ça?
  • Ben314159
    Modifié (November 2023)
    Salut,
    Une méthode (sans doute parmi d'autres) pour montrer le résultat, c'est de voir que, lorsque l'on passe de $n\!-\!1$ à $n$, les termes qui disparaissent de la somme sont ceux tels que $p\!+\!q\!=\!n$ et les nouveaux qui apparaissent sont ceux tels que $q\!=\!n$.  Et on vérifie facilement que les sommes sont les mêmes.
  • Math Coss
    Modifié (November 2023)
    Sage, qui est sage mais un peu moins que Jandri, trouve comme lui.
    sage: def s(n):
    ....:     return add(1/p/q for q in range(2,n+1) for p in range(1,q) if p+q>n and gcd(p,q)==1)
    ....: 
    sage: [s(n) for n in range(2,11)]
    [1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2]
    sage: [s(n) for n in range(132,143)]
    [1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2, 1/2]
  • Jandri a surtout une mémoire qui n'est pas encore trop défaillante, ce problème a été posé sur le bulletin de l'APMEP (n°325) et résolu sur le n°329.

    La correction figure sur la brochure "Les 200 premiers problèmes de l'APMEP" volume 1 page 132.
    Il y a deux démonstrations : 
    la première sans calculs avec les suites de Farey (proposée par Cuculière et Legrand)
    la deuxième en montrant que $S_{n+1}-S_n$ est nul.
  • super. Merci pour votre aide 
  • gebrane
    Modifié (November 2023)
    En python
    def gcd(a, b):
        while b:
            a, b = b, a % b
        return a
    
    def calcul_S(n):
        s = 0  
        for q in range(2, n + 1):
            for p in range(1, q):
                if p + q > n and gcd(p, q) == 1:
                    s += 1 / (p * q)
        
        return s
    
    n = int(input("Entrez la valeur de n : "))
    result = calcul_S(n)
    print(f"S_{n} = {result:.6f}")
    Lorsque notre cher Nico, le professeur, intervient dans une question d'analyse, c'est une véritable joie pour les lecteurs..


  • Une formule pour la somme Sn= somme 1/pqr avec 1<=p<q<r<=n et p+q+r>n et (p,q) =1,(p,r) =1 ;(r,q) =1
    Lorsque notre cher Nico, le professeur, intervient dans une question d'analyse, c'est une véritable joie pour les lecteurs..


  • Bonjour,

    Gebrane, la fonction gcd existe déjà dans Python, dans math et dans numpy par exemple.

    Cordialement,
    Rescassol

  • Rescassol

    J'ai utilisé un compilateur en ligne pour l'exécution et, par précaution, j'ai redéfini le PGCD au cas où la bibliothèque math ne serait pas intégrée.
    Lorsque notre cher Nico, le professeur, intervient dans une question d'analyse, c'est une véritable joie pour les lecteurs..


  • En aparté, il est plus « pythonique » d'écrire sum([1/p/q for q in range(2,n+1) for p in range(1,q) if p+q>n and gcd(p,q)==1])
  • Bonsoir,
    Merci pour ce joli problème que je ne connaissais pas. Avec la remarque de Ben314159 on arrive en effet facilement au résultat annoncé par Jandri, que je salue au passage.
    Al-Kashi
  • gebrane
    Modifié (November 2023)
    Math-Coss . Préfères-tu comme ça : ?
    from math import gcd
    def calcul_S(n):
        return sum([1/p/q for q in range(2, n + 1) for p in range(1, q) if p + q > n and gcd(p, q) == 1])
    
    n = int(input("Entrez la valeur de n : "))
    result = calcul_S(n)
    print(f"S_{n} = {result:.6f}")
    Lorsque notre cher Nico, le professeur, intervient dans une question d'analyse, c'est une véritable joie pour les lecteurs..


Connectez-vous ou Inscrivez-vous pour répondre.