SC - Lezione 5


Checklist

Domande, Keyword e Vocabulary

Appunti SC - Lezione 5 - Laboratorio

Properties of orthogonal matrix and orthogonal transformations

Let be an orthogonal square matrix.

  • The determinant of is
  • The 2-norm of rows and columns is always 1
  • The scalar product between rows and columns of the matrix is always zero.

An orthogonal matrix has the property of transforming any vector into another vector with the same length:

An orthogonal transformation also preserves the scalar product, that is: . This can be demonstrated easily since , so plugging this into the previous equation we obtain:

As conseguence, an orthogonal transformation also preserves the angle between two vectors.

To calculate the angle in degress between the two vector we consider the following formula:

Another important property of orthogonal matrices is that the product of two orthogonal matrices remains an orthogonal matrix. This means that the effect of two successive orthogonal transformations is also an orthogonal transformation

A special kind of rotation is called “reflection”, that consists in flipping a vector over a given line or a plane (hyperplane).

Applicazione 4 - Blurring of Images

Toeplix Matrix: 3 è la dimensione quadrata, una struttura tri diagonale. Queste vengono messi sulle diagonali. Da non confondere con le triangolari superiori e inferiori.

La matrice quindi è composta solo elementi sulle diagonali e sulle sottodiagonali con un elemento mancante alla fine della matrice.

repmat(v,2,1) ripeti il vettore v due volte. Cos’è un tensore? Un tensore è come una torta per esempio l’RGB di un immagine sono tre livelli, sono degli strati in tre dimensioni possono essere visti. (no nun agg capit)

repmat() può essere usato per creare una matrice.

Questo è un esempio di come creare un po’ di sfocatura su un immagine, una sfocatura gaussiana.

m=10 e n=8 sarebbe numero di righe e colonne di un eventuale immagine. Una prima matrice quadrata di componenti. Applicando questa matrice è possibile fare una sfocatura unidirezionale quindi o verticale o orizzontale.

Sono le convoluzioni di ELIM della triennale in pratica.

B = spdiags( repmat(v,m,1), [-1 0 1],m,m);

0 è la principale, -1 è la sub inferiore, 1 è la sub di sopra la diagonale. m,m è la dimensione della matrice sparsa.

L’output di spdiags è una specie di visualizzazione delle matrice sparse. La più semplice è per indice con le coordinate con il valore degli elementi.

Questa è una matrice tridiagonale.

load mandrill
% the matrix representing the picture is X;
[m,n] = size(X);
figure;
image(X), colormap(gray(256))

size() in matlab ritorna sempre due parametri anche i vettori sono visti come una matrice n per uno.

Dovremmo quindi creare due matrici: una per righe e una per colonne per applicare la sfocatura in due direzioni. Si potrebbe anche creare una matrice righe e colonne.

Per incrementare i livelli di sfocatura andrebbe elevata la matrice per applicare la sfocatura ad esempio a 10. B_10=B^10 e faccio poi image(B_10^10) appare un po’ di sfocatura.

Application 5 - downloading and processing an external data file

Matrice delle distanze: consideriamo P1(1,2) e P2(3,4) La matrice risultato avrà 0 sulle diagonali perché ci vanno P1-P1 e P2-P2 che fanno zero. La matrice delle distanze è simmetrica rispetto alla diagonale quindi posso considerare anche solo una parte di sopra.

Il comando: min(D(D>0) (nelle slide il secondo min è ridondante. Trova il più piccolo maggiore di 0. La matrice D delle distanze mette dei flag delle bandierine nelle posizioni dove sta 1 significa che è >0. Dove trovo gli zeri è falsa. Quindi utilizzando questi valori che sono binari mi vado a ricavare le posizioni. Viene una sottoforma di vettore.

QUindi il risultato viene il minimo.

[k,j] = find(D==Dmin) D=Dmin significa cerca gli indici nella matrice che corrispondono alla condizione di verità nella parentesi. Quindi ti trova gli indici del valore per cui D è uguale a Dmin. poi facendo D(j,k) viene restituito il minimo.

Matrici ortgonali