Pagina 2 di 2

Re: Derivate di matrici

MessaggioInviato: 08/05/2019, 09:41
da Simo9392
dissonance ha scritto:Questo, per esempio, io lo calcolerei così; poniamo \(f(x)=x^TAx\), ovvero
\[
f(x)=\sum_{ij} x_ix_j a_{ij}.\]
Qui il primo indice di \(a_{ij}\) è quello di riga, il secondo è quello di colonna. Usando il fatto ovvio che \(\partial_{x_h} x_i=\delta_{hi}, \)
\[
\frac{\partial f}{\partial x_h} = \sum_{ij} \left( \delta_{ih}x_j a_{ij} + \delta_{jh} x_i a_{ij}\right).\]
E adesso eliminiamo i delta di Kronecker, sommando su \(i\) nel primo addendo e su \(j\) nel secondo;
\[
\frac{\partial f}{\partial x_h} = \sum_{j} x_j a_{hj} + \sum_i x_i a_{ih}.\]
E qua finiscono i calcoli. Ora si passa all'interpretazione; il prodotto matrice per vettore colonna verifica
\[
(Ax)_h= \sum_j a_{hj} x_j, \]
il prodotto vettore riga per matrice verifica
\[
(x^TA)_h = \sum_i x_i a_{ih};\]
perciò, ovviamente, possiamo riscrivere il risultato della nostra derivata come
\[
(\nabla f)_h = (Ax)_h+(x^TA)_h.\]
E qua è dove ti sei confuso. Infatti, viene la tentazione di togliere quei pedici \(h\) e scrivere \(\nabla f = Ax+x^TA,\) solo che dimensionalmente non torna, perché il primo addendo è una colonna e il secondo una riga. Bisogna decidere come interpretare il gradiente; di solito si interpreta come un vettore colonna, perciò la scrittura corretta è
\[
\nabla f = Ax +(x^TA)^T , \]
che è uguale a \(2Ax\) se \(A\) è simmetrica.


Buongiorno,

vedo solamente ora la risposta di Dissonance.
Grazie mille per aver ripreso tutto il procedimento.
In effetti non è rapido ma molto elegante e ci è stato spiegato dal docente in maniera molto simile.
A questo punto cercherò di fare pratica in modo da rendere immediato il ragionamento.