Metodo della secante

Indice dei contenuti

    Il metodo della secante è un metodo iterativo per approssimare uno zero di una funzione reale. Può essere visto come una variante del metodo di Newton in cui la derivata viene sostituita da un rapporto incrementale calcolato usando due iterati precedenti.

    È utile quando la derivata f' non è disponibile, è costosa da calcolare o è poco affidabile numericamente.

    Formula iterativa

    Dato il problema

    f(x)=0,

    il metodo della secante parte da due valori iniziali x_0 e x_1 e genera

    x_{k+1} = x_k -f(x_k) \dfrac{x_k-x_{k-1}}{f(x_k)-f(x_{k-1})}.

    La formula deriva dall’intersezione con l’asse x della retta secante che passa per i punti

    (x_{k-1},f(x_{k-1})), \qquad (x_k,f(x_k)).

    Collegamento con Newton

    Il metodo di Newton usa

    x_{k+1}=x_k-\dfrac{f(x_k)}{f'(x_k)}.

    Nel metodo della secante si sostituisce la derivata con

    f'(x_k) \approx \dfrac{f(x_k)-f(x_{k-1})}{x_k-x_{k-1}}.

    In questo modo si evita il calcolo esplicito di f', al prezzo di usare due iterati e di perdere la convergenza quadratica tipica di Newton nelle condizioni ideali.

    Convergenza

    Quando la funzione è sufficientemente regolare, la radice è semplice e i punti iniziali sono abbastanza vicini alla radice, il metodo converge con ordine

    \varphi=\dfrac{1+\sqrt{5}}{2}\approx1{,}618.

    Questo ordine è superlineare: più rapido della bisezione lineare, ma meno rapido della convergenza quadratica di Newton.

    Il vantaggio pratico è che ogni iterazione richiede una sola nuova valutazione di f, perché il valore precedente può essere riutilizzato.

    Criteri di arresto

    In pratica si arresta l’algoritmo quando una o più condizioni sono soddisfatte:

    • |f(x_k)| è sotto una tolleranza;
    • |x_k-x_{k-1}| è piccolo;
    • il numero massimo di iterazioni è stato raggiunto;
    • il denominatore f(x_k)-f(x_{k-1}) diventa troppo piccolo.

    Usare solo |x_k-x_{k-1}| può essere rischioso se la funzione è piatta o mal condizionata: conviene controllare anche il residuo |f(x_k)|.

    Confronto con bisezione

    Il metodo di bisezione è più lento ma robusto: se si parte da un intervallo in cui la funzione cambia segno, mantiene sempre la radice intrappolata. La secante, invece, non garantisce di restare in un intervallo e può divergere se i punti iniziali sono sfavorevoli.

    Una strategia pratica è usare bisezione o un metodo bracketing per avvicinarsi alla radice, poi passare alla secante quando il comportamento locale è più regolare.

    Errori comuni

    Un errore frequente è scegliere x_0 e x_1 troppo vicini con valori di funzione quasi uguali. Il denominatore diventa piccolo e l’iterazione può produrre salti enormi.

    Un secondo errore è pensare che la secante abbia sempre bisogno di un cambio di segno iniziale. Non è necessario, ma senza cambio di segno si perde una garanzia utile di localizzazione della radice.

    Infine, la secante cerca zeri di funzione, non minimi. Se il problema è ottimizzare una funzione, bisogna applicare il metodo alla derivata o usare algoritmi di ottimizzazione dedicati. Per esercizi collegati, vedi zeri di funzione con bisezione, Newton e secante.

    Ultimo aggiornamento: