Zerlegen Sie ein ganzzahliges Polynom mit einem Grad, der genau größer als eins ist, vollständig in eine Zusammensetzung von ganzzahligen Polynomen mit einem Grad, der genau größer als eins ist.
Einzelheiten
- Ein ganzzahliges Polynom ist ein Polynom mit nur ganzen Zahlen als Koeffizienten.
- Gegeben sind zwei Polynome
p
undq
die Zusammensetzung ist definiert durch(p∘q)(x):=p(q(x))
. - Die Zerlegung eines ganzzahligen Polynoms
p
ist eine endlich geordnete Folge von ganzzahligen Polynomen, beiq1,q2,...,qn
denendeg qi > 1
für alle1 ≤ i ≤ n
und nichtp(x) = q1(q2(...qn(x)...))
alleqi
weiter zerlegbar sind. Die Zersetzung ist nicht unbedingt eindeutig. - Sie können zB Koeffizientenlisten oder eingebaute Polynomtypen als Ein- und Ausgabe verwenden.
- Beachten Sie, dass viele Builtins für diese Aufgabe die Polynome tatsächlich über ein bestimmtes Feld und nicht unbedingt über ganze Zahlen zerlegen, während diese Herausforderung eine Zerlegung ganzzahliger Polynome erfordert. (Einige ganzzahlige Polynome lassen möglicherweise eine Zerlegung in ganzzahlige Polynome sowie eine Zerlegung mit rationalen Polynomen zu.)
Beispiele
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]
Verwenden Sie Maxima, um Beispiele zu generieren: Probieren Sie es online aus!
divisors
Funktion in Pari / GP immer primitive Polynome zurück, wenn ein ganzzahliges Polynom verwendet wird. Es kann bewiesen werden, dass wennp=q∘r
, wop
undr
integral sind undr
primitiv mitr(0)=0
, dannq
auch integral sein muss. Hierp
,q
,r
entsprichtf
,g
,h
in dem Papier.Wolfram Language (Mathematica) , 29 Byte
Probieren Sie es online!
Ich habe das Beispiel hier eingerichtet, um ein zufälliges Polynom aus zufälligen Quadraten (oder weniger) zu erstellen, es zu erweitern und dann zu versuchen, es zu zerlegen.
Es ist notwendig, das Polynom mit der Dummy-Variablen (a) zu komplizieren, da das eingebaute System nicht versucht, ein Monom zu zerlegen.
Ich bemerke, dass die Antwort oft viel größere Koeffizienten als in der ursprünglichen Komposition hat, aber sie sind in der Tat immer ganze Zahlen.
quelle
Decompose[]
die immer ganzzahlige Polynome zurückgeben (wenn sie mit ganzzahligen Polynomen gespeist werden)? Als wir in letzter Zeit im Chat diskutierten, konnten wir nichts darüber finden.Options@Decompose
und es wird dir sagen{Modulus->0}
. Schauen Sie nun nach Modulus und Sie werden sehen: "Die Einstellung Modulus-> 0 gibt den vollen Ring [DoubleStruckCapitalZ] von ganzen Zahlen an."