Algoritmo per determinare se un polinomio ha radici complesse

Aug 24 2020

Esiste un semplice algoritmo per determinare se un dato polinomio (con tutti i coefficienti reali) ha tutte le radici reali? Non ho bisogno di sapere quali sono le radici; Voglio solo sapere se un dato polinomio ha radici complesse.

Background: sono consapevole che ci sono algoritmi (per esempio vedi qui ) per calcolare tutte le radici reali di un polinomio di gradi arbitrari \ begin {equation} \ label {polynomial} a_0 + a_1x + a_2x ^ 2 + \ cdots + a_n x ^ n, \ end {equation} dove$a_0,...,a_n$ sono tutte costanti reali.

Risposte

1 ConvexHull Aug 24 2020 at 06:24

Puoi utilizzare la matrice companion per trovare le radici tramite il calcolo degli autovalori:

Matrice companion

Nota che devi considerare il teorema di Sturm per trovare il numero di radici complesse / reali senza calcolarle esplicitamente (questo è l'unico modo):

Teorema di Sturm