Messaggio
da EvaristeG » 02 mar 2007, 15:51
Polemica a parte, provo anch'io a dir la mia ...
Allora ... partiamo dalle cose facili: cerchiamo tutte le funzioni
$ f:\mathbb{R}^n\to\mathbb{R} $ lineari; ovvero tutte le funzioni che ad un vettore associano un numero reale di modo che se le calcolo sulla somma di due vettori ottengo la somma dei due numeri reali a loro associati e se la calcolo su un multiplo k di un vettore ottengo lo stesso multiplo k del numero reale associato a quel vettore. Chiamiamo $ e_i $ il vettore (0,...,1,...,0) dove l'unico 1 sta nel posto i-esimo. Chiaramente ogni vettore di R^n potrà essere scritto in modo unico come $ a_1e_1+\ldots+a_ne_n $ per degli opportuni numeri reali a_i, che sono niente altro che le coordinate di v: $ v=(a_1,\ldots,a_n) $.
Ora, se noi sappiamo che
$ f(e_i)=c_i $
allora per ogni vettore $ v=a_1e_1+\ldots+a_ne_n $ avremo
$ f(v)=f(a_1e_1+\ldots+a_ne_n)= $$ f(a_1e_1)+\ldots+f(a_ne_n)=a_1f(e_1)+\ldots+a_nf(e_n) $$ =a_1c_1+\ldots+a_nc_n $
Ma allora (spero tu sappia cos'è il prodotto scalare) $ f(v)= v \cdot c $ con $ c=(c_1,\ldots,c_n) $ per ogni vettore v, o equivalentemente $ f(a_1,\ldots,a_n)=a_1c_1+\ldots+a_nc_n $.
Quindi, ad ogni funzione lineare da R^n a R possiamo associare un UNICO vettore c di modo che f(v)=v*c; del resto, per ogni vettore c di R^n, la funzione f(v)=v*c è lineare e a valori reali, quindi è una di quelle che stiamo cercando.
Questo ci dice che anche l'insieme
$ L(\mathbb{R}^n)=\{f:\mathbb{R}^n\to\mathbb{R}\textrm{ lineari}\} $
"è" $ \mathbb{R}^n $ perchè abbiamo trovato una funzione che ad ogni elemento del primo fa corrispondere un vettore del secondo e viceversa, la funzione che ad una f associa il suo c. Questa funzione è anche molto carina:
se ho due funzioni $ f,g:\mathbb{R}^n\to\mathbb{R} $ la loro somma è ancora una funzione $ (f+g):\mathbb{R}^n\to\mathbb{R} $ definita ovviamente da $ (f+g)(v)=f(v)+g(v) $; se k è un numero reale, $ (kf):\mathbb{R}^n\to\mathbb{R} $ sarà definita da $ (kf)(v)=k\cdot f(v) $. E se a f,g associamo i vettori c,d, a (f+g) sarà associato (c+d) (provare per credere); allor stesso modo a (kf) sarà associato (kc). Questa funzione è quindi anche lei lineare e bigettiva (l'unica funzione che può essere associata al vettore (0,...,0) è la funzione nulla). Si chiama isomorfismo lineare, ma non ci interessa molto. Fatto sta, che R^n e le funzioni lineari da R^n a R sono, tramite lei, la stessa cosa.
Ecco, ora arrivano i tensori, che sono, da questo punto di vista, una generalizzazione dei vettori. Consideriamo un insieme di funzioni come prima, solo che invece di fare funzioni di una variabile, ce ne mettiamo due:
$ B(\mathbb{R}^n)=\{f:\mathbb{R}^n\times\mathbb{R}^n\to\mathbb{R}\textrm{ bilineare}\} $
ovvero, ho una funzione f che ad ogni coppia di vettori (v,w) associa un numero reale. Attenzione, alla coppia ordinata (v,w)!! Ciò vuol dire che vi saranno un numero per (v,w) e un numero per (w,v), non necessariamente uguali. Quando dico bilineare, intendo che essa è lineare in ogni componente, ovvero che
$ f(v_1+v_2,w)=f(v_1,w)+f(v_2,w) $
$ f(kv,w)=kf(v,w) $
e
$ f(v,w_1+w_2)=f(v,w_1)+f(v,w_2) $
$ f(v,kw)=kf(v,w) $
Vogliamo, come prima, capire come è fatto questo insieme di funzioni. Bene, come prima utilizziamo i vettori e_i, ma stavolta ci serviranno le n^2 coppie $ (e_i,e_j) $ al variare di i,j tra 1 e n (i,j possono anche essere uguali e, come ricordato, (e_i,e_j) non è uguale a (e_j,e_i), quindi sono n^2).
Supponiamo che $ f(e_i,e_j)=q_{ij} $; allora, se $ v=(a_1,\ldots,a_n)=a_1e_1+\ldots+a_ne_n $ e $ w=(b_1,\ldots,b_n)=b_1e_1+\ldots+b_ne_n $, avremo
$ f(v,w)=f(a_1e_1+\ldots+a_ne_n, w)= $$ f(a_1e_1,w)+f(a_2e_2,w)+\ldots+f(a_ne_n,w)= $(ho usato la linearità nella prima variabile)$ =f(a_1e_1,b_1e_1+\ldots+b_ne_n)+\ldots+f(a_ne_n,b_1e_1+\ldots+b_ne_n)= $
$ =f(a_1e_1,b_1e_1)+f(a_1e_1,b_2e_2)+\ldots+f(a_1e_1,b_ne_n) $
$ +f(a_2e_2,b_1e_1)+\ldots+f(a_2e_2,b_ne_n) $
$ +\ldots+ $
$ +f(a_ne_n,b_1e_1)+\ldots+f(a_ne_n,b_ne_n)= $
$ =a_1b_1f(e_1,e_1)+a_1b_2f(e_1,e_2)+\ldots+a_1b_nf(e_1,e_n) $
$ +a_2b_1f(e_2,e_1)+\ldots+a_2b_nf(e_2,e_n) $
$ +\ldots+ $
$ +a_nb_1f(e_n,e_1)+\ldots+a_nb_nf(e_n,e_n)= $
$ =(a_1b_1)q_{11}+\ldots+(a_1b_n)q_{1n}+\ldots+(a_nb_1)q_{n1}+\ldots+(a_nb_n)q_{nn}= $$ =\displaystyle{\sum_{i,j=1}^n(a_ib_j)q_{ij}} $
Bene (uff, che fatica); ma questo lo possiamo scrivere così:
$ f(v,w)=v^T\cdot Q\cdot w $ dove Q è la matrice che nella casella (i,j) (riga,colonna) ha il numero q_{ij}. Ho scritto $ v^T $ per mania di precisione e praticamente vuol dire questo: per poter applicare senza problemi la regola della moltiplicazione tra matrici anche con i vettori (considerandoli matrici nx1), ogni tanto serve "girare" un vettore, ovvero specificare che non lo si considera come una matrice nx1 ma come una 1xn; questo vuol dire la T in alto. Se ora provi a eseguire il prodotto
$ \begin{array}{ccc}(a_1&\ldots&a_n)\\ & &\\ & &\end{array}\cdot $$ \left(\begin{array}{ccc}q_{11} &\ldots& q_{1n}\\ \ldots&\ldots&\ldots\\q_{n1}&\ldots&q_{nn}\end{array}\right)\cdot $$ \left(\begin{array}{c}b_1\\ldots&b_n\end{array}\right) $
vedrai che fa proprio quella somma di cui sopra.
Quindi ogni funzione bilineare (di solito si chiamano forme bilineari) da R^n a R viene associata in modo unico a una matrice nxn. Del resto, è facile verificare che per una qualsiasi matrice nxn Q la funzione f(v,w)=v^T * Q * w è una forma bilineare.
Tale corrispondenza che ad ogni f associa Q ha sempre le belle proprietà di cui godeva quella che ad una f lineare associava una c, in quanto la somma di funzioni bilineari è una funzione bilineare e pure un multiplo di funzione bilineare è ancora bilineare e tale corrispondenza rispetta queste operazioni (a f+g assoceremo Q+R e a kf assoceremo kQ). Quindi è anch'essa un isomorfismo lineare e ci dice che l'insieme $ B(\mathbb{R}^n) $ è in realtà l'insieme delle matrici nxn (ovvero, se lo sai, è $ R^{n^2} $, ma non è importante).
Ora dovrebbe essere facile generalizzare: considera l'insieme
$ M^k(\mathbb{R}^n)=\{f:\mathbb{R}^n\times\ldots\times\mathbb{R}^n\to\mathbb{R}\textrm{ k-multilineari}\} $
dove nel prodotto compaiono k copie di R^n. Cosa vuol dire? Beh, sono le funzioni che ad ogni k-upla di vettori $ (v^{(1)},\ldots,v^{(k)}) $ (attenzione, ognuno di loro è un vettore, per questo ho messo i numeri in alto e tra parentesi, per non confondersi con le coordinate di un singolo vettore) associano un numero reale, in modo da essere lineare in ogni coordinata, cioè, ad esempio
$ f(v^{(1)}+w,v^{(2)},\ldots,v^{(k)}) $$ =f(v^{(1)},v^{(2)},\ldots,v^{(k)})+f(w,v^{(2)},\ldots,v^{(k)}) $
e allo stesso modo per la moltiplicazione per un numero reale, per ogni coordinata. Gli elementi di questo insieme si chiamano tensori di grado k su R^n.
Abbiamo visto prima che i tensori di grado 1 su R^n sono i vettori di R^n, i tensori di grado 2 sono le matrici nxn; vedremo ora che i tensori di grado k sono in un certo modo la generalizzazione di questi oggetti.
Quindi, per scrivere esplicitamente una simile applicazione tramite gli e_i, dovremo conoscerne il valore su tutte le k-uple $ (e_{i_1},\ldots,e_{i_k}) $ al variare di $ i_1,\ldots,i_k $ da 1 a n, ammettendo le ripetizioni e tenendo in considerazione l'ordine in cui sono presi.
Chiamando $ f(e_{i_1},\ldots,e_{i_k})=m_{i_1,\ldots,i_k} $ e ponendo
$ v^{(j)}=a_1^{(j)}e_1+\ldots+a_n^{(j)}e_n $
avremo che (tranquilli, stavolta non faccio i conti componente per componente)
$ f(v^{(1)},\ldots,v^{(k)})= $$ \displaystyle{\sum_{i_1,\ldots,i_k=1}^n(a_{i_1}^{(1)}\cdot a_{i_2}^{(2)}\cdot\ldots\cdot a_{i_k}^{(k)})m_{i_1,\ldots,i_k}} $
Con un po' di fantasia, possiamo riconoscere che, ad esempio, se k=3, possiamo interpretare l'insieme dei coefficienti $ m_{i_1,i_2,i_3} $ come un "cubo di numeri" nel modo in cui una matrice era un quadrato di numeri; dunque, possiamo pensare di "moltiplicare" questo oggetto $ M=\{m_{i_1,i_2,i_3}\}_{1\leq i_1,i_2,i_3\leq n} $ per 3 vettori e ottenere un numero.
Ma possiamo anche fermarci prima : consideriamo il vettore $ v=(a_1,\ldots,a_n) $, allora possiamo prendere la funzione 3-multilineare associata a M e chiamarla f e fissare la sua prima componente sempre a v, ovvero considerare la funzione
$ f(v,\cdot,\cdot) $ che ad ogni COPPIA di vettori (w,u) associa il numero reale $ f(v,w,u) $; questa funzione "ridotta" in cui abbiamo fissato la prima componente, è dunque definita sulle coppie ed inoltre nella seconda e nella terza componente è ancora lineare (f lo era in tutte e 3), quindi è una applicazione bilineare, quindi è una matrice. Dunque c'è un modo di associare a M e v una matrice che in un certo modo possiamo intendere come il prodotto di M per v, poichè se poi moltiplicheremo questa matrice anche per w e u, otterremo proprio il valore di M in (v,w,u).
Queste però sono chiacchiere un po' più complicate ... il succo è che se hai un tensore di grado k e un vettore, puoi moltiplicarli per ottenere un tensore di grado k-1, scendendo sempre di più fino ad arrivare a un numero reale (che viene visto come un tensore di grado 0).
Ci sarebbe molto altro da dire già solo a questo livello, ma la differenza tra tensori covarianti e controvarianti richiede alcune conoscenze teoriche di algebra lineare che non mi sembra il caso di introdurre .. questo post è già lungo abbastanza.
So che così ti sembrerà che i tensori siano una pippa mentale (e in parte lo sono), ma si usano in tantissimi campi della fisica e della geometria; la descrizione che te ne ho data qui è la più elementare (come generalizzazione di vettori e matrici) e dunque non mette in luce le proprietà utili di questi oggetti, ma quanto meno dovrebbe darti l'idea di cosa sono.
Ultima modifica di
EvaristeG il 05 mar 2007, 01:23, modificato 3 volte in totale.