Algoritmo di Bairstow

In matematica, in particolare in analisi numerica, il metodo di Bairstow è un algoritmo efficiente per trovare le radici di un polinomio reale di grado arbitrario. Il primo algoritmo è apparso in appendice al libro Aerodinamica Applicata di Leonard Bairstow, pubblicato nel 1920. L'algoritmo individua le radici in coppie complesse coniugate utilizzando solo l'aritmetica reale.

Descrizione del metodo modifica

L'approccio di Bairstow consiste nell'applicare il metodo delle tangenti per modificare i coefficienti   e   nell'equazione di secondo grado   fino a quando le radici di quest'equazione coincidano con le radici del polinomio da risolvere. Le radici dell'equazione possono quindi essere facilmente calcolate e il polinomio di partenza può essere diviso per il polinomio di secondo grado per eliminare quelle radici. Questo processo viene quindi iterato per trovare tutte le altre radici del polinomio di partenza.

Dividendo il polinomio da fattorizzare,

 

per  , si ottiene un quoziente   e un resto   tali che

 

Si divide poi   per  , ottenendo un quoziente   e un resto   con

 

Le variabili  , e le   sono funzioni di   e  . Si possono calcolare ricorsivamente nel modo seguente:

 

Il polinomio quadratico divide   se

 

Si possono trovare valori di   e   che soddisfano queste condizioni prendendo dei valori di partenza e iterando il metodo di Newton in due dimensioni

 

fino a quando il metodo converge.

Questo metodo per trovare gli zeri dei polinomi può essere facilmente implementato con un linguaggio di programmazione o con un foglio di calcolo.

Esempio modifica

Determinare le radici del polinomio   Come primo polinomio quadratico si può scegliere il polinomio normalizzato formato dai primi tre coefficienti di  .

 

L'iterazione produce i valori

Iteration steps of Bairstow's method
Nr u v step length roots
0 1,833333333333 -5,500000000000 5,579008780071 -0,916666666667±2,517990821623
1 2,979026068546 -0,039896784438 2,048558558641 -1,489513034273±1,502845921479
2 3,635306053091 1,900693009946 1,799922838287 -1,817653026545±1,184554563945
3 3,064938039761 0,193530875538 1,256481376254 -1,532469019881±1,467968126819
4 3,461834191232 1,385679731101 0,428931413521 -1,730917095616±1,269013105052
5 3,326244386565 0,978742927192 0,022431883898 -1,663122193282±1,336874153612
6 3,333340909351 1,000022701147 0,000023931927 -1,666670454676±1,333329555414
7 3,333333333340 1,000000000020 0,000000000021 -1,666666666670±1,333333333330
8 3,333333333333 1,000000000000 0,000000000000 -1,666666666667±1,333333333333

Dopo otto iterazioni il metodo ha prodotto un polinomio quadratico con radici che nelle cifre rappresentate coincidono con   e  . La lunghezza dei passi successivi alla quarta iterazione mostra che la velocità di convergenza è più che lineare.

Voci correlate modifica

Collegamenti esterni modifica

  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica