Spesso ci siamo chiesti a cosa serva risolvere delle equazioni complicate. Fin dalle scuole elementari i nostri o le nostre insegnanti ci insegnano come trattare delle equazioni per trovare delle misteriose incognite, storicamente note col nome di \(x\). Tutto questo sforzo risulta essere puramente teorico, oppure risolvere complicate equazioni ha un’utilità pratica?

Equazioni non lineari

Quando ci troviamo di fronte a equazioni lineari nell’incognita \(x\), è facile trovare la soluzione. Ma quando passiamo a equazioni polinomiali del secondo o del terzo grado diventa molto più difficile, tanto che a volte gettiamo la spugna e usiamo un software che ce la risolva, senza avere troppi fastidi.

Perché un software riesce a risolvere un’equazione complicata che noi non abbiamo idea di come attaccare? Semplice, il computer la risolve numericamente, e non analiticamente, come siamo abituati a fare noi. Ciò significa che, di fronte ad un’equazione complicata, il computer adopera un algoritmo che tenta di trovare le soluzioni approssimate di una data equazione non lineare, complicata quanto si vuole.

Il metodo di Newton – Raphson

Il metodo numerico per equazioni non lineari è senza dubbio il metodo di Newton – Raphson, che propone di trovare la soluzione all’equazione $$f(x) = 0$$ usando i metodi del calcolo infinitesimale.

Difatti, sfruttando il concetto di derivata, è possibile avvicinarsi al valore cercato approssimando la funzione in serie di Taylor al prim’ordine, avendo $$f(x) = f(x_0) + f^{´}(x_0)(x-x_0)$$ ove \(x_0\) è un punto iniziale scelto sufficientemente vicino allo zero della funzione. Manipolando la precedente equazione, si può costruire un algoritmo iterativo, la cui convergenza allo zero è quadratica, qualora esso abbia successo. La generica iterazione è la seguente $$x_{n+1} = x_n – \frac{f(x_n)}{f^{´}(x_n)}$$.

Le problematiche dei metodi numerici

Questo metodo spesso e volentieri fallisce. Infatti non può convergere se in una iterazione la derivata è nulla (si noti che nella formula la derivata compare al denominatore…), oppure se in un intorno di \(x_0\) non esiste alcuno zero, oppure se l’algoritmo si blocca in un ciclo e salta tra un valore positivo e negativo, senza raggiungere mai un punto intermedio fra i due.

Perché risolvere equazioni non lineari?

Oltre che ad essere un astruso strumento matematico, le equazioni non lineari vengono risolte nell’ambito del mercato elettrico, per trovare il punto di equilibrio di una rete elettrica. In questo caso, bisogna risolvere un sistema contenente un numero elevatissimo di equazioni in altrettante incognite, quindi si richiede che lo Jacobiano $$J(x) = \frac{\partial f(x)}{\partial x}$$ della funzione sia invertibile in ogni punto percorso dall’algoritmo.

Come se non bastasse, sistemi algebrici non lineari vengono risolti ogni giorno in quanto rappresentano le funzioni obiettivo di complessi problemi di ottimizzazione. In questo scenario si vuole trovare il minimo di una funzione, per minimizzare costi di gestione o massimizzare profitti di un’azienda. Spesso questo viene fatto trasformando il problema in una “semplice” equazione non lineare, che non può essere risolta analiticamente, ma solo tramite algoritmi numerici.