Décomposition en produit de facteurs premiers

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}
Révision datée du 30 juin 2023 à 07:59 par >Robert FERREOL (→‎Articles connexes : lien constante de Niven)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Fichier:PrimeDecompositionExample.svg
Décomposition du nombre 864 en facteurs premiers

En mathématiques et plus précisément en arithmétique, la décomposition en produit de facteurs premiers, aussi connue comme la factorisation entière en nombres premiers ou encore plus couramment la décomposition en facteurs premiers, consiste à chercher à écrire un entier naturel non nul sous forme d'un produit de nombres premiers. Par exemple, si le nombre donné est 45, la factorisation en nombres premiers est 32 × 5, soit 3 × 3 × 5.

Par définition, un nombre premier ne peut pas être décomposé en produit de plusieurs nombres premiers. On peut aussi dire qu'il est sa propre décomposition. Quant au nombre 1, c'est le produit vide<ref>Modèle:Ouvrage.</ref>.

Modèle:Retrait

La factorisation est toujours unique, en accord avec le théorème fondamental de l'arithmétique. L'écriture des nombres entiers en produits de facteurs premiers en facilite la manipulation dans des problèmes de divisibilité, de fraction ou de racine carrée.

La recherche d'algorithmes de décomposition est d'une importance considérable en mathématiques, en cryptologie, en théorie de la complexité des algorithmes, et pour les calculateurs quantiques. En 2020, un nombre de 250 chiffres (RSA-250) a été décomposé en facteurs premiers en utilisant environ 2700 cœurs.ans de calcul<ref>https://lists.gforge.inria.fr/pipermail/cado-nfs-discuss/2020-February/001166.html</ref>.

Décomposition en produit de nombres premiers

Le théorème fondamental de l'arithmétique permet d'affirmer que tout entier strictement positif possède une unique décomposition en facteurs premiers. C'est-à-dire qu'il peut s'écrire de manière unique comme le produit fini de nombres premiers à une puissance adéquate.

Pour tout nombre entier naturel Modèle:Mvar supérieur ou égal à 1<ref>Louis Comtet, Analyse combinatoire élémentaire, chap 1.4, Modèle:P., Modèle:Google Livres, étant entendu que si Modèle:Math alors Modèle:Math et il s'agit de la suite vide.</ref>, il existe une suite finie unique Modèle:Math telle que :

  1. les Modèle:Mvar sont des nombres premiers tels que, si Modèle:Math, alors Modèle:Math ;
  2. les Modèle:Mvar sont des entiers naturels non nuls ;
  3. Modèle:Mvar est le produit des nombres Modèle:Mvar.

Une définition plus formelle de la décomposition en facteurs premiers fait appel à la notion de [[valuation p-adique|valuation Modèle:Mvar-adique]].

Pour tout nombre premier Modèle:Mvar et tout entier naturel Modèle:Mvar non nul, on détermine le plus grand entier naturel Modèle:Mvar tel que Modèle:Mvar divise Modèle:Mvar. Cet entier se note Modèle:Math et s'appelle [[valuation p-adique|valuation Modèle:Mvar-adique]] de l'entier Modèle:Mvar.

Ainsi Modèle:Math pour tout nombre premier Modèle:Mvar, Modèle:Math et Modèle:Math.

Si l'on note alors <math> \mathcal P</math> l'ensemble de tous les nombres premiers, tout entier naturel non nul Modèle:Mvar peut s'écrire sous la forme du produit

<math>n = \prod_{p\in\mathcal{P}} p^{v_p(n)}.</math>

Les Modèle:Math étant nuls sauf un nombre fini d'entre eux, ce produit infini est en fait un produit fini. Cette écriture est unique, c'est-à-dire que, s'il existe une famille <math>(\alpha_p)_{p \in \mathcal P}</math> d'entiers naturels, tous nuls sauf un nombre fini d'entre eux, telle que

<math>n = \prod_{p\in\mathcal{P}} p^{\alpha_p},</math>

alors pour tout Modèle:Mvar, Modèle:Math. On appelle alors cette écriture la décomposition de Modèle:Mvar en produit de facteurs premiers.

Utilisations élémentaires

L'écriture d'un entier sous forme d'un produit de facteurs premiers permet de simplifier le travail sur les produits, les multiples et les diviseurs. Elle permet aussi de trouver des formes réduites pour des quotients ou des racines.

Multiples et diviseurs

On suppose par la suite que la décomposition de Modèle:Mvar en produit de facteurs premiers s'écrit

<math>n=\prod_{i=1}^rp_i^{k_i}.</math>

L'entier Modèle:Mvar est un multiple de Modèle:Mvar si et seulement si la décomposition de Modèle:Mvar en produit de facteurs premiers contient au moins tous les Modèle:Mvar élevés à une puissance Modèle:Mvar supérieure ou égale à Modèle:Mvar.

L'entier Modèle:Mvar est un diviseur de Modèle:Mvar si et seulement s'il existe Modèle:Mvar entiers Modèle:Mvar vérifiant Modèle:Math tels que Modèle:Retrait

Sous cette forme, il est alors possible de faire l'inventaire de tous les diviseurs de Modèle:Mvar et d'en déterminer le nombre :

Ainsi les diviseurs de 45 sont : Modèle:Retrait soit 6 diviseurs.

Plus généralement, le nombre de diviseurs de l'entier <math>n=\prod_{i=1}^rp_i^{k_i}</math> est <math>\prod_{i=1}^r(k_i+1),</math> car un diviseur est constitué en choisissant arbitrairement un exposant pour Modèle:Math parmi Modèle:Math valeurs (de 0 à Modèle:Math), un exposant pour Modèle:Math parmi Modèle:Math valeurs, etc.

La somme des diviseurs positifs de Modèle:Mvar est donnée par la formule Modèle:Retrait

PGCD et PPCM

Le PGCD (plus grand commun diviseur) de deux nombres entiers Modèle:Mvar et Modèle:Mvar supérieurs ou égaux à 2 a pour décomposition en facteurs premiers le produit des facteurs premiers apparaissant à la fois dans la décomposition de Modèle:Mvar et de Modèle:Mvar munis du plus petit des exposants trouvés dans la décomposition de Modèle:Mvar et de Modèle:Mvar. Autrement dit, pour tout nombre premier Modèle:Mvar, Modèle:Math, où Modèle:Mvar est la valuation p-adique. Ainsi, Modèle:Retrait

Le PPCM (plus petit commun multiple) de deux nombres entiers Modèle:Mvar et Modèle:Mvar supérieurs ou égaux à 2 a pour décomposition en facteurs premiers le produit des facteurs premiers apparaissant dans Modèle:Mvar ou dans Modèle:Mvar munis du plus grand des exposants trouvés dans la décomposition de Modèle:Mvar et de Modèle:Mvar. Autrement dit, pour tout nombre premier Modèle:Mvar, Modèle:Math, où Modèle:Mvar est la valuation p-adique. Ainsi, Modèle:Retrait

Décomposition et valuation

L'écriture de la décomposition sous forme d'un produit infini permet de résumer ces calculs en travaillant seulement sur les valuations.

  • Diviseur : Modèle:Mvar divise Modèle:Mvar si et seulement si, pour tout nombre premier Modèle:Mvar, Modèle:Math.
  • Produit : la décomposition en facteurs premiers de Modèle:Mvar consiste à faire les somme de valuations :Modèle:Retrait
  • PGCD : <math>\text{pgcd}(a,b)= \prod_{p \in \mathcal P}p^{\min(v_p(a),v_p(b))}.</math>
  • PPCM : <math>\text{ppcm}(a,b)= \prod_{p \in \mathcal P}p^{\max(v_p(a),v_p(b))}.</math>

Formes réduites

La décomposition en produit de facteurs premiers peut se révéler utile pour réduire une fraction en fraction irréductible, pour la décomposer en éléments simples, pour réduire deux fractions au même dénominateur ou pour réduire des expressions contenant des racines carrées ou des [[Racine d'un nombre|racines Modèle:Mvar-ièmes]].

Fractions irréductibles

Modèle:Article détaillé Pour réduire une fraction sous forme irréductible, il faut simplifier le numérateur et le dénominateur de la fraction par le PGCD de ces deux nombres. Une écriture des nombres en produit de facteurs premiers rend plus évidente la simplification : Modèle:Retrait

Fractions réduites au même dénominateur

Pour réduire deux fractions au même dénominateur, on peut choisir comme dénominateur commun le PPCM des deux dénominateurs. Là aussi la décomposition en produits de facteurs premiers peut se révéler utile : Modèle:Retrait+ \frac{3\times \color{Red}2}{2\times 5\times 7\times \color{Red}2} = \dfrac {31}{2^2\times 5\times 7}=\dfrac{31}{140}</math>}}

