Ich bin auf folgendes interessantes Problem gestoßen: Sei Polynome über dem Feld der reellen Zahlen, und nehmen wir an, dass ihre Koeffizienten alle ganzzahlig sind (dh es gibt eine endliche exakte Darstellung dieser Polynome). Bei Bedarf können wir annehmen, dass der Grad beider Polynome gleich ist. Wir bezeichnen mit x p (bzw. x q ) den größten Absolutwert einer (reellen oder komplexen) Wurzel des Polynoms p (bzw. q ). Ist die Eigenschaft x p = x q entscheidbar?
Wenn nicht, gilt diese Eigenschaft für einige eingeschränkte Familien von Polynomen? In dem Kontext, aus dem dieses Problem hervorgeht, sind die Polynome charakteristische Polynome von Matrizen, und ihre Wurzeln sind Eigenwerte.
Mir sind einige numerische Algorithmen zur Berechnung der Wurzeln von Polynomen / Eigenwerten bekannt, diese scheinen hier jedoch keinen Nutzen zu haben, da die Ausgabe dieser Algorithmen nur ungefähr ist. Es scheint mir, dass Computeralgebra hier nützlich sein könnte, aber leider habe ich fast keine Kenntnisse auf diesem Gebiet.
Ich bin nicht auf der Suche nach einer detaillierten Lösung für dieses Problem, aber jede Intuition und Ideen, wo nach der Lösung gesucht werden kann, wären hilfreich.
Danke im Voraus.
Antworten:
Ich kenne mich auch auf diesem Gebiet nicht aus, aber ich denke, ich kann eine nicht konstruktive Antwort geben.
Die Theorie erster Ordnung realer geschlossener Felder ist entscheidbar. Ihr Problem kann als ein System algebraischer Gleichungen und Ungleichungen über die reellen algebraischen Zahlen angegeben werden. Betrachten Sie Variablen x 1 , ... , x Grad P , y 1 , ... , y Grad P , x ' 1 , ... , x ' Grad P , y ' 1 , ... , y '2(degP+degQ) . Sie möchten wissen, ob das folgende System erfüllt werden kann:
\ begin {align *} P (x_j + i \, y_j) & = 0 & \ text {for \ (1 \ le j \ le \ deg P \)} \\ Q (x'_k + i \, y'_k) & = 0 & \ text {für \ (1 \ le k \ le \ deg Q \)} \\ x_j ^ 2 + y_j ^ k & \ le x_1 ^ 2 + x_2 ^ 2 & \ text {für \ (2 \ le j \ le \ deg P \)} \\ x'_j ^ 2 + y'_j ^ k & \ le x'_1 ^ 2 + x'_2 ^ 2 & \ text {for \ (2 \ le k \ le \ deg Q \)} \\ x_1 ^ 2 + y_1 ^ 2 = x'_1 ^ 2 + y'_1 ^ 2 \\ \ end {align *}x1,…,xdegP,y1,…,ydegP,x′1,…,x′degP,y′1,…,y′degP
P(x_j+i\,y_j) &= 0 & \text{for \(1 \le j \le \deg P\)} \\
Q(x'_k+i\,y'_k) &= 0 & \text{for \(1 \le k \le \deg Q\)} \\
x_j^2 + y_j^k &\le x_1^2 + x_2^2 & \text{for \(2 \le j \le \deg P\)} \\
x'_j^2 + y'_j^k &\le x'_1^2 + x'_2^2 & \text{for \(2 \le k \le \deg Q\)} \\
x_1^2 + y_1^2 = x'_1^2 + y'_1^2 \\
\end{align*}
Die ersten beiden Gleichungsfamilien drücken aus, dass und x ' k + ixj+iyj sind Wurzeln der Polynome, die nächsten beiden Ungleichungsfamilien drücken x 1 + i ausx′k+iy′k und x ' 1 + ix1+iy1 hat den größten absoluten Wert und die letzte Ungleichung vergleicht diese größten absoluten Werte.x′1+iy′1
Es ist entscheidend, ob dieses System zufriedenstellend ist: Ihr Problem ist entscheidbar. Diese Aussage ist jedoch wahrscheinlich nicht der effizienteste Weg, dies zu tun.
Eine nützlichere Antwort betrifft wahrscheinlich die Theorie der Gröbner-Basen . Wenn Sie versuchen, dieses Problem selbst zu lösen, erhalten Sie beim Lesen der ersten Kapitel eines rechnergestützten Algebra-Buches den erforderlichen Hintergrund. Wenn Sie nur Ihr zugrunde liegendes Problem lösen möchten, können Sie wahrscheinlich einen Standardalgorithmus implementieren.
quelle
Ich kann mich irren: Ich bin auch nicht sehr gut informiert auf diesem Gebiet (wo sind die Experten!?), Aber ich glaube, ich habe einen ziemlich schnellen Algorithmus für das, was Sie fragen.
Ich werde der Einfachheit halber annehmen, dass alle Wurzeln real sind. Finden Sie ein Intervall, das an die Wurzel von mit dem höchsten Absolutwert gebunden ist (dh ein Intervall I, so dass x P ∈ I und x ′ P ∉ I für alle anderen Wurzeln von P gelten ). Ein solches Intervall kann durch die kombinierte Verwendung von Dichotomie und Sturms Theorem gefunden werden . Jetzt berechnet das Polynom GCD R von P und Q . Stellen Sie sicher, dass R eine Wurzel in I hat (wieder mit dem Satz von Sturm).P I xP∈I x′P∉I P R P Q R I
Dies ist nur eine Skizze, aber es braucht nicht viel, um daraus einen echten Algorithmus zu machen. Tatsächlich vermute ich, dass die Verwendung von Maple oder Mathematica dies trivial machen würde.
quelle