Derivata parziale di funzione composta

keccogrin-votailprof
Siano \(\displaystyle u : \mathbb{R}^{n} \rightarrow \mathbb{R} \) , \(\displaystyle \lambda \in \mathbb{R} \) e \(\displaystyle v : \mathbb{R}^{n} \rightarrow \mathbb{R} \) definita da
\(\displaystyle v(x) = u(\lambda x) \ \ \forall x \in \mathbb{R}^{n} \)
Quello che vorrei capire è il seguente passaggio:
\(\displaystyle \nabla v(x) = \lambda \nabla u(\lambda x) \ \ \ \ (1)\)
Riducendosi alla componente i-esima (per semplicità considero la prima) del gradiente della funzione, ed indicando la variabile \(\displaystyle x \) come \(\displaystyle x = (x_1, x_2, .., x_n) \), la formula \(\displaystyle (1) \) corrisponde a:

\(\displaystyle \frac{\partial v (x_1,...x_n) }{\partial x_1}= \frac{\partial u( \varphi ( x_1, ...,x_n) ) }{\partial x_1} \) == \(\displaystyle \lambda \frac {\partial u}{\partial x_1} (\lambda x_1, ..., \lambda x_n) \)

L'uguale in blu dice che la derivata parziale di \(\displaystyle v \) rispetto a \(\displaystyle x_1 \) valutata in \(\displaystyle x \) è uguale alla derivata parziale della composizione \(\displaystyle u \circ \varphi \) rispetto a \(\displaystyle x_1 \), dove:
\(\displaystyle \varphi : \mathbb{R}^n \rightarrow \mathbb{R}^n \) è definita da: \(\displaystyle \varphi (x1,...,x_n) = (\lambda x1,...,\lambda x_n) \).
E' corretto questo passagio intermedio che ho inserito io?

L'uguale in rosso viene per caso dalla chain rule? Ma allora avrei \(\displaystyle \frac{\partial u \circ \varphi}{\partial x_1} (x)= \frac{\partial \varphi}{\partial x_1} (x)\cdot \frac{\partial u}{\partial x_1} (\varphi(x)) \)
Ma secondo il mio ragionamento allora sarebbe:
\(\displaystyle \frac{\partial \varphi}{\partial x_1} (x) = \lambda \)
Ma questa è la derivata parziale rispetto a una componente di una funzione a valori in \(\displaystyle \mathbb{R}^n \). Come fa a dare come risultato un numero? Ho forse sbagliato ad applicare la chain rule?

Grazie

Risposte
Emar1
Entrambi gli uguali sono corretti.

Poniamo: \(v = u \circ \Phi\) con \(v,u: \mathbb{R}^n \to \mathbb{R}\) e \(\Phi: \mathbb{R}^n \to \mathbb{R}^n, \ \mathbf{x} \to \lambda \mathbf{x}\)

Indicherò con \(\mathrm{D}\) la generica derivata intesa come matrice jacobiana, a seconda dei casi si ridurrà al gradiente o alla derivata vettoriale. Per il teorema di composizione:
\[\mathrm{D}v = \mathrm{D}(u \circ \Phi) = (\mathrm{D}u \circ \Phi) \cdot \mathrm{D}\Phi\]
La matrice jacobiana (in questo caso $\Phi$ è lineare quindi è tutto più semplice) di $\Phi$ è semplicemente \(\lambda \mathrm{I}\) (matrice identità) e quindi:
\[\mathrm{D}v =\lambda \mathrm{D}u \circ \Phi\]
Ovvero:
\[\nabla v =\lambda \nabla u \circ \Phi\]
Che è il risultato che volevi. $\cdot$ indica il prodotto matriciale (riga-colonna), $\circ$ indica la composizione. Abbiamo inteso il gradiente come vettore riga per consistenza con la jacobiana (per info qui).

Se invece vogliamo ragionare con le derivate parziali, cosa che a me piace poco, abbiamo:
\[\frac{\partial v}{\partial x_i} =\frac{\partial}{\partial x_i} (u \circ \Phi) = (\nabla u \circ \Phi ) \cdot \frac{\partial \Phi}{\partial x_i} = (\nabla u \circ \Phi ) \cdot \lambda \mathbf{e}_i = \lambda [(\nabla u \circ \Phi ) \cdot\mathbf{e}_i] = \lambda \frac{\partial u}{\partial x_i} \circ \Phi\]

Che torna. Come vedi esce uno scalare in quanto hai il prodotto matriciale di due vettori, uno riga l'altro colonna.

Se hai perplessità sul perché esce il gradiente e non una semplice derivata parziale, puoi scriverla formalmente così:
\[\frac{\partial u}{\partial \Phi} \cdot \frac{\partial \Phi}{\partial x_i} \quad \text{oppure} \quad \frac{\partial u}{\partial \mathbf{y}} \cdot \frac{\partial \Phi}{\partial x_i} \]
Avendo posto \(\mathbf{y} = \Phi({\mathbf{x}})\).

La derivata parziale rispetto ad un vettore è un'altra notazione per il gradiente.

keccogrin-votailprof
Grazie per la risposta. Ho capito che in calcoli di questo tipo non è molto di aiuto provare a scrivere cosa succede componente per componente, ma piuttosto scrivere la chain rule con il simbolo generico di derivazione \(\displaystyle D \) come hai fatto qui:
"Emar":
\[ \mathrm{D}v = \mathrm{D}(u \circ \Phi) = (\mathrm{D}u \circ \Phi) \cdot \mathrm{D}\Phi \]

e poi capire termine per termine cosa abbiamo scritto...
Giusto per vedere se ho capito, potresti dare un'occhiata all'immagine



in cui ho riscritto la tua stessa formula in altri 2 modi:
- uno in cui specifico i gradienti/jacobiane
- uno in cui scrivo esplicitamente i vettori

E' tutto giusto adesso? (Ho scritto in righe i gradienti, come ho visto fare nel post che hai indicato)

Grazie

p.s. Scusa se non ho scritto il Latex, ma ci avrei impiegato una vita...

Emar1
"EdmondDantès":
Grazie per la risposta. Ho capito che in calcoli di questo tipo non è molto di aiuto provare a scrivere cosa succede componente per componente, ma piuttosto scrivere la chain rule con il simbolo generico di derivazione \(\displaystyle D \) come hai fatto qui:
[quote="Emar"]\[ \mathrm{D}v = \mathrm{D}(u \circ \Phi) = (\mathrm{D}u \circ \Phi) \cdot \mathrm{D}\Phi \]

e poi capire termine per termine cosa abbiamo scritto...
[/quote]
Questo è molto soggettivo. Io personalmente trovo questo approccio top-down molto valido, magari ogni tanto è troppo, ma almeno è chiaro e non ti perdi mai. A seconda del tipo di funzione la matrice derivata (jacobiana) si ridurra ad un vettore riga, il gradiente, o ad uno colonna, la derivata di funzioni reali a valori vettoriali. C'è chi invece preferisce andare giù di sommatorie e indici, io poi mi perdo :lol:

La convenzione con gradiente riga è solo, appunto, una convenzione. L'importante è essere consistenti con la notazione della jacobiana ed utilizzare una chain rule opportuna. Altrimenti si rischiano confusioni come hai visto nel post linkato.

"EdmondDantès":
E' tutto giusto adesso? (Ho scritto in righe i gradienti, come ho visto fare nel post che hai indicato)

Mi sembra tutto corretto, bravo, farsi questi paralleli è molto utile :smt023

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.