%% Esercizi sulle scomposizioni matriciali % Generare una matrice di numeri casuali denominata X di dimensione nxp (ad esempio % n=100 e p=5). % Calcolare il rango della matrice X tramite la funzione rank % v. file % Calcolare la matrice di covarianze S. % Verificare la scomposizione spettrale della matrice % S=V \Lambda V'. % Verificare l'ortogonalità della matrice V % Verificare che la somma degli autovalori coincide con la traccia della % matrice S. % Verificare che il prodotto degli autovalori coincide con il determinante della % matrice S. % Riordinare le colonne della matrice V e La (\Lambda) in modo tale che % La(1,1) sia il grande autovalore e V(:,1) sia l'autovettore associato % La(2,2) sia il secondo più grande autovalore e V(:,2) sia l'autovettore associato % ...... % Verificare tramite la funzione rank che la matrice pxp % v_i v_i^' abbia rango 1, i=1, 2, ..., p % Ricostruire la matrice S tramite la somma di p matrice quadrate ciascuna % di rango 1 % $$\sum_i=1^p \lambda_i v_i v_i^'$$ % Effettuare la scomposizione in valori singolari della matrice Xtilde % Xtilde= U \Gamma Vtramitesvd^' % Verificare che la matrice Vtramitesvd è uguale (a meno del segno) alla matrice V ottenuta tramite la % scomposizione spettrale della matrice S % Verificare che (\Gamma/sqrt(n-1)).^2 = \Lambda dove \Lambda è la matrice % degli autovalori ottenuta in precendenza % OSSERVAZIONE: tenere presente che nella scomposizione spettrale gli autovalori sono ordinati % dal più piccolo al più grande % nella scomposizione in valori singolari i valori singolari (radici % quadrate degli autovalori) sono ordinati dal più grande al più piccolo % Controllare che la matrice di dimensione nxp $\gamma_i u_i v_i^'$ % abbia rango 1, i=1, 2, ..., p % Ricostruire la matrice Xtilde tramite la somma di p matrici di dimensioni nxp % ciascuna di rango 1 % $\sum_i=1^p \gamma_i u_i v_i^'$ % Calcolare la somma dei quadrati delle differenze che si ottengono quando % la matrice Xtilde viene approssimata dalla matrice Xcappello % Xcappello=$\sum_i=1^2 \gamma_i u_i v_i^'$ % ossia dalla matrice di rango 2 contenente i due autovalori più grandi % Verificare che la somma dei quadrati delle differenze è uguale alla somma % dei quadrati dei valori singolari (somma che va da 3 a p). % Calcolare la somma dei quadrati delle differenze in maniera matriciale e % non matriciale % Osservazione: data una matrice X la somma dei quadrati degli elementi % di X in maniera matriciale si scrive = traccia(X' X)=traccia (X X')