Étant donné un polynôme intégral de degré strictement supérieur à un, le décomposer complètement en une composition de polynômes intégraux de degré strictement supérieur à un.
Détails
- Un polynôme intégral est un polynôme avec uniquement des entiers comme coefficients.
- Étant donné deux polynômes
p
etq
la composition est définie par(p∘q)(x):=p(q(x))
. - La décomposition d'un polynôme intégral
p
est une séquence ordonnée finie de polynômes intégrauxq1,q2,...,qn
oùdeg qi > 1
pour tous1 ≤ i ≤ n
etp(x) = q1(q2(...qn(x)...))
, et tousqi
ne sont plus décomposables. La décomposition n'est pas nécessairement unique. - Vous pouvez par exemple utiliser des listes de coefficients ou des types polynomiaux intégrés comme entrée et sortie.
- Notez que de nombreuses commandes internes pour cette tâche décomposent en fait les polynômes sur un champ donné et pas nécessairement des entiers, alors que ce défi nécessite un polynôme entier de décomposition. (Certains polynômes entiers peuvent admettre une décomposition en polynômes entiers ainsi qu'une décomposition contenant des polynômes rationnels.)
Exemples
x^2 + 1
[x^2 + 1] (all polynomials of degree 2 or less are not decomposable)
x^6 - 6x^5 + 15x^4 - 20x^3 + 15x^2 - 6 x - 1
[x^3 - 2, x^2 - 2x + 1]
x^4 - 8x^3 + 18x^2 - 8x + 2
[x^2 + 1, x^2 - 4x + 1]
x^6 + x^2 + 1
[x^3 + x + 1, x^2]
x^6
[x^2, x^3]
x^8 + 4x^6 + 6x^4 + 4x^2 + 4 = (x^2 + 1)^4 + 3
[x^2 + 3, x^2, x^2 + 1]
x^6 + 6x^4 + x^3 + 9x^2 + 3x - 5
[x^2 + x - 5, x^3 + 3*x], [x^2 + 5*x + 1, x^3 + 3*x - 2]
Utilisez Maxima pour générer des exemples: essayez-le en ligne!
Quelques algorithmes de décomposition peuvent être trouvés ici et ici .
divisors
fonction dans Pari / GP renvoie toujours des polynômes primitifs lorsqu'elle prend un polynôme intégral. On peut prouver que sip=q∘r
, oùp
etr
font partie intégrante, etr
est primitif avecr(0)=0
, alors ilq
doit aussi être intégral. Icip
,q
,r
correspondent àf
,g
,h
dans le document.Wolfram Language (Mathematica) , 29 octets
Essayez-le en ligne!
J'ai l'exemple mis en place ici pour composer un polynôme aléatoire à partir de quadratiques aléatoires (ou moins), le développer, puis essayer de le décomposer.
Il est nécessaire de compliquer le polynôme avec la variable fictive (a) car la fonction intégrée ne tentera pas de décomposer un monôme.
Je remarque que la réponse a souvent des coefficients beaucoup plus importants que dans la composition d'origine, mais ce sont en effet toujours des entiers.
la source
Decompose[]
renverront toujours des polynômes intégraux (s'ils sont alimentés par des polynômes entiers)? Lors d'une discussion récente dans le chat, nous n'avons rien trouvé à ce sujet.Options@Decompose
et il vous le dira{Modulus->0}
. Maintenant, recherchez Modulus et vous verrez "Le paramètre Modulus-> 0 spécifie l'anneau complet [DoubleStruckCapitalZ] d'entiers."