Algoritmo di Sturm

Da testwiki.
Versione del 21 giu 2019 alle 21:52 di imported>Botcrux (Bot: aggiungo template {{Collegamenti esterni}} (ref))
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

Template:F L'algoritmo di Sturm è un algoritmo usato per calcolare il numero di radici reali di un polinomio a coefficienti reali che cadono in un determinato intervallo (a,b).

Algoritmo

Sia f(x) un polinomio di grado n, definiamo la successione di polinomi

{f1(x)=f(x)f2(x)=f(x)fi(x)={fi2(x)modfi1(x)}i=3,2,...,m

dove con A(x)modB(x) si indica il polinomio resto nella divisione del polinomio A(x) per il polinomio B(x).

Il numero di distinti zeri reali di f(x) nell'intervallo [a,b], con f(a)0 e f(b)0, è uguale a V(a)V(b), dove V(x) indica il numero di volte che gli elementi della successione f1(x),f2(x)...fm(x) cambiano di segno, ignorando gli zeri.

Dimostrazione

La successione {fi(x)}i=1,2,...,m è una sequenza di Sturm, abbiamo che

f(x)=(xz1)μ1(xz2)μ2...(xzr)μrg(x)

dove zi è uno zero reale di f(x) con molteplicità μi mentre g(x) è un polinomio senza radici reali. Per cui

f(x)f(x)=f2(x)f1(x)=k=1rμkxzk+g(x)

considerando che le molteplicità sono tutte positive si ottiene

Iabf2(x)f1(x)=r

dove si è usato l'indice di Cauchy, il teorema sulle sequenze di Sturm afferma

Iabf2(x)f1(x)=V(a)V(b)

da cui la tesi.

Collegamenti esterni

Template:Portale