Fractions décomposées en élément simples

Toute fraction peut s'écrire comme somme ou différence de fractions dont le dénominateur est une puissance de nombre premier. Sous cette forme, appelée décomposition en éléments simples, il est facile de connaitre un développement décimal périodique de la fraction connaissant les périodes de chacune des fractions élémentaires. La décomposition en éléments simples utilise l'identité de Bézout et la décomposition du dénominateur en facteurs premiers. Modèle:Retrait On cherche alors deux entiers Modèle:Mvar et Modèle:Mvar tels que Modèle:Math. On peut prendre Modèle:Math et Modèle:Math. Modèle:Retrait

Réduction de racines

Tout entier supérieur ou égal à 2 est un carré si tous les exposants de sa décomposition en produit de facteurs premiers sont pairs. Tout entier supérieur ou égal à deux se décompose en produit d'un carré et d'un nombre dont la décomposition en produits de facteurs premiers ne contient que des exposants égaux à 1. Sous cette forme, il est possible d'écrire une racine carrée sous forme irréductible : Modèle:Retrait

Cette propriété se généralise à des racines Modèle:Mvar-ièmes.

Algorithmes de factorisation

S'il existe un algorithme simple à mettre en place pour décomposer un nombre de taille raisonnable, cet algorithme se révèle rapidement inefficace, en termes de temps, pour des très grands nombres. La recherche d'algorithmes performants est donc un objectif de la théorie des nombres.

Algorithme naïf

Modèle:Loupe La première idée consiste à balayer la liste des nombres premiers en testant si le nombre premier Modèle:Mvar divise Modèle:Mvar. Si oui, on recommence l'algorithme pour Modèle:Math, en ne testant que les diviseurs premiers encore envisageables. On s'arrête quand le nombre premier à tester devient supérieur à la racine carrée du nombre qu'il est censé diviser.

Ainsi pour décomposer 2088 en produit de facteurs premiers

2088 2 2 divise 2088 le quotient est 1044
1044 2 2 divise 1044, le quotient est 522
522 2 2 divise 522, le quotient est 261
261 3 2 ne divise pas 261, mais 3 divise 261 et le quotient est 87
87 3 3 divise 87 et le quotient est 29
29 ni 3, ni 5 ne divisent 29 et 72 est plus grand que 29 (fin)

On obtient la décomposition attendue : 2088=2Modèle:3 × 32 × 29.

Applications pratiques

Soient deux grands nombres premiers donnés, il est facile d'en obtenir le produit. Par contre, il est beaucoup plus difficile de trouver les facteurs premiers de celui-ci. C'est ce que l'on appelle une fonction trappe. Ceci s'applique pour les systèmes modernes en cryptologie. Si une méthode rapide était trouvée pour résoudre le problème de la factorisation des nombres entiers, alors plusieurs systèmes cryptologiques importants seraient cassés, incluant l'algorithme à clé publique RSA et le générateur de nombres pseudo-aléatoires Blum Blum Shub. La mise au point d'un ordinateur quantique est une de ces méthodes.

Bien que la factorisation soit une manière de casser ces systèmes, il peut exister d'autres manières de les casser qui n'impliquent pas la factorisation. Ainsi, il est possible que le problème de la factorisation entière soit vraiment difficile, mais que ces systèmes puissent quand même être cassés rapidement. Une exception rare est le générateur Blum Blum Shub. Il a été prouvé qu'il est exactement aussi difficile que la décomposition en produit de facteurs premiers : savoir casser le générateur en temps polynomial suffit pour savoir factoriser les entiers en temps polynomial, et vice versa.

État actuel de l'art

Si un grand nombre à Modèle:Mvar bits est le produit de deux nombres premiers qui sont probablement de la même taille, alors aucun algorithme n'est actuellement connu pour pouvoir le factoriser en temps polynomial. Ce qui veut dire qu'il n'existe pas d'algorithme connu pouvant le factoriser en temps O(nk) quelle que soit la constante Modèle:Mvar. Il existe des algorithmes, néanmoins, qui sont aussi rapides que Θ(en). En d'autres termes, les meilleurs algorithmes connus sont sous-exponentiels, mais super-polynomiaux. En particulier, le meilleur algorithme connu est le crible général de corps de nombres (GNFS).

Pour un ordinateur ordinaire, GNFS est le meilleur algorithme connu pour les grands Modèle:Mvar. Pour un calculateur quantique, en revanche, Peter Shor a découvert un algorithme en 1994 qui le résout en temps polynomial. Ceci aura des implications significatives pour la cryptologie si un grand calculateur quantique est construit un jour. L'algorithme de Shor prend seulement O(n3) de temps et O(n) d'espace. Les formes de l'algorithme sont connues pour utiliser seulement 2n qubits. En 2001, le premier calculateur quantique 7-qubit devint le premier à exécuter l'algorithme de Shor. Il factorisa le nombre 15<ref>Modèle:Article.</ref>. Modèle:Article détaillé

Difficulté et complexité

On ne connaît pas exactement quelles classes de complexité contiennent le problème de la décomposition en produit de facteurs premiers. Le problème de décision de forme « Modèle:Mvar admet-il un facteur premier inférieur à Modèle:Mvar ? » est connu pour être à la fois NP et co-NP. Ceci parce que les réponses OUI et NON peuvent être données en temps polynomial si les facteurs premiers sont donnés : on peut vérifier leur primalité grâce au test de primalité AKS, puis vérifier que leur produit vaut Modèle:Mvar, et enfin vérifier si l'un des facteurs est inférieur à Modèle:Mvar.

Le problème de la décomposition est connu comme étant dans BQP à cause de l'algorithme de Shor. Il est suspecté, comme le problème de l'isomorphisme de graphes, d'être strictement entre les classes P et NP-complet (ou co-NP-complet). S’il peut être démontré qu'il est NP-Complet ou co-NP-Complet, cela impliquerait NP = co-NP. Ce serait un résultat très surprenant, par conséquent la factorisation entière est largement suspectée d'être en dehors de ces classes. Beaucoup de personnes ont essayé de trouver des algorithmes en temps polynomial pour cela et ont échoué ; par conséquent, ce problème est largement suspecté d'être également en dehors de P.Modèle:Référence nécessaire

De manière intéressante, le problème de décision « Modèle:Mvar est-il un nombre composé ? » (ou de façon équivalente : « Modèle:Mvar est-il un nombre premier ? ») apparaît comme étant plus facile que le problème consistant à trouver les facteurs de Modèle:Mvar. Plus précisément, la question ci-dessus peut être résolue en temps polynomial (en nombre Modèle:Mvar des chiffres de Modèle:Mvar)<ref>Modèle:Article.</ref>. De plus, il existe un nombre d'algorithmes probabilistes qui peuvent tester la primalité d'un nombre très rapidement si l'un d'eux est susceptible d'accepter une petite possibilité d'erreur. La facilité de test d'un nombre premier est une partie cruciale de l'algorithme RSA, comme il est nécessaire de trouver de grands nombres premiers à utiliser avec lui.

But spécial

Le temps d'exécution des algorithmes de factorisation à but spécial dépend des propriétés de ses facteurs inconnus : taille, forme spéciale, etc. De manière exacte, le temps d'exécution dépend de ce qui varie entre les algorithmes.

But général

Le temps d'exécution des algorithmes de factorisation à but général dépend seulement de la taille de l'entier à factoriser. Ceci est le type d'algorithme utilisé pour factoriser les nombres RSA. La plupart des algorithmes de factorisation à but général sont basés sur la méthode des congruence de carrés.

Notes et références

Modèle:Références

Voir aussi

Articles connexes

  • Partition d'un entier qui correspond à la décomposition d'un entier additivement, qui, elle, n'est pas unique et dont le nombre de possibilités est objet d'étude.
  • Formule de Legendre, donnant la valuation p-adique de <math>n!</math>.
  • Lemme LTE donnant la valuation p-adique de <math>x^n\pm y^n</math>.
  • Constante de Niven égale à la moyenne du plus grand exposant apparaissant dans la décomposition.

Lien externe

Outil de décomposition en produit de facteurs premiers en ligne.

Modèle:Palette

Modèle:Portail