Lezione 7 · Canale 1 · lunedì 5 ottobre 2026

Successioni, funzioni quadratiche e metodo di Newton

Programmazione Matematica

Successioni e punti limite

Un algoritmo genera una successione {xk}\{x_k\} di punti di Rn\mathbb R^n, cioè una funzione dai naturali a Rn\mathbb R^n, e si vuole che converga, di solito alla soluzione del problema. Per questo conta come si comporta una successione.

  • Convergente: per k→∞k\to\infty tende a un unico punto xˉ\bar x, il limite: lim⁡k→∞xk=xˉ\lim_{k\to\infty}x_k=\bar x. Il limite è per k→∞k\to\infty perché l'infinito è il punto di accumulazione dei naturali.
  • Divergente: tende all'infinito.
  • Irregolare: non è né convergente né divergente.
  • Limitata: esiste una costante MM con ∥xk∥≤M\|x_k\|\le M per ogni kk.

Una sottosuccessione si ottiene scegliendo un insieme di indici K⊆{0,1,… }K\subseteq\{0,1,\dots\} e tenendo solo gli xkx_k con k∈Kk\in K. Se esiste KK tale che

lim⁡k∈Kk→∞xk=x^\lim_{\substack{k\in K\\k\to\infty}}x_k=\hat x

allora x^\hat x è un punto limite. Il limite riguarda tutta la successione, il punto limite una sua sottosuccessione: sono concetti distinti.

Esempio in R2\mathbb R^2, con gli indici pari e dispari:

xk={(1k+10)k=0,2,4,…(−21k2+1)k=1,3,5,…x_k=\begin{cases} \begin{pmatrix}\dfrac1{k+1}\\[0.5em]0\end{pmatrix} & k=0,2,4,\dots\\[1.4em] \begin{pmatrix}-2\\[0.2em]\dfrac1{k^2+1}\end{pmatrix} & k=1,3,5,\dots \end{cases}

Con K1={0,2,4,… }K_1=\{0,2,4,\dots\} e K2={1,3,5,… }K_2=\{1,3,5,\dots\}:

lim⁡k∈K1k→∞xk=(00)lim⁡k∈K2k→∞xk=(−20)\begin{gathered} \lim_{\substack{k\in K_1\\k\to\infty}}x_k=\begin{pmatrix}0\\0\end{pmatrix}\\[0.6em] \lim_{\substack{k\in K_2\\k\to\infty}}x_k=\begin{pmatrix}-2\\0\end{pmatrix} \end{gathered}

Due punti limite distinti: la successione non converge, perché un limite è unico, e non diverge. È quindi irregolare.

Una successione con due punti limite

Indici
−2,5−2−1,5−1−0,500,511,5−0,100,10,20,30,40,50,6
Gli indici pari si avvicinano a , i dispari a : sono due punti limite, e con «Indici» si isola una sottosuccessione.

Funzioni lineari

Una funzione f:Rn→Rmf:\mathbb R^n\to\mathbb R^m è lineare se, per ogni x,y∈Rnx,y\in\mathbb R^n e ogni α,β∈R\alpha,\beta\in\mathbb R, vale il principio di sovrapposizione degli effetti:

f(αx+βy)=αf(x)+βf(y)f(\alpha x+\beta y)=\alpha f(x)+\beta f(y)

Ciò equivale a f(x)=Axf(x)=Ax, con AA di dimensione m×nm\times n. Se f:Rn→Rf:\mathbb R^n\to\mathbb R, è lineare quando f(x)=c⊤xf(x)=c^\top x, il prodotto scalare fra il vettore dei coefficienti e quello delle variabili.

Per esempio f(x1,x2,x3,x4)=−3x1+2x2−6x3+4x4f(x_1,x_2,x_3,x_4)=-3x_1+2x_2-6x_3+4x_4 è lineare:

f(x)=(−32−64)(x1x2x3x4)f(x)=\begin{pmatrix}-3&2&-6&4\end{pmatrix}\begin{pmatrix}x_1\\x_2\\x_3\\x_4\end{pmatrix}

Invece f(x1,x2)=e3x1+4x2f(x_1,x_2)=e^{3x_1+4x_2} non lo è. L'argomento dell'esponenziale è lineare, ma la funzione no: non si scrive come c⊤xc^\top x, e per esempio vale 11 nell'origine, dove una funzione lineare vale 00.

Forme e funzioni quadratiche

In una variabile, f(x)=ax2f(x)=ax^2 è una forma quadratica: un polinomio omogeneo di secondo grado. Con un termine lineare e uno costante, f(x)=ax2+cx+bf(x)=ax^2+cx+b, è una funzione quadratica. Una funzione lineare più un termine costante è invece affine: una lineare traslata.

In R2\mathbb R^2 una forma quadratica si scrive in tre modi equivalenti:

f(x1,x2)=a11x12+a12x1x2+a21x2x1+a22x22=∑i=12∑j=12aij xixj=(x1x2)(a11a12a21a22)(x1x2)=x⊤Ax\begin{aligned} f(x_1,x_2)&=a_{11}x_1^2+a_{12}x_1x_2+a_{21}x_2x_1+a_{22}x_2^2\\ &=\sum_{i=1}^{2}\sum_{j=1}^{2}a_{ij}\,x_ix_j\\ &=\begin{pmatrix}x_1&x_2\end{pmatrix} \begin{pmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{pmatrix} \begin{pmatrix}x_1\\x_2\end{pmatrix}\\ &=x^\top Ax \end{aligned}

Poiché x1x2=x2x1x_1x_2=x_2x_1, conta solo la somma a12+a21a_{12}+a_{21} dei coefficienti misti. Nello stesso esempio la forma resta la stessa se i coefficienti 22 e 44 diventano 11 e 55, oppure 33 e 33:

−3x12+2x1x2+4x2x1+6x22,A=(−3246)−3x12+x1x2+5x2x1+6x22,A=(−3156)−3x12+3x1x2+3x2x1+6x22,A=(−3336)\begin{gathered} -3x_1^2+2x_1x_2+4x_2x_1+6x_2^2,\quad A=\begin{pmatrix}-3&2\\4&6\end{pmatrix}\\[0.6em] -3x_1^2+x_1x_2+5x_2x_1+6x_2^2,\quad A=\begin{pmatrix}-3&1\\5&6\end{pmatrix}\\[0.6em] -3x_1^2+3x_1x_2+3x_2x_1+6x_2^2,\quad A=\begin{pmatrix}-3&3\\3&6\end{pmatrix} \end{gathered}

Le tre matrici danno la stessa funzione, e l'ultima è simmetrica: A=A⊤A=A^\top. Ogni forma quadratica si può scrivere con una matrice simmetrica senza cambiare i suoi valori.

La forma dipende solo dalla somma dei coefficienti misti

0123456−6−4−202468angolo
  • forma
  • termine
  • termine
La forma dipende solo dalla somma : cambiando la differenza la matrice cambia, la forma no.

In Rn\mathbb R^n una funzione quadratica è

f:Rn→Rf(x)=x⊤Ax+c⊤x+b\begin{gathered} f:\mathbb R^n\to\mathbb R\\ f(x)=x^\top Ax+c^\top x+b \end{gathered}

con A∈Rn×nA\in\mathbb R^{n\times n}, c∈Rnc\in\mathbb R^n e b∈Rb\in\mathbb R. Per n=3n=3, per esempio:

A=(521364031),c=(3−24),b=6A=\begin{pmatrix}5&2&1\\3&6&4\\0&3&1\end{pmatrix},\quad c=\begin{pmatrix}3\\-2\\4\end{pmatrix},\quad b=6

Simmetrizzare la matrice

Se AA non è simmetrica, si può sostituirla con la media (A+A⊤)/2(A+A^\top)/2, che è simmetrica e dà gli stessi valori della forma. Non si afferma che le due matrici siano uguali: lo sono i valori delle due forme quadratiche.

La dimostrazione usa due fatti. Il prodotto x⊤A⊤xx^\top A^\top x è uno scalare, quindi coincide con il proprio trasposto, e la trasposta di un prodotto è (ABC)⊤=C⊤B⊤A⊤(ABC)^\top=C^\top B^\top A^\top:

x⊤A⊤x=(x⊤A⊤x)⊤=x⊤Axx^\top A^\top x=\bigl(x^\top A^\top x\bigr)^\top=x^\top Ax

Allora

x⊤(12(A+A⊤))x=12 x⊤Ax+12 x⊤A⊤x=12 x⊤Ax+12 x⊤Ax=x⊤Ax\begin{aligned} x^\top\Bigl(\tfrac12(A+A^\top)\Bigr)x&=\tfrac12\,x^\top Ax+\tfrac12\,x^\top A^\top x\\ &=\tfrac12\,x^\top Ax+\tfrac12\,x^\top Ax=x^\top Ax \end{aligned}

Per la matrice 3×33\times3 di prima:

12(A+A⊤)=12(10515127172)=(552125267212721)\tfrac12(A+A^\top)=\tfrac12\begin{pmatrix}10&5&1\\5&12&7\\1&7&2\end{pmatrix} =\begin{pmatrix}5&\tfrac52&\tfrac12\\[0.3em]\tfrac52&6&\tfrac72\\[0.3em]\tfrac12&\tfrac72&1\end{pmatrix}

Una matrice simmetrica si memorizza con la sola diagonale e una metà. Gli elementi da tenere sono

n+(n−1)+⋯+1=n(n+1)2n+(n-1)+\dots+1=\frac{n(n+1)}2

Il metodo di Newton

Si cerca xˉ∈R\bar x\in\mathbb R tale che f(xˉ)=0f(\bar x)=0, con f:R→Rf:\mathbb R\to\mathbb R non lineare. Se ff fosse lineare, basterebbe risolvere un'equazione di primo grado. L'idea è sostituire ff con la sua approssimazione lineare in un punto iniziale x0x_0, una funzione affine:

f^(x)=f(x0)+f′(x0)(x−x0)\hat f(x)=f(x_0)+f'(x_0)(x-x_0)

Si pone f^(x1)=0\hat f(x_1)=0, cioè f(x0)+f′(x0)(x1−x0)=0f(x_0)+f'(x_0)(x_1-x_0)=0, e, se f′(x0)≠0f'(x_0)\ne0:

x1=x0−f(x0)f′(x0)x_1=x_0-\frac{f(x_0)}{f'(x_0)}

Geometricamente x1x_1 è l'intersezione con l'asse delle ascisse della tangente nel punto (x0,f(x0))(x_0,f(x_0)). Non è detto che x1x_1 annulli ff, ma si può ripetere da x1x_1 e ottenere x2x_2, e così via:

xk+1=xk−f(xk)f′(xk)x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}

Il metodo genera una successione {xk}\{x_k\}, e studiarlo significa studiare questa successione: si vuole che xkx_k converga a un xˉ\bar x con f(xˉ)=0f(\bar x)=0. Le idee degli algoritmi di ottimizzazione partono dal caso lineare o quadratico, che si sa trattare, e si adattano poi al caso generale.

Due passi del metodo di Newton

0,40,60,811,21,41,61,822,22,42,62,83−202468
  • : tangente in
  • tangente in
Ogni passo di Newton porta più vicino allo zero , restando alla sua destra; muovi .

Convergenza del metodo

Convergenza locale. Se f′(xˉ)≠0f'(\bar x)\ne0, condizione naturale perché la derivata sta al denominatore, e se x0x_0 è sufficientemente vicino a xˉ\bar x, la successione converge a xˉ\bar x con una certa rapidità. Se f′f' è continua, resta diversa da zero in un intorno di xˉ\bar x, quindi le iterazioni che partono lì sono ben definite. Quanto vicino debba essere x0x_0 è una condizione teorica, difficile da riconoscere in pratica. Un metodo con questa proprietà è localmente convergente; uno globalmente convergente converge anche partendo da punti lontani.

Strategia multi-start. In una variabile il grafico suggerisce un punto iniziale vicino alla soluzione. In più variabili la funzione non si vede, quindi si provano più punti iniziali generati a caso, sperando che uno cada in una zona da cui il metodo converge.

Asintotica e finita. La convergenza asintotica vuol dire xk→xˉx_k\to\bar x per k→∞k\to\infty. Più forte è la convergenza finita: la soluzione si raggiunge in un numero finito di iterazioni. Vale solo per poche classi di problemi.

Due risultati sulle successioni reali

Sia {xk}:N→R\{x_k\}:\mathbb N\to\mathbb R.

  1. Se è monotona, allora lim⁡k→∞xk=xˉ∈R∗\lim_{k\to\infty}x_k=\bar x\in\mathbb R^*: il limite esiste ed è finito, +∞+\infty o −∞-\infty. Non si estende a Rn\mathbb R^n, perché da R2\mathbb R^2 in poi manca l'ordinamento totale.
  2. Se è limitata, ammette almeno una sottosuccessione convergente (teorema di Bolzano-Weierstrass per successioni). Si estende a Rn\mathbb R^n.

Premessa. Una successione in Rn\mathbb R^n è limitata se e solo se sono limitate le successioni delle sue componenti. Per esempio

xk=(1k+12−11k2+1)x_k=\begin{pmatrix}\dfrac1{k+1}\\[0.5em]2\\[0.2em]-1\\[0.2em]\dfrac1{k^2+1}\end{pmatrix}

ha tutte le componenti limitate, quindi è limitata. Se la seconda componente fosse kk, sarebbe illimitata, e con lei la successione.

Dimostrazione in Rn\mathbb R^n. Sia {xk}\{x_k\} limitata e xk(i)x_k^{(i)} la sua componente ii.

  1. {xk(1)}\{x_k^{(1)}\} è limitata, quindi per il risultato in R\mathbb R esiste K1⊆{0,1,… }K_1\subseteq\{0,1,\dots\} con lim⁡k∈K1xk(1)=xˉ(1)\lim_{k\in K_1}x_k^{(1)}=\bar x^{(1)}.
  2. Su K1K_1 anche {xk(2)}\{x_k^{(2)}\} è limitata, quindi esiste K2⊆K1K_2\subseteq K_1 con lim⁡k∈K2xk(2)=xˉ(2)\lim_{k\in K_2}x_k^{(2)}=\bar x^{(2)}.
  3. Si procede così fino alla componente nn, ottenendo insiemi annidati Kn⊆⋯⊆K2⊆K1K_n\subseteq\dots\subseteq K_2\subseteq K_1 e lim⁡k∈Knxk(n)=xˉ(n)\lim_{k\in K_n}x_k^{(n)}=\bar x^{(n)}.

Ogni KiK_i è contenuto nei precedenti, quindi lungo KnK_n le prime componenti continuano a convergere ai loro limiti. Convergono tutte le componenti, dunque converge il vettore:

lim⁡k∈Knk→∞xk=xˉ\lim_{\substack{k\in K_n\\k\to\infty}}x_k=\bar x

Il punto delicato è proprio la catena di insiemi di indici annidati.

Formulario

Limite

lim⁡k→∞xk=xˉ\lim_{k\to\infty}x_k=\bar x

Punto limite

lim⁡k∈Kk→∞xk=x^\lim_{\substack{k\in K\\k\to\infty}}x_k=\hat x

Funzione lineare

f(x)=Ax,A∈Rm×nf(x)=Ax,\quad A\in\mathbb R^{m\times n} f(x)=c⊤xf(x)=c^\top x

Funzione quadratica

f(x)=x⊤Ax+c⊤x+bf(x)=x^\top Ax+c^\top x+b

Forma con matrice simmetrica

x⊤Ax=x⊤A+A⊤2 xx^\top Ax=x^\top\tfrac{A+A^\top}2\,x

Elementi di una simmetrica

n(n+1)2\tfrac{n(n+1)}2

Approssimazione lineare

f^(x)=f(x0)+f′(x0)(x−x0)\hat f(x)=f(x_0)+f'(x_0)(x-x_0)

Metodo di Newton

xk+1=xk−f(xk)f′(xk)x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}

Convergenza locale

f′(xˉ)≠0,x0 vicino a xˉf'(\bar x)\ne0,\quad x_0\ \text{vicino a}\ \bar x

Bolzano-Weierstrass

{xk} limitata⇒ ∃K: lim⁡k∈Kxk=x^\begin{gathered} \{x_k\}\ \text{limitata}\\ \Rightarrow\ \exists K:\ \lim_{k\in K}x_k=\hat x \end{gathered}