Lezione 9 · Canale 2 · martedì 13 ottobre 2026

Differenziabilità e gradiente in più variabili

Programmazione Matematica

La differenziabilità

Le derivate parziali e direzionali descrivono come varia ff lungo alcune direzioni. La continuità riguarda invece tutti i punti vicini, quindi una funzione può avere tutte queste derivate in un punto senza essere continua. Serve una nozione più forte: approssimare ff vicino a x0x_0 con una funzione affine, con un errore trascurabile rispetto alla distanza da x0x_0.

Sia f:Rn→Rf:\mathbb R^n\to\mathbb R e x0∈Rnx_0\in\mathbb R^n. ff è differenziabile in x0x_0 quando esiste un vettore a∈Rna\in\mathbb R^n tale che, per x→x0x\to x_0,

f(x)=f(x0)+a⊤(x−x0)+o(∥x−x0∥)f(x)=f(x_0)+a^\top(x-x_0)+o(\|x-x_0\|)

Il vettore aa dipende da x0x_0. Il termine o(∥x−x0∥)o(\|x-x_0\|) è l'errore: diviso per ∥x−x0∥\|x-x_0\| tende a 00. Spostando a sinistra la parte affine e dividendo per la distanza si ottengono due forme equivalenti, la seconda con x=x0+dx=x_0+d:

lim⁡x→x0f(x)−f(x0)−a⊤(x−x0)∥x−x0∥=0lim⁡∥d∥→0f(x0+d)−f(x0)−a⊤d∥d∥=0\begin{gathered} \lim_{x\to x_0}\frac{f(x)-f(x_0)-a^\top(x-x_0)}{\|x-x_0\|}=0\\[0.4em] \lim_{\|d\|\to0}\frac{f(x_0+d)-f(x_0)-a^\top d}{\|d\|}=0 \end{gathered}

Una funzione differenziabile in x0x_0 è continua in x0x_0: per x→x0x\to x_0 la parte affine tende a f(x0)f(x_0) e l'errore a 00.

Il gradiente e il piano tangente

Sia ff differenziabile in x0x_0. Per d≠0d\neq0 e t>0t>0 la definizione con x=x0+tdx=x_0+td dà f(x0+td)−f(x0)=t a⊤d+o(t∥d∥)f(x_0+td)-f(x_0)=t\,a^\top d+o(t\|d\|). Dividendo per tt e facendo t→0+t\to0^+:

Df(x0,d)=a⊤dDf(x_0,d)=a^\top d

La derivata direzionale esiste quindi lungo ogni direzione. Con d=eid=e_i e d=−eid=-e_i:

Df(x0,ei)=aiDf(x0,−ei)=−ai\begin{gathered} Df(x_0,e_i)=a_i\\ Df(x_0,-e_i)=-a_i \end{gathered}

I due valori sono opposti: è la condizione per cui esiste la derivata parziale rispetto a xix_i, e vale aia_i. Perciò ff è derivabile in x0x_0 e a=∇f(x0)a=\nabla f(x_0): il vettore della definizione è il gradiente, e la derivata direzionale è un prodotto scalare:

Df(x0,d)=∇f(x0)⊤dDf(x_0,d)=\nabla f(x_0)^\top d

Il grafico di ff sta in Rn+1\mathbb R^{n+1}. La parte affine dell'approssimazione ne dà il piano tangente in (x0,f(x0))(x_0,f(x_0)), un iperpiano di Rn+1\mathbb R^{n+1}:

T(x0)={(x,y): y=f(x0)+∇f(x0)⊤(x−x0)}T(x_0)=\{(x,y):\ y=f(x_0)+\nabla f(x_0)^\top(x-x_0)\}

Il vettore v=(−∇f(x0)⊤, 1)⊤v=(-\nabla f(x_0)^\top,\,1)^\top, con n+1n+1 componenti, è normale al piano tangente e al grafico. Per n=1n=1 il piano è la retta tangente e v=(−f′(x0),1)v=(-f'(x_0),1).

Derivabile non basta. Una funzione differenziabile in x0x_0 è continua e derivabile in x0x_0. Per n=1n=1 vale anche il viceversa, per n≥2n\ge2 no. Lo mostrano due funzioni costanti a tratti: valgono 11 fuori dagli assi la prima, nella regione x2<y<2x2x^2<y<2x^2 la seconda, e 00 altrove. Nell'origine hanno le derivate parziali ma non sono continue, quindi non sono differenziabili.

Riconoscere le funzioni differenziabili

La definizione richiede un limite in più variabili, di solito difficile da calcolare. Si usano due strumenti: le operazioni che conservano la differenziabilità e il teorema del differenziale totale.

Somma e prodotto. Se f,g:Rn→Rf,g:\mathbb R^n\to\mathbb R sono differenziabili in x0x_0, lo sono anche h(x)=f(x)+g(x)h(x)=f(x)+g(x) e h(x)=f(x) g(x)h(x)=f(x)\,g(x), con gradienti

∇h(x0)=∇f(x0)+∇g(x0)∇h(x0)=g(x0)∇f(x0)+f(x0)∇g(x0)\begin{gathered} \nabla h(x_0)=\nabla f(x_0)+\nabla g(x_0)\\[0.4em] \nabla h(x_0)=g(x_0)\nabla f(x_0)+f(x_0)\nabla g(x_0) \end{gathered}

Il prodotto per uno scalare λ\lambda è il caso g=λg=\lambda costante, con gradiente nullo: ∇(λf)=λ∇f\nabla(\lambda f)=\lambda\nabla f. Una funzione lineare coincide con la sua approssimazione affine, quindi è differenziabile ovunque, e lo è anche una costante. Somme e prodotti di costanti e funzioni lineari sono i polinomi, che quindi sono differenziabili ovunque.

Funzione composta. Se g:Rn→Rg:\mathbb R^n\to\mathbb R è differenziabile in x0x_0 e f:R→Rf:\mathbb R\to\mathbb R è derivabile in g(x0)g(x_0), la funzione h(x)=f(g(x))h(x)=f(g(x)) è differenziabile in x0x_0 e

∇h(x0)=f′(g(x0)) ∇g(x0)\nabla h(x_0)=f'(g(x_0))\,\nabla g(x_0)

Reciproco e quoziente. Sia g(x0)≠0g(x_0)\neq0. Il reciproco h(x)=1/g(x)h(x)=1/g(x) è la composta f(g(x))f(g(x)) con f(t)=1/tf(t)=1/t e f′(t)=−1/t2f'(t)=-1/t^2:

∇h(x0)=−1g(x0)2 ∇g(x0)\nabla h(x_0)=-\frac{1}{g(x_0)^2}\,\nabla g(x_0)

Il quoziente h(x)=f(x)/g(x)h(x)=f(x)/g(x) è il prodotto di ff per l(x)=1/g(x)l(x)=1/g(x). Dalla regola del prodotto e dal gradiente di ll, con tutto calcolato in x0x_0:

∇h=1g∇f−fg2∇g=g ∇f−f ∇gg2\begin{aligned} \nabla h&=\frac1g\nabla f-\frac f{g^2}\nabla g\\ &=\frac{g\,\nabla f-f\,\nabla g}{g^2} \end{aligned}

È la derivata del rapporto di una variabile, con i gradienti al posto delle derivate.

Differenziale totale. Se ff è differenziabile in xx, è continua e derivabile in xx, e ∇f(x)\nabla f(x) coincide con il vettore della definizione. Inoltre, se ff è derivabile vicino a xx e ∇f\nabla f è continuo in xx, allora ff è differenziabile in xx. Non basta che le derivate parziali esistano: devono essere funzioni continue nel punto. È una condizione sufficiente, e permette di concludere senza calcolare il limite.

Esempi

Seno. Per f(x,y)=sin⁡(x2+y2)f(x,y)=\sin(x^2+y^2) si deriva rispetto a una variabile tenendo l'altra costante: derivata del seno per derivata dell'argomento.

∇f(x,y)=(2xcos⁡(x2+y2)2ycos⁡(x2+y2))\nabla f(x,y)=\begin{pmatrix} 2x\cos(x^2+y^2)\\ 2y\cos(x^2+y^2) \end{pmatrix}

Le componenti sono continue in ogni punto, quindi per il teorema del differenziale totale ff è differenziabile su R2\mathbb R^2. In (1,−1)(1,-1) l'argomento vale 22:

∇f(1,−1)=(2cos⁡2−2cos⁡2)\nabla f(1,-1)=\begin{pmatrix}2\cos2\\-2\cos2\end{pmatrix}

Poiché ff è differenziabile, la derivata direzionale lungo d=(1,1)d=(1,1) è il prodotto scalare, cioè la somma delle componenti del gradiente:

Df((1,−1),(1,1))=∇f(1,−1)⊤(11)=2cos⁡2−2cos⁡2=0\begin{aligned} Df\bigl((1,-1),(1,1)\bigr)&=\nabla f(1,-1)^\top\begin{pmatrix}1\\1\end{pmatrix}\\ &=2\cos2-2\cos2=0 \end{aligned}

La definizione si vede all'opera in x0=(1,−1)x_0=(1,-1). Il quoziente fra l'errore e ∥d∥\|d\| si calcola per dd di lunghezza fissata e angolo variabile, una volta con a=∇f(x0)a=\nabla f(x_0) e una volta con a=∇f(x0)+e1a=\nabla f(x_0)+e_1, che non è il gradiente.

Quoziente dell'errore per in

012345600,20,40,60,811,21,4angolo di
Al ridursi di il quoziente dell'errore con il gradiente tende a in ogni direzione; con un altro vettore resta lontano da , tranne in due direzioni.

Esponenziale. Per f(x,y)=ex2+y2f(x,y)=e^{x^2+y^2} le componenti del gradiente, 2x ex2+y22x\,e^{x^2+y^2} e 2y ex2+y22y\,e^{x^2+y^2}, sono continue, quindi ff è differenziabile su R2\mathbb R^2. In (−2,1)(-2,1) l'esponente vale 55, il gradiente è (−4e5, 2e5)(-4e^5,\,2e^5) e lungo d=(1,1)d=(1,1) la derivata direzionale è il prodotto scalare:

Df((−2,1),(1,1))=−4e5+2e5=−2e5Df\bigl((-2,1),(1,1)\bigr)=-4e^5+2e^5=-2e^5

La formula con il prodotto scalare vale perché ff è differenziabile: senza questa ipotesi può non valere.

Norma. Sia g(x)=∥x∥2g(x)=\|x\|^2, la somma dei quadrati delle componenti. La variabile xix_i compare solo in xi2x_i^2, quindi ∂g/∂xi=2xi\partial g/\partial x_i=2x_i e

∇g(x)=2x\nabla g(x)=2x

La norma euclidea f(x)=∥x∥=g(x)f(x)=\|x\|=\sqrt{g(x)} è la composta di gg con la radice t↦tt\mapsto\sqrt t, derivabile per t>0t>0 con derivata 1/(2t)1/(2\sqrt t). Per x≠0x\neq0:

∇f(x)=12g(x) ∇g(x)=x∥x∥\nabla f(x)=\frac1{2\sqrt{g(x)}}\,\nabla g(x)=\frac{x}{\|x\|}

Il gradiente è definito ovunque tranne nell'origine. Lì la derivata parziale rispetto a x1x_1 sarebbe

lim⁡s→0∥se1∥s=lim⁡s→0∣s∣s\lim_{s\to0}\frac{\|se_1\|}{s}=\lim_{s\to0}\frac{|s|}{s}

che non esiste: da destra vale 11, da sinistra −1-1. Lo stesso vale per ogni xix_i. Quindi ∥x∥\|x\| è differenziabile in ogni x≠0x\neq0 e non nell'origine.

Un problema di decisione: il packaging

Un packaging è fatto di tre strati, cartone, schiuma e plastica. Si decide lo spessore di ciascuno, minimizzando il costo, con un limite al peso, una resistenza minima e uno spessore massimo per strato.

cartoneschiumaplastica
Costo (dollari/mm)234
Resistenza (unità/mm)123
Peso (g/mm)0,50,20,3
Spessore massimo (mm)0,10,20,05

La resistenza totale deve essere almeno 5050 unità e il peso totale al più 2020 g. Le variabili sono gli spessori in millimetri, non negativi: xcx_c per il cartone, xsx_s per la schiuma, xpx_p per la plastica. Costo, peso e resistenza totali sono le somme dei valori per millimetro moltiplicati per gli spessori:

min⁡ c(xc,xs,xp)=2xc+3xs+4xpxc+2xs+3xp≥500,5xc+0,2xs+0,3xp≤200≤xc≤0,10≤xs≤0,20≤xp≤0,05\begin{aligned} \min\ &c(x_c,x_s,x_p)=2x_c+3x_s+4x_p\\ &x_c+2x_s+3x_p\ge50\\ &0{,}5x_c+0{,}2x_s+0{,}3x_p\le20\\ &0\le x_c\le0{,}1\\ &0\le x_s\le0{,}2\\ &0\le x_p\le0{,}05 \end{aligned}

Con questi spessori massimi la resistenza non supera 1⋅0,1+2⋅0,2+3⋅0,05=0,651\cdot0{,}1+2\cdot0{,}2+3\cdot0{,}05=0{,}65, quindi il vincolo di resistenza non si può soddisfare: con questi dati nessuna scelta degli spessori è ammissibile.

Formulario

Differenziabile in x0x_0

f(x)=f(x0)+a⊤(x−x0)+o(∥x−x0∥)\begin{aligned} f(x)&=f(x_0)+a^\top(x-x_0)\\ &\quad+o(\|x-x_0\|) \end{aligned}

Forma con il limite

lim⁡∥d∥→0f(x0+d)−f(x0)−a⊤d∥d∥=0\begin{aligned} &\lim_{\|d\|\to0}\\ &\frac{f(x_0+d)-f(x_0)-a^\top d}{\|d\|}=0 \end{aligned}

Gradiente e derivata direzionale

a=∇f(x0)a=\nabla f(x_0) Df(x0,d)=∇f(x0)⊤dDf(x_0,d)=\nabla f(x_0)^\top d

Piano tangente e normale

y=f(x0)+∇f(x0)⊤(x−x0)\begin{aligned} y&=f(x_0)\\ &\quad+\nabla f(x_0)^\top(x-x_0) \end{aligned} v=(−∇f(x0)⊤, 1)⊤v=(-\nabla f(x_0)^\top,\,1)^\top

Somma e prodotto

∇(f+g)=∇f+∇g\nabla(f+g)=\nabla f+\nabla g ∇(fg)=g∇f+f∇g\nabla(fg)=g\nabla f+f\nabla g

Composta, h=f∘gh=f\circ g

∇h=f′(g) ∇g\nabla h=f'(g)\,\nabla g

Reciproco e quoziente

∇1g=−∇gg2\nabla\frac1g=-\frac{\nabla g}{g^2} ∇fg=g∇f−f∇gg2\nabla\frac fg=\frac{g\nabla f-f\nabla g}{g^2}

Differenziale totale

f derivabile vicino a x,∇f continuo in x⇒f differenziabile in x\begin{aligned} &f\text{ derivabile vicino a }x,\\ &\nabla f\text{ continuo in }x\\ &\Rightarrow f\text{ differenziabile in }x \end{aligned}

Gradiente della norma

∇∥x∥2=2x\nabla\|x\|^2=2x ∇∥x∥=x∥x∥,x≠0\nabla\|x\|=\frac{x}{\|x\|},\quad x\neq0