Anda di halaman 1dari 35

Complementi di Algebra Lineare

Giuseppe Storti e Marcella Niglio


Dipartimento di Scienze Economiche e Statistiche
Universit`a degli Studi di Salerno
Versione del 15 febbraio, 2010
Indice
1 Complementi di Algebra Lineare 2
1.1 Vettori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Operazioni con i vettori ed alcune denizioni . . . . . . . . . . . . . . 2
1.2 Matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Operazioni con le matrici . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Matrice Inversa e Determinante . . . . . . . . . . . . . . . . . . . . . . 7
1.2.3 Rango di una matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4 Traccia di una matrice quadrata . . . . . . . . . . . . . . . . . . . . . 9
1.3 Sistemi di equazioni lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Autovalori ed Autovettori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Denizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 Alcune propriet`a di autovalori ed autovettori . . . . . . . . . . . . . . 13
1.5 Matrici denite e forme quadratiche . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.1 Denizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.2 Alcune propriet`a delle matrici denite . . . . . . . . . . . . . . . . . . 15
1.6 Matrici e vettori ortogonali, matrici idempotenti . . . . . . . . . . . . . . . . 16
1.7 Decomposizione di matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7.1 Decomposizione di matrici simmetriche . . . . . . . . . . . . . . . . . 17
1.7.2 Decomposizione in valori singolari . . . . . . . . . . . . . . . . . . . . 18
1.7.3 La decomposizione di Choleski di una matrice positiva denita . . . . 18
1.8 Alcune particolari operazioni con le matrici . . . . . . . . . . . . . . . . . . . 18
1.8.1 Il prodotto di Kronecker ed il prodotto di Hadamard . . . . . . . . . . 18
1.8.2 Gli operatori vec(.) e vech(.) . . . . . . . . . . . . . . . . . . . . . . . 19
1.9 Derivazione di matrici e vettori . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.10 Vettori e matrici con il software statistico R . . . . . . . . . . . . . . . . . . . 22
1.10.1 Tipologie di dati in R . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.10.2 Sintassi di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.10.3 Vettori e Matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.10.4 Operazioni con Matrici e Vettori . . . . . . . . . . . . . . . . . . . . . 25
1.10.5 Autovalori, autovettori e decomposizioni di matrici . . . . . . . . . . . 27
1.10.6 Il dataframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.10.7 Importazione dei dati da le . . . . . . . . . . . . . . . . . . . . . . . 29
1.10.8 Alcune statistiche descrittive e rappresentazioni grache . . . . . . . . 29
1
Capitolo 1
Complementi di Algebra Lineare
Si propongono nel seguito alcuni elementi di algebra lineare. La trattazione `e limitata ad una
selezione di argomenti e quindi non ha lobiettivo di esaurire la materia. Per maggiori dettagli,
dimostrazioni ad approfondimenti si rimanda a libri di testo avanzati di algebra lineare.
1.1 Vettori
Sia x
1
, x
2
, . . . , x
n
un insieme di numeri reali (ovvero x
i
R, i = 1, 2, . . . , n), x `e detto vettore
colonna se:
x =
_

_
x
1
x
2
. . .
x
n
_

_
,
mentre, dato linsieme di numeri reali y
1
, y
2
, . . . , y
n
, y `e detto vettore riga se:
y = [y
1
, y
2
, . . . , y
n
] con y
i
R.
Nel seguito si far`a riferimento esclusivamente ai vettori colonna a meno che non sia diversa-
mente chiarito. Inoltre, per evitare ambiguit` a, il vettore riga `e indicato con y

.
1.1.1 Operazioni con i vettori ed alcune denizioni
Siano x ed y due vettori con n componenti reali:
1. la somma x +y `e un vettore con n componenti dato da:
x +y =
_

_
x
1
+ y
1
x
2
+ y
2
. . .
x
n
+ y
n
_

_
2. il prodotto x y `e un vettore con n componenti dato da:
x y =
_

_
x
1
y
1
x
2
y
2
. . .
x
n
y
n
_

_
2
3. sia c in numero reale ed x un vettore con n componenti:
c x =
_

_
c x
1
c x
2
. . .
c x
n
_

_
Facendo riferimento ai vettori `e possibile dare le seguenti denizioni:
1. Siano x ed y due vettori (con n componenti), sono detti uguali se x
i
= y
i
, per i =
1, 2, . . . , n.
2. sia x

un vettore riga di n componenti e sia y un vettore colonna di n componenti, il


prodotto scalare tra x

ed y `e un numero reale dato da:


x

y = [x
1
, x
2
, . . . , x
n
]
_

_
y
1
y
2
. . .
y
n
_

_
= x
1
y
1
+ x
2
y
2
+ . . . + x
n
y
n
=
n

i=1
x
i
y
i
3. siano x ed y due vettori con n componenti, si dicono perpendicolari (o ortogonali) se il
loro prodotto scalare `e nullo. Ovvero:
x

y = 0
4. siano c
1
, c
2
, . . . , c
k
, k scalari e siano x
1
, x
2
, . . . , x
k
k vettori con n componenti, si denisce
combinazione lineare il vettore x (con n componenti) dato da:
x = c
1
x
1
+ c
2
x
2
+ . . . + c
k
x
k
5. siano x
1
, x
2
, . . . , x
k
, k vettori con n componenti, si dicono linearmente dipendenti se
esistono k scalari, c
1
, c
2
, . . . , c
k
, non tutti nulli tali che:
c
1
x
1
+ c
2
x
2
+ . . . + c
k
x
k
= 0
dove 0 `e un vettore colonna con n componenti pari a 0 (anche detto vettore nullo);
6. sia x un vettore ad n componenti, la sua norma (o lunghezza) `e denita con:
||x|| =

x =
_
x
2
1
+ x
2
2
+ . . . + x
2
n
7. la norma `e utilizzata per denire la distanza euclidea tra due vettori. Siano x ed y due
vettori con n componenti, la loro distanza euclidea `e data da:
||x y|| =
_
(x y)

(x y)
1
2
=
_
n

i=1
(x
i
y
i
)
2
_1
2
3
1.2 Matrici
Sia a
11
, a
12
, . . . , a
1n
, a
21
, . . . , a
2n
, . . . , a
m1
, . . . , a
mn
un insieme di mn numeri reali, si denisce
matrice A di ordine (mn):
A =
_

_
a
11
a
12
. . . a
1j
. . . a
1n
a
21
a
22
. . . a
2j
. . . a
2n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
i1
a
i2
. . . a
ij
. . . a
in
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
a
m2
. . . a
mj
. . . a
mn
_

_
dove a
ij
`e un numero reale appartenente alla riga i-ma ed alla colonna j-ma. Nel seguito si
indicher` a sinteticamente con [a
ij
]
(mn)
la matrice A di ordine (mn).
In pratica la matrice `e un insieme di n vettori colonna aventi m componenti, ovvero equiva-
lentemente `e un insieme di m vettori riga di n componenti.
Esistono particolari tipi di matrici alcuni dei quali si elencano nel seguito.
Matrice Quadrata. Una matrice A `e detta quadrata se presenta un uguale numero di
righe e di colonne (n n) ed in tal caso gli elementi a
ii
(i = 1, 2, . . . , n) formano la diagonale
principale.
Matrice Simmetrica. Una matrice quadrata A
(nn)
`e detta simmetrica se a
ij
= a
ji
,
per i, j = 1, 2, . . . , n.
Matrice Diagonale. Una matrice quadrata A
(nn)
`e detta diagonale se tutti gli elementi
esterni alla diagonale principale sono nulli, ovvero:
A =
_

_
a
11
0 . . . 0
0 a
22
. . . 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . a
nn
_

_
, con a
ii
scalari (i = 1, 2, . . . , n).
Per le matrici diagonali `e frequente lutilizzo della seguente notazione: A = diag(a
11
, a
22
, . . . , a
nn
).
Matrice Identit`a. Una matrice diagonale I = diag (1, 1, . . . , 1)
. .
(n elementi)
`e detta matrice identit`a.
I =
_

_
1 0 . . . 0
0 1 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 1
_

_
Tale matrice `e anche indicata con I
n
se la sua dimensione (n n) non `e immediatamente
desumibile dal contesto.
Matrice Nulla. Una matrice avente tutti elementi pari a 0 `e detta nulla. Generalmente
essa `e indicata con il simbolo 0.
4
Matrice Triangolare. Sia A una matrice quadrata, essa `e detta triangolare superiore
se tutti gli elementi in basso a sinistra rispetto alla diagonale principale sono nulli, ovvero:
A =
_

_
a
11
a
12
a
13
. . . a
1n
0 a
22
a
23
. . . a
2n
0 0 a
33
. . . a
3n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 . . . a
nn
_

_
A `e invece detta triangolare inferiore se tutti gli elementi in alto a destra rispetto alla
diagonale principale sono nulli:
A =
_

_
a
11
0 0 . . . 0
a
21
a
22
0 . . . 0
a
31
a
32
a
33
. . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
n3
. . . a
nn
_

_
Matrice Trasposta. La trasposta della matrice A
(mn)
= [a
ij
], indicata con A

, `e una
matrice di ordine (n m) ottenuta riscrivendo le righe A come colonne (ovvero le colonne
come righe) e quindi A

`e tale che i suoi elementi sono: a

ij
= a
ji
.
Ad esempio, sia A
(32)
una matrice, la sua trasposta A

(23)
`e:
A

=
_
a
11
a
21
a
31
a
12
a
22
a
32
_
Inoltre la trasposta della matrice trasposta `e: (A

= A.

Come visto in precedenza per i vettori, anche per le matrici `e possibile denire alcune
operazioni.
1.2.1 Operazioni con le matrici
1. Siano A e B due matrici di dimensione (m n), la loro somma `e la matrice C
(mn)
avente elementi c
ij
= a
ij
+ b
ij
, per i = 1, 2, . . . , n e j = 1, 2, . . . , m.
Alcune propriet`a della somma sono le seguenti:
(a) Propriet` a commutativa: A+B = B+A
(b) Propriet` a associativa: A+ (B+D) = (A+B) +D
(c) Sia c uno scalare: c(A+B) = cA+ cB
(d) Siano c e k due scalari: (c + k)A = cA+ kA
(e) Date le matrici A e B, la trasposta della loro somma `e: (A+B)

= A

+B

5
2. Siano A
(mn)
e B
(np)
due matrici, il loro prodotto, A B, `e la matrice C
(mp)
i cui
elementi c
ij
(i = 1, 2, . . . , m e j = 1, 2, . . . , p) sono ottenuti da:
c
ij
=
n

k=1
a
ik
b
kj
, i = 1, 2, . . . , m e j = 1, 2, . . . , p.
Si noti che anche il prodotto tra le due matrici sia denito, il numero di colonne di
A (matrice che premoltiplica) deve coincidere con il numero di righe di B (matrice che
postmoltiplica). In tal caso le due matrici sono dette conformabili per il prodotto.
Il prodotto gode di alcune propriet`a:
(a) siano A
(nn)
e B
(nn)
due matrici quadrate, AB = B A (ovvero il prodotto
tra matrici generalmente non gode della propriet`a commutativa).
(b) Propriet` a associativa: siano A
(mn)
, B
(np)
e C
(ps)
tre matrici:
A(BC) = (AB)C
(c) sia c un numero reale ed A una matrice di ordine (mn).
cA = c[a
ij
]
(mn)
(d) siano A
(mn)
, B
(mn)
e C
(pm)
tre matrici:
C(A+B) = CA+CB
(e) siano A
(mn)
e B
(np)
due matrici, la trasposta del loro prodotto `e:
(AB)

= B

ovvero, pi` u in generale, (A


1
A
2
. . . A
k
)

= A

k
. . . A

2
A

1
Le operazioni di somma e di prodotto si semplicano in presenza di alcune matrici
particolari.
1. Date le matrici I
n
ed A
(nn)
:
IA = AI = A
2. siano A e B due matrici diagonali di ordine n, il loro prodotto `e la matrice diagonale
C
(nn)
avente elementi c
ii
= a
ii
b
ii
, con i = 1, 2, . . . , n.
3. siano A e B due matrici diagonali di ordine n, allora AB = BA
4. siano A e B due matrici (di ordine n) triangolari superiori (inferiori), allora il loro
prodotto AB `e ancora una matrice triangolare superiore (inferiore).
6
1.2.2 Matrice Inversa e Determinante
I concetti di matrice inversa e determinante possono essere deniti per tutte le matrici quadra-
te. Il calcolo della matrice inversa `e lequivalente in campo matriciale del calcolo del reciproco
nel campo dei numeri reali.
In particolare, una matrice quadrata A di ordine m (m m) si dice invertibile se e solo se
esiste una matrice A
1
tale che
AA
1
= A
1
A = I
m
dove I
m
`e la matrice identit`a di ordine m. Dalla denizione fornita `e facile dimostrare che
(A
1
)
1
= A. Inoltre, se linversa di una matrice esiste, allora essa `e unica (unicit` a dellin-
versa).
Una matrice quadrata invertibile viene anche detta non singolare mentre una matrice non
invertibile viene solitamente detta singolare.
Valgono inoltre le seguenti propriet`a notevoli:
1. Siano A e B due matrici quadrate della stessa dimensione
(AB)
1
= B
1
A
1
2. linversa di una matrice diagonale D
(mm)
`e una matrice diagonale delle medesime
dimensioni di D i cui elementi diagonali sono ordinatamente uguali ai reciproci degli
elementi di posto corrispondente sulla diagonale principale di D
3. linversa della trasposta di A `e la trasposta dellinversa di A, ovvero:
(A

)
1
= (A
1
)

4. se la matrice A `e simmetrica anche la sua inversa `e simmetrica.


5. linversa della matrice identit`a I `e la matrice identit`a stessa, ovvero I
1
= I
Il concetto di determinante `e intimamente collegato a quello di matrice inversa dato che
il determinante pu` o essere anche denito come una funzione che associa ad ogni matrice
quadrata un numero reale.
Si denisce determinante di una matrice quadrata A (m m), con m 1, la quantit`a
det(A) |A| =
_
a m = 1

m
j=1
a
1j
(1)
1+j
|M
1
j| m > 1
(1.1)
dove |M
ij|
viene detto minore complementare associato allelemento di posto {i, j} della
matrice A = [a
ij
] ed `e dato dal determinante della sottomatrice di ordine (m 1) ottenuto
eliminando li-esima riga e la j-esima colonna della matrice A. Il prodotto C
ij
= (1)
i+j
|M
i
j|
viene poi anche detto complemento algebrico associato allelemento a
ij
. Si noti poi che nella
denizione fornita nellequazione (1.1) si `e fatto riferimento alla prima riga della matrice solo
a scopo esemplicativo. In realt` a il determinante pu` o essere calcolato analogamente a partire
da qualsiasi altra riga o colonna della matrice. Quindi, in altre parole, il determinante di A
pu` o essere denito come la combinazione lineare degli elementi di una generica linea, riga o
7
colonna, della matrice A con i rispettivi complementi algebrici. Dalla denizione data segue
quindi che una matrice A e la sua trasposta avranno lo stesso determinante
|A| = |A

|
Valgono inoltre le seguenti propriet`a notevoli.
1. Il determinante di uno scalare `e lo scalare stesso, ovvero |c| = c, con c R.
2. scambiando tra loro due righe (o due colonne) di A, il determinante cambia segno.
3. se A possiede due righe (o due colonne) uguali, il determinante `e nullo
4. se A possiede due righe (o due colonne) tra loro proporzionali, il determinante `e nullo
5. Il determinante del prodotto di matrici quadrate A
h
, h = 1, . . . , , `e uguale al prodotto
dei determinanti
|

h=1
A
h
| =

h=1
|A
h
|
6. Il determinante del prodotto di una matrice quadrata per uno scalare b `e uguale allo
scalare elevato alla m moltiplicato per il determinante della matrice
|bA| = b
m
|A|
7. Il determinante di una matrice diagonale o triangolare `e dato dal prodotto degli elementi
sulla diagonale principale.
8. Il seguente risultato collega il valore del determinante allesistenza dellinversa di una
matrice quadrata.
Linversa di una matrice quadrata A esiste se e solo se il determinante di A `e diverso
da zero, ovvero |A| = 0. In tal caso il generico elemento della matrice inversa A
1
`e
dato da
C

ij
|A|
i, j = 1, . . . , m.
La matrice (m m) il cui generico elemento di posto (i, j) `e dato dal complemento
algebrico C
ij
associato al corrispondente elemento della matrice A viene anche detta
matrice aggiunta ed indicata con la notazione A
+
. Quindi possiamo anche dire che
linversa di una matrice quadrata A, se esiste, `e data dal prodotto della trasposta
dellaggiunta (A
+
) per il reciproco del determinante
A
1
=
(A
+
)

|A|
9. Il determinante dellinversa `e uguale al reciproco del determinante
|A
1
| = (|A|)
1
10. date tre matrici A, B e C con C = AB, allora |C| = |A||B|
8
1.2.3 Rango di una matrice
Siano x
1
, . . . , x
n
, n vettori (m1), essi sono linearmente indipendenti se per c
1
, . . . , c
n
C,
la loro combinazione lineare `e il vettore nullo 0
c
1
x
1
+ . . . + c
n
x
n
= 0
se c
1
= c
2
= . . . = c
n
= 0, dove con C si `e indicato linsieme dei numeri complessi. Equi-
valentemente, denendo il vettore colonna c = (c
1
, . . . , c
n
) e la matrice X (m n) data da
(x
1
, . . . , x
n
), le colonne di X sono linearmente indipendenti se Xc implica che c sia uguale al
vettore nullo (c = 0). Le colonne di X sono invece linearmente dipendenti se Xc = 0 vale
con almeno un c
i
= 0. In quel caso `e possibile scrivere una delle colonne di X in funzione
delle rimenenti
x
i
= d
1
x
1
+ . . . + d
i1
x
i1
+ d
i+1
x
i+1
+ . . . + d
n
x
n
con d
i
= c
j
/c
i
.
In generale, il rango di una generica matrice A (m n), rk(A), `e dato dal numero massimo
di colonne linearmente indipendenti. Si pu` o dimostrare che, in una matrice, il numero mas-
simo di colonne linearmente indipendenti `e uguale al numero massimo di righe linearmente
indipendenti. Quindi, il rango di una matrice pu` o essere ridenito come il numero massimo
di linee, righe o colonne, linearmente indipendenti.
Per ogni matrice A (mn) valgono le seguenti propriet`a notevoli
1. rk(A) min(m, n)
2. rk(A) = rk(A

)
3. rk(AA

) = rk(A

A) = rk(A)
Inoltre, se B `e una matrice non singolare (n n), allora
rk(AB) = rk(A)
Se m n (m n), allora diremo che A ha rango pieno se rk(A) = n (rk(A) = m).
Esiste inne una relazione fra rango ed invertibilit` a di una matrice quadrata. Se A `e una
matrice quadrata (mm) allora rk(A) = m se e solo se |A| = 0.
Da questo risultato discendono alcune propriet`a del determinante elencate in precedenza.
In particolare, se una linea di una matrice risulta essere funzione lineare di una o pi` u linee
parallele allora il determinante `e nullo e lo stesso avviene se una delle linee della matrice
coincide con il vettore nullo ovvero il vettore i cui elementi sono tutti uguali a zero. Ancora
una volta per ulteriori propriet`a e corollari si rimanda ad un qualsiasi testo avanzato di algebra
delle matrici.
1.2.4 Traccia di una matrice quadrata
La traccia di una matrice quadrata A (mm) `e la somma dei suoi elementi sulla diagonale
principale:
tr(A) = a
11
+ . . . + a
mm
9
Ad esempio
tr
_
1 0
1 3
_
= 4
Si pu` o dimostrare che
tr(A+B) = tr(A) + tr(B)
tr(A) = tr(A

)
Inoltre, se C `e (mn) e D `e (n m), allora
tr(CD) = tr(DC).
1.3 Sistemi di equazioni lineari
Dato il sistema di n equazioni lineari con m incognite:
_

_
a
11
x
1
+ a
12
x
2
+ . . . + a
1m
x
m
= b
1
a
21
x
1
+ a
22
x
2
+ . . . + a
2m
x
m
= b
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
n1
x
1
+ a
n2
x
2
+ . . . + a
nm
x
m
= b
n
(1.2)
`e possibile riscrivere la (1.2) in forma matriciale:
Ax = b (1.3)
dove
A =
_

_
a
11
a
12
. . . a
1m
a
21
a
22
. . . a
2m
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
. . . a
nm
_

_
, x =
_

_
x
1
x
2
.
.
.
x
n
_

_
, b =
_

_
b
1
b
2
.
.
.
b
n
_

_
1. Se A `e una matrice quadrata di ordine n (ovvero m = n) e non singolare (e quindi
anche di rango rk(A) = n), allora la soluzione del sistema (1.3) `e data da:
x = A
1
b
che `e unica in quanto unica `e linversa di A.
2. Teorema di Roche-Capelli. In presenza di una generica matrice A
(nm)
, il sistema (1.3)
ammette soluzioni se e solo se il rango della matrice A (anche detta matrice incompleta)
`e pari al rango della matrice [A
.
.
.b]
[n(m+1)]
(detta matrice completa), dove:
[A
.
.
.b] =
_

_
a
11
a
12
. . . a
1m
b
1
a
21
a
22
. . . a
2m
b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
. . . a
nm
b
n
_

_
10
3. Se b = 0 il sistema (1.3) `e detto omogeneo. In tale circostanza, il sistema ammette
sempre soluzione in quanto rk(A) = rk([A
.
.
.b]).
4. Un sistema omogeneo con matrice quadrata A
(n)
ammette soluzione diversa da quella
triviale, x = 0, se la matrice A `e singolare.
Se A `e non singolare la sola soluzione del sistema `e quella triviale:
x = A
1
0 = 0
1.4 Autovalori ed Autovettori
1.4.1 Denizioni
Sia A una matrice quadrata di dimensione (m m). Si denisca la matrice:
I
m
A =
_

_
a
11
a
12
. . . a
1m
a
21
a
22
. . . a
2m
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
a
m2
. . . a
mm
_

_
dove con a
ij
, i, j = 1, . . . , m, si `e indicato lelemento di A di posto i, indice di riga, j, indice
di colonna. Il polinomio in denito da
p
A
() = det(I
m
A) = |I
m
A)|
viene detto polinomio caratteristico di A. Le radici di p
A
() ovvero le soluzioni dellequazione
| (I
m
A) | = 0 (1.4)
vengono dette autovalori della matrice A. In alcuni testi gli autovalori vengono anche detti
valori caratteristici, radici caratteristiche o radici latenti di A.
Il numero di autovalori ammessi da una matrice quadrata di ordine m `e pari ad m. Dallo
sviluppo del determinante di (I
m
A) `e immediato vericare che il polinomio p
A
() risulta
essere di grado m in . Di conseguenza lequazione (1.4) ammetter`a m soluzioni. Alcune di
tali soluzioni potranno risultare coincidenti. In tal caso si dir` a che lautovalore in questione
ricorre con molteplicit` a maggiore di 1. Inoltre `e possibile dimostrare che vale il seguente
risultato.
Si indichino con

1
, . . . ,
n
n m
gli autovalori distinti della matrice Aovvero le n soluzioni distinte dellequazione (1.4). Allora,
si pu` o dimostrare che il polinomio caratteristico pu` o essere anche scritto come
p
A
() = p
0
+ p
1
+ . . . + p
m1

m1
+
m
= (
1
)
m
1
. . . (
n
)
mn
dove gli m
i
sono dei numeri interi positivi tali che

n
i=1
m
i
= m. In altre parole m
i
altro
non `e che la frequenza con cui ricorre lautovalore
i
e viene detto molteplicit` a (o molteplicit` a
algebrica) dellautovalore
i
, i = 1, . . . , n. Un autovalore viene detto semplice se la sua
11
molteplicit` a `e pari ad 1. Linsieme degli autovalori di una matrice quadrata A viene anche
detto spettro di A. Similmente, lautovalore pi` u grande in valore assoluto viene detto anche
raggio spettrale di A
(A) = max{|| : `e un autovalore di A}.
Passiamo ora ad esaminare un concetto collegato a quello di autovalore introducendo la de-
nizione di autovettore di una matrice quadrata A di ordine m. Se `e un autovalore di A, ogni
vettore v = 0 di dimensione (m1) che soddis la relazione Av = v o, equivalentemente:
(I
m
A)v = 0 (1.5)
viene detto autovettore o vettore caratteristico di A associato allautovalore . Si noti che
lequazione (1.5) `e sempre banalmente vericata dal vettore v = 0. Perche la (1.5) sia
vericata per v = 0 `e necessario che la matrice (I
m
A) sia singolare (come chiarito
nel paragrafo 1.3). Dato che una matrice `e non singolare (invertibile) se e solo se il suo
determinante `e non nullo, per converso essa sar` a singolare solo quando il suo determinante
sar` a nullo. Quindi (I
m
A) sar` a singolare se e solo se
|I
m
A| = 0
il che `e sempre vericato se `e un autovalore di A.
A questo punto una domanda sorge spontanea: se `e un autovettore di A, esiste un solo
autovettore v ad esso associato? La risposta `e negativa. Infatti, se la (1.5) `e vericata da un
dato vettore v, essa sar` a vericata anche da ogni trasformazione lineare di v del tipo v

= kv
dove k `e uno scalare con k = 0.
Esempio: Calcolo di autovalori ed autovettori
Si trovino gli autovalori e gli autovettori di
A =
_
5 2
2 2
_
Lequazione caratteristica `e
det(I
m
A) =

+ 5 2
2 + 2

=
2
+ 7 + 6 = 0
le cui soluzioni sono
1
= 1 e
2
= 6. Per =
1
= 1, lequazione (1.5) diventa
_
+ 5 2
2 + 2
_ _
v
1
v
2
_
=
_
0
0
_
ovvero
_
+ 5 2
2 + 2
_
v = 0
la quale pu` o essere anche riscritta come
( + 5)v
1
2v
2
= 0
2v
1
+ ( + 2)v
2
= 0
12
che, per =
1
= 1 diviene
4v
1
2v
2
= 0
2v
1
+ v
2
= 0.
Le soluzioni di sistema omogeneo,
_
4v
1
2v
2
= 0
2v
1
+ v
2
= 0,
come noto, sono innite. Per tale motivo le due soluzioni proposte nellesempio, v
(1)
e v
(2)
,
non sono le uniche per il sistema. Per estrarre ununica soluzione si pu` o imporre il seguente
vincolo di normalizzazione
v
2
1
+ v
2
2
= 1,
tale che per
1
= 1 si avr`a che v
2
= 0.8944272 che, se preso con il segno negativo, sar` a
tale che v
(1)
= [0.4472136, 0.8944272], mentre per
2
= 6, v
2
= 0.4472136, che se preso
con segno positivo `e tale che v
(2)
= [0.8944272, 0.4472136].
1.4.2 Alcune propriet`a di autovalori ed autovettori
In questa sezione riportiamo gli enunciati di alcune importanti propriet`a degli autovalori ed
autovettori di una matrice quadrata. Per brevit`a e per coerenza con gli scopi del corso ne
omettiamo le dimostrazioni. Per queste ultime si rimandano i lettori interessati ad eventuali
approfondimenti alla consultazione di manuali avanzati di algebra delle matrici.
1. Se A (m m) `e una matrice reale e simmetrica, allora anche i suoi autovettori ed
autovalori saranno reali. Inoltre, gli autovettori della matrice associati ad autovalori
distinti saranno a due a due ortogonali :
v

i
v
j
= 0
dove con v
i
si `e indicato lautovettore associato allautovalore
i
.
2. Se gli m autovalori sono tutti distinti, allora i corrispondenti autovettori sono linear-
mente indipendenti
3. Gli autovalori di A e della sua trasposta A

sono uguali. Inoltre, se `e un autovalore


di A, + sar` a un autovalore di A+ I
m
, per un generico scalare .
4. Se A `e una matrice non singolare e `e un autovalore di A,
1
sar` a un autovalore di
A
1
.
5. Se `e un autovalore di A ed i `e un numero intero, allora
i
sar` a un autovalore di A
i
dove
A
i
=
_

i
j=1
A i > 0
I
m
i = 0
(

i
j=1
A)
1
i < 0
13
6. Se A `e una matrice diagonale
A = diag(a
11
, . . . , a
mm
)
allora a
11
, . . . , a
mm
sono gli autovalori di A. Similmente, se A`e una matrice triangolare,
a
11
, . . . , a
mm
sono gli autovalori di A.
7. Il determinante di una matrice quadrata `e uguale al prodotto degli autovalori:
|A| =
m

i=1

i
Da questa propriet`a segue che, se A`e singolare allora uno degli autovalori sar` a uguale a
zero. Se, invece, A `e non singolare tutti gli autovalori saranno diversi da zero. Inoltre,
se gli autovalori di A (m m) e B (m m) sono a due a due uguali, allora sar` a anche
|A| = |B|. A scopo esemplicativo si noti che nella matrice del precedente esempio, il
prodotto degli autovalori `e

2
= 6
che, come `e immediato vericare, `e uguale al determinante della matrice A.
8. La traccia di una matrice quadrata A `e uguale alla somma degli autovalori:
tr(A) =
m

i=1

i
Ne segue che, se A (m m) e B (m m) hanno gli stessi autovalori, allora tr(A) =
tr(B). Ancora una volta, a scopo esemplicativo, si noti che nella matrice del precedente
esempio, la somma degli autovalori `e

1
+
2
= 7
che `e uguale alla traccia della matrice A.
1.5 Matrici denite e forme quadratiche
1.5.1 Denizioni
Sia A una matrice reale (mm) ed x un vettore (m1). La funzione a valori scalari
Q(x, A) = x

Ax =
m

i=1
m

j=1
x
i
x
j
a
ij
(1.6)
viene detta forma quadratica (di A) in x. E facile dimostrare che se la matrice A viene
sostituita da (A+ A

)/2, che `e una matrice simmetrica, il valore della forma quadratica in


(1.6) rimane inalterato. Per questo motivo, senza alcuna perdita di generalit` a, nel seguito
della trattazione assumeremo che A sia simmetrica.
In base ai valori assunti dalle forme quadratiche associate `e possibile classicare le matrici
simmetriche nel modo che segue. In particolare, una matrice simmetrica A (m m) (o la
corrispondente forma quadratica) pu` o essere
14
1. denita positiva , se Q(x, A) > 0, x(m1) : x = 0
2. semidenita positiva , se Q(x, A) 0, x(m1) : x = 0
3. denita negativa , se Q(x, A) < 0, x(m1) : x = 0
4. semidenita negativa , se Q(x, A) 0, x(m1) : x = 0
5. indenita, se esiste almeno una coppia di vettori (m 1) x e y tali che Q(x, A) > 0 e
Q(y, A) < 0.
1.5.2 Alcune propriet`a delle matrici denite
Le forme quadratiche godono inoltre di alcune importanti propriet`a notevoli delle quali si
fornisce una veloce, e non certo esaustiva, rassegna senza tuttavia indulgere nelle dimostrazioni
che possono essere reperite in testi avanzati di algebra lineare.
Dalla denizione data segue in maniera immediata che, se A `e (semi)denita positiva, allora
A sar` a (semi)denita negativa . Inoltre, per c R e c = 0, se A `e (semi)denita positiva
, allora cA sar` a (semi)denita positiva o negativa a seconda che c sia maggiore o minore di
zero.
Si pu` o inoltre dimostrare che una matrice simmetrica A (mm) `e (semi)denita positiva se
e solo se tutti i suoi minori principali sono > ()0. Si ricorda che li-esimo minore principale
di A `e dato da
|A
ii
| =

a
11
. . . a
1i
. . .
.
.
. . . .
a
i1
. . . a
ii

.
Un risultato simile vale per le matrici denite negative . Si pu` o inoltre dimostrare che una
matrice simmetrica A (mm) `e (semi)denita negativa se e solo se i suoi minori principali
|A
ii
| sono >() 0 per i pari e < () 0 per i dispari, per i = 1, . . . , m. Il risultato deriva dalla
propriet`a del determinante per cui |cA| = c
m
|A|, c R.
Da quanto nora detto discendono alcune ulteriori propriet`a
1. Se A`e denita positiva o negativa, essa `e anche non singolare ovvero ammette linversa.
2. Se A `e una matrice diagonale, inoltre, essa sar` a denita positiva (negativa) se e solo
se tutti gli elementi posti sulla sua diagonale principale (a
11
, . . . , a
mm
) sono positivi
(negativi).
3. Se A `e denita positiva, allora A
1
sar` a anche essa denita positiva .
Alcune particolari propriet`a sono poi riferite agli autovalori della matrice A. Si pu` o infatti
dimostrare che
1. A `e (semi) denita positiva se e solo se i suoi autovalori sono positivi (non negativi).
2. A `e (semi) denita negativa se e solo se i suoi autovalori sono negativi (non positivi).
15
Inne, se A `e una matrice simmetrica denita positiva (m m) e B `e una matrice reale
(m n), allora la matrice prodotto B

AB `e semidenita positiva. Se si impone lulteriore


condizione che sia rk(B) = n, allora, per A denita positiva, si avr`a che B

AB sar` a sem-
pre denita positiva. Un caso particolare `e quello in cui A coincide con la matrice identit`a.
Applicando la propriet`a appena riportata si ottiene che il prodotto B

B dar` a sempre come


risultato una matrice C (mm) dotata della propriet`a di essere denita positiva.
Esempio: matrici denite.
Alla luce delle regole fornite, `e immediato vericare che le matrici
_
2 1
1 1
_
_
_
3 1 0
1 1 0
0 0 4
_
_
sono denite positive mentre
_
1 1
1 1
_ _
1 0
1 0
_
sono semidenite positive. Queste aermazioni possono essere dimostrate procedendo al
calcolo degli autovalori o dei minori principali delle matrici sopra riportate.
1.6 Matrici e vettori ortogonali, matrici idempotenti
Due vettori (m1) x ed y si dicono ortogonali se il loro prodotto scalare x

y = 0. Un esempio
di vettori ortogonali `e rappresentato dalla coppia di vettori di seguito riportati:
x =
_
_
5
0
0
_
_
y =
_
_
0
2
0
_
_
Un vettore x si dice invece ortonormale se ha norma (o lunghezza) euclidea unitaria ovvero
se:
||x|| =

x = 1
Una matrice quadrata A (mm) si dice invece ortogonale se la sua inversa e la sua trasposta
sono uguali, A

= A
1
.
Segue quindi che se A `e ortogonale:
A

A = AA

= I
m
In altre parole A `e ortogonale se le sue righe (a

i
) e le sue colonne (a
j
) sono tali che:
a

i
a
i
= 1, a

i
a
j
= 0 (i = j).
Le seguenti matrici rappresentano degli esempi di matrici ortogonali
A =
_
0 1
1 0
_
B =
_
cos() sin()
sin() cos()
_
16
Una categoria di matrici di interesse `e inne rappresentata dalle matrici idempotenti. La
matrice quadrata A (mm) `e idempotente se AA = A
2
= A.
Alcuni esempi di matrici idempotenti sono A = I
m
, A = 0
(mm)
, dove, con 0
(mm)
si `e
indicata la matrice nulla di dimensioni (mm). Se A `e una matrice idempotente allora essa
`e anche semidenita positiva.
1.7 Decomposizione di matrici
1.7.1 Decomposizione di matrici simmetriche
Se A `e una matrice simmetrica (mm) allora esister`a sempre una matrice ortogonale P tale
che:
P

AP =
dove
= diag(
1
,
2
, . . . ,
m
) =
_

1
. . . 0
.
.
.
.
.
.
.
.
.
0 . . .
m
_

_
o, alternativamente,
A = PP

dove
i
sono gli autovalori di A e le colonne di P sono date da autovettori associati agli
autovalori
i
(i = 1, . . . , m). Inoltre, si ha che
A
2
= AA = PP

PP

= P
2
P

e, generalizzando, si avr`a anche


A
k
= P
k
P

con k intero.
Questa particolare decomposizione di una matrice simmetrica viene anche detta decomposi-
zione spettrale di una matrice simmetrica. Luso dellaggettivo spettrale deriva dal fatto che
essa fa uso degli autovalori della matrice di partenza A e, come precedentemente ricordato,
linsieme degli autovalori di una matrice quadrata viene anche detto spettro della matrice.
Se A `e denita positiva, inoltre, i suoi autovalori saranno reali e positivi. Ne segue che A
ammette la decomposizione
A = QQ Q = P
1/2
P

dove

1/2
=
_

1
0
.
.
.
0

m
_

_
La matrice Q viene spesso indicata con la notazione A
1/2
e chiamata radice quadrata della
matrice A anche se noi non adotteremo questa convenzione.
17
1.7.2 Decomposizione in valori singolari
Sia A
(np)
una matrice di rango rk(A) = r, la matrice A pu` o essere riscritta come il prodotto
delle seguenti matrici:
A = ULV

dove:
U
(nr)
`e una matrice ortogonale le cui colonne sono gli autovettori di AA

;
V
(pr)
`e una matrice ortogonale le cui colonne sono gli autovettori di A

A;
L
(rr)
`e la matrice diagonale di ordine r,
L = diag(

1
,

2
, . . . ,

r
) =
_

1
0 . . . 0
0

2
. . .
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . .

r
_

_
con
1

2
. . .
r
, ed inne
1
,
2
, . . .
r
sono gli autovalori di AA

che coincidono
a loro volta con gli autovalori di A

A.
1
1.7.3 La decomposizione di Choleski di una matrice positiva denita
In questa sezione ci soermiamo brevemente su un particolare metodo di decomposizione delle
matrici positive denite che si basa sullutilizzo di matrici triangolari opportunamente denite
. Se A `e una matrice (mm) denita positiva, allora esiste una matrice triangolare inferiore
P, con elementi positivi sulla diagonale principale, tale che
P
1
AP

1
= I
m
o, equivalentemente, che
A = PP

Questa decomposizione viene comunemente detta decomposizione di Choleski e delle routines


per la sua esecuzione sono implementate in tutti i software statistici di comune utilizzo (ad
esempio MATLAB, R, S-PLUS, GAUSS).
1.8 Alcune particolari operazioni con le matrici
1.8.1 Il prodotto di Kronecker ed il prodotto di Hadamard
Siano A = [a
ij
] e B = [b
ij
] due matrici di dimensioni (m n) e (p q), rispettivamente. La
matrice (mp nq)
AB =
_

_
a
11
B . . . a
1n
B
.
.
.
.
.
.
a
m1
B . . . a
mn
B
_

_
1
Si dimostra infatti che date due matrici A
(np)
e B
(pn)
, gli autovalori non nulli di AB e di BA sono gli
stessi.
18
viene detta prodotto di Kronecker o prodotto diretto di A e B. Ad esempio il prodotto di
Kronecker di
A =
_
3 4 1
2 0 0
_
e B =
_
5 1
3 3
_
`e dato da
AB =
_

_
15 3 20 4 5 1
9 9 12 12 3 3
10 2 0 0 0 0
6 6 0 0 0 0
_

_
Si pu` o dimostrare che il prodotto di Kronecker gode delle seguenti propriet`a
(AB)

= A

(AB) C = A(BC) = ABC


A(B+C) = (AB) + (AC)
(AB)(CD) = (ACBD)
tr(AB) = tr(A)tr(B)
rk(AB) = rk(A)rk(B)
(AB)
1
= A
1
B
1
Siano ora A = [a
ij
] e B = [b
ij
] due matrici di dimensioni (mn). Il prodotto di Hadamard o
prodotto di Schur `e quella matrice C = A B (m n) il cui generico elemento (c
ij
) `e dato
da
c
ij
= a
ij
b
ij
i = 1, . . . , m; j = 1, . . . , n.
In altre parole il prodotto di Hadamard fra due matrici della stessa dimensione viene calcolato
semplicemente moltiplicando ciascun elemento della matrice per quello di posto corrisponden-
te della seconda matrice. Si noti che, diversamente dal classico prodotto righe per colonne, si
ha sempre:
AB = BA.
1.8.2 Gli operatori vec(.) e vech(.)
Sia A una matrice (m n). Indichiamo con a
i
, i = 1, . . . , n, i vettori colonna (m 1)
corrispondenti a ciascuna delle colonne di A, ovvero A = [a
1
, . . . , a
n
]. Loperatore vec(.)
trasforma la matrice A in un vettore (mn 1) sovrapponendo le colonne di A:
vec(A) =
_

_
a
1
a
2
.
.
.
a
n
_

_
19
Dalla denizione data segue immediatamente che vec(A+B) = vec(A)+vec(B). E possibile
inoltre dimostrare alcune propriet`a che collegano loperatore vec(.) al prodotto di Kronecker
sopra discusso:
vec(ABC) = (C

A)vec(B)
vec(AB) = (I A)vec(B) = (B

I)vec(A)
e inoltre che
vec(B

vec(A) = tr(AB) = tr(BA) = vec(A

vec(B)
dove, di volta in volta, con A, B e C si sono indicate delle matrice arbitrariamente denite
e delle opportune dimensioni. Ulteriori propriet`a sono elencate da L utkepohl (1996).
Strettamente collegato alloperatore vec(.) `e loperatore vech(.) il quale:
1. estrae gli elementi a
ij
di una matrice quadrata A (mm) che rispettano la condizione
i j, con i, j = 1, . . . , m, ovvero estrae tutti gli elementi che si trovano sulla diagonale
principale o al di sotto di essa.
2. li dispone in un vettore colonna di dimensione (m(m + 1)/2 1) seguendo nellordine
i seguenti criteri: i) per indice di colonna j crescente ii) e, a parit` a di j, per indice di
riga i crescente.
Lesempio di seguito riportato aiuter` a a chiarire il concetto:
vech
_
_
_
_
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
_
_
_
_
=
_

_
a
11
a
21
a
31
a
22
a
32
a
33
_

_
In genere, loperatore vech(.) viene applicato a matrici simmetriche al ne di ottenerne una
rappresentazione parsimoniosa che non contenga gli elementi duplicati. Nel caso di una ma-
trice simmetrica, infatti, nel vettore generato dallapplicazione delloperatore vech(.) sono
contenute tutte le informazioni necessarie per ricostruire la matrice originaria.
1.9 Derivazione di matrici e vettori
In questa sezione ci soermeremo nellordine su due distinti problemi:
1. derivazione di una funzione a valori scalari rispetto ad un vettore o matrice da cui essa
dipende
2. derivazione di un vettore di funzioni rispetto ad un vettore di variabili da cui esso
dipende
20
Con riferimento al primo caso, si assuma che f(v) sia una funzione a valori scalari che dipende
dal vettore (m1) v = (v
1
, . . . , v
m
)

. La derivata prima di f(v) rispetto a v `e anche essa un


vettore (m1):
f
v
=
_

_
f
v
1
f
v
2
.
.
.
f
vm
_

_
mentre la derivata prima di f(v) rispetto a v

sar` a data dal vettore (1 m):


f
v

=
_
f
v
1
f
v
2
, . . . ,
f
vm
_
dove
f
v
i
rappresenta la derivata parziale della funzione f rispetto alla variabile v
i
, i =
1, . . . , m. La derivata seconda della funzione f rispetto al vettore v `e invece data dalla
matrice (mm)

2
f
vv

=
_

2
f
v
1
v
1
. . .

2
f
v
1
vm
. . . . . .

2
f
vmv
1
. . .

2
f
vmvm
_

_
che viene anche detta matrice Hessiana ed include al suo interno tutte le possibili derivate
parziali del secondo ordine di f rispetto ai singoli elementi di v:

2
f
v
i
v
j
, i, j = 1, . . . , m.
Se, poi, f(Z) `e una funzione a valori scalari di una matrice Z (mn) allora
f
Z
`e una matrice
(mn) il cui generico elemento `e dato da
f
z
ij
, i = 1, . . . , m; j = 1, . . . , n.
Similmente, la derivata di una matrice Z rispetto ad una variabile w `e data da una matrice
(mn) il cui generico elemento `e
z
ij
w
, i = 1, . . . , m; j = 1, . . . , n.
Passiamo ora a considerare il caso di un vettore di variabili y (m1) che `e esprimibile come
funzione di un secondo vettore x
(n1)
(ad esempio y = f(x)). Allora
y
x

`e una matrice
(mn) del tipo:
y
x

=
_

_
y
1
x
1
. . .
y
1
xm
. . . . . .
ym
x
1
. . .
ym
xm
_

_
detta matrice jacobiana.
Si noti che
y

x
=
_
y
x

Assumendo che A sia una matrice (mn) di costanti e x sia un vettore (n 1) di variabili,
valgono inoltre le seguenti semplici regole:
Ax
x

= A e
x

A
x
= A

Si pu` o inoltre dimostrare che


21

Ax
x
= (A+A

)x e
x

Ax
x

= x

(A

+A)

Ay
x
= Ay


2
x

Ax
xx

= A+A

Si noti inoltre che se A `e una matrice simmetrica (n n):

Ax
x
= 2Ax e

2
x

Ax
xx

= 2A
Inne, sia a un vettore di coecienti (n 1):
a

x
x
= a
mentre le derivate di ordine superiore sono nulle. Ulteriori approfondimenti sullargomento
possono essere reperiti nellappendice del volume di L utkepohl (1996) o in libri avanzati di
algebre lineare (tra gli altri Lang(1985), Harville (1997)).
1.10 Vettori e matrici con il software statistico R
Il pacchetto R `e un programma statistico liberamente scaricabile dal CRAN:
http//www.r-preject.org
che risulta essere di largo impiego per la notevole essibilit`a di utilizzo ed il continuo sviluppo
ed arricchimento.
Dopo aver istallato il software, le risorse di R sono fruibili mediante righe di comando inserite
in quella che `e denominata R-console, in quanto i menu disponibili consentono di eettuare
solo poche e ricorrenti operazioni, come ad esempio aprire o salvare le, caricare un pacchetto
ecc..
Si illustrano nel seguito alcuni comandi di R utili per gestire o eettuare operazioni con
vettori e matrici.
La struttura della presentazione seguir`a, in grandi linee, lordine dei precedenti paragra.
1.10.1 Tipologie di dati in R
Le tipologie di dati supportate da R sono:
character: stringhe di caratteri
numeric: numeri reali
integer: numeri interi eventualmente con segno
logical: elementi che assumono solo due valori TRUE o FALSE
complex: numeri complessi.
22
1.10.2 Sintassi di base
Il prompt di R `e dato dal seguente simbolo > dopo il quale `e possibile fornire al sistema linee
di comando, operazioni ed altro.
I simboli usati per le 4 operazioni aritmetiche sono:
+, -, *, /
e pertanto con il loro utilizzo si possono eettuare le pi` u articolate operazioni e visualizzare
a video il risultato.
Ad esempio:
> 23*45/2+(21-5*(3+11))/14
[1] 514
In molti casi per` o `e utile associare il risultato di unoperazione ad una variabile creando quindi
un oggetto per lambiente R.
Il simbolo usato per creare un oggetto `e <- oppure =. Ad esempio se il risultato della
precedente espressione numerica lo voglio salvare nelloggetto x:
x<-23*45/2+(21-5*(3+11))/14 (oppure x=23*45/2+(21-5*(3+11))/14)
mentre `e possibile visualizzare il valore associato ad x, digitando x in corrispondenza del
prompt e premendo invio:
> x
[1] 514
Il simbolo [1] alla sinistra di 514 sta ad indicare che il sistema identica uno scalare come
un vettore (1 1).
Quando invece si vuole creare un vettore di lunghezza maggiore di 1 si pu` o utilizzare (tra
gli altri) il comando di concatenazione c( ) nel seguente modo:
x<-c(2,4,6,8)
dove x `e un vettore di lunghezza 4 con elementi 2,4,6,8.
Tale operatore si pu` o impiegare anche per concatenare stringhe di uno o pi` u caratteri:
x<-c("AD", "B", "C")
dove le stringhe di caratteri devono essere incluse tra virgolette.
Si ottiene cos`:
> x
[1] "AD" "B" "C"
Si fa inoltre notare che in fase di assegnazione di nomi agli oggetti creati, lambiente R `e
case sensitive quindi ad esempio loggetto x `e diverso da X.
23
1.10.3 Vettori e Matrici
Vettori
La procedura generalmente utilizzata per creare vettori di lunghezza n `e la seguente:
x<-vector(mode="numeric", length=10)
dove gli argomenti tra le parentesi indicano che il vettore assume valori reali, `e di lunghezza
n = 10 e sar` a inizializzato con tutti zeri:
> x
[1] 0 0 0 0 0 0 0 0 0 0
Se vogliamo assegnare a questo vettore una sequanza di numeri interi da 1 a 10:
> y<-seq(1,10)
> x<-y
> x
[1] 1 2 3 4 5 6 7 8 9 10
Per accedere a singoli elementi del vettore si usa il simbolo [ ] allinterno del quale si
inserisce il numero corrispondente alla posizione desiderata.
Ad esempio nel precedente vettore x
> x[4]
[1] 4
fornisce a video il valore assunto da x nella posizione 4.
Posso cos` decidere di modicarne il contenuto con:
x[4]<-160
> x
[1] 1 2 3 160 5 6 7 8 9 10
Il comando length(x) fornisce la lunghezza del vettore x:
> length(x)
[1] 10
mentre il comando t() traspone un vettore colonna in un vettore riga.
Matrici
Un oggetto di tipo matrice `e creato con il comando:
> X<-matrix(x, ncol=5, nrow=2)
dove in X, di dimensioni (2 5), sono inseriti i dati presenti nel vettore x nel seguente modo:
24
> X
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
Se invece si desidera che i dati siano inseriti per righe:
> X<-matrix(x, ncol=5, nrow=2, byrow=T)
> X
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
La dimensione della matrice `e possibile conoscerla con il comando dim():
> dim(X)
[1] 2 5
dove il primo numero indica il numero di righe ed il secondo il numero di colonne.
Come per i vettori, anche per le matrici la trasposta `e ottenuta con il comando t():
> t(X)
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
mentre linversa di una matrice quadrata si genera con il comando solve():
> Y<-matrix(c(2, 3, 7, 9, 15, 4, 9,4,1), ncol=3, nrow=3)
> solve(Y)
[,1] [,2] [,3]
[1,] 0.001628664 -0.04397394 0.161237785
[2,] -0.040716612 0.09934853 -0.030944625
[3,] 0.151465798 -0.08957655 -0.004885993
con c(2, 3, 7, 9, 15, 4, 9,4,1) il vettore dei dati inseriti in tabella.
1.10.4 Operazioni con Matrici e Vettori
La sintassi utilizzata per la somma e la sottrazione di matrici e vettori non si dierenzia dagli
operatori matematici presentati in precedenza.
Quindi la sottrazione usa il simbolo -, ad esempio:
25
> X<-matrix(c(3,1,6,8,10,12,3,11,7), ncol=3, nrow=3)
> Y<-matrix(c(2, 3, 7, 9, 15, 4, 9,4,1), ncol=3, nrow=3)
> Z<-X-Y
> Z
[,1] [,2] [,3]
[1,] 1 -1 -6
[2,] -2 -5 7
[3,] -1 8 6
mentre la somma + :
> W<-X+Y
> W
[,1] [,2] [,3]
[1,] 5 17 12
[2,] 4 25 15
[3,] 13 16 8
Il prodotto presenta invece delle dierenze in quanto lutilizzo del simbolo * non sempre
`e opportuno.
Dati due vettori x<-c(2,5) ed y<-c(1,2), il prodotto x*y d` a origine a:
> x*y
[1] 1 10
dove la moltiplicazione implica il prodotto membro a membro dei termini del vettore (prodotto
di Hadamard descritto in precedenza).
Se invece si desidera calcolare il prodotto scalare tra due vettori x ed y, il simbolo di
moltiplicazione diventa %*%, infatti:
> x%*%y
[,1]
[1,] 11
Una simile situazione si ha con le matrici, dove ad esempio date due matrici quadrate X
ed Y:
> X
[,1] [,2] [,3]
[1,] 3 8 3
[2,] 1 10 11
[3,] 6 12 7
> Y
[,1] [,2] [,3]
[1,] 2 9 9
[2,] 3 15 4
[3,] 7 4 1
il prodotto `e:
26
> X*Y
[,1] [,2] [,3]
[1,] 6 72 27
[2,] 3 150 44
[3,] 42 48 7
mentre il prodotto propriamente detto tra le due matrici conformabili X ed Y si eettua con
loperatore %*%
> X%*%Y
[,1] [,2] [,3]
[1,] 51 159 62
[2,] 109 203 60
[3,] 97 262 109
Inne il prodotto XY
1
si calcola con:
> X%*%solve(Y)
[,1] [,2] [,3]
[1,] 0.1335505 0.39413681 0.2214984
[2,] 1.2605863 -0.03583062 -0.2019544
[3,] 0.5814332 0.30130293 0.5618893
1.10.5 Autovalori, autovettori e decomposizioni di matrici
La calcolo degli autovalori ed autovettori di una matrice quadrata in R `e eettuato con il
comando:
eigen(X)
Utilizzando la matrice X
(33)
, denita nel paragrafo precedente, si ottiene:
> eigen(X)
$values
[1] 21.977527+0.000000i -0.988763+2.341686i -0.988763-2.341686i
$vectors
[,1] [,2] [,3]
[1,] 0.3766048+0i 0.6379344+0.0000000i 0.6379344+0.0000000i
[2,] 0.6434719+0i -0.4287267+0.3533124i -0.4287267-0.3533124i
[3,] 0.6664179+0i 0.2950814-0.4442190i 0.2950814+0.4442190i
che quindi restituisce gli autovalori ed i corrispondenti autovettori di X. E interessante notare
che in presenza di una matrice simmetrica, gli oggetti $values e $vectors sono utilizzabili
per la sua decomposizione spettrale.
La decomposizione di Cholesky di una matrice simmetrica e denita positiva `e invece
eettuata con il comando chol( ) mentre la decomposizione in valori singolari di una matrice
rettangolare `e ottenuta con il comando svd( ).
27
1.10.6 Il dataframe
`
E uno degli strumenti pi` u importanti per la gestione e lanalisi dei dati. Il dataframe `e una
matrice di dati propriamente detta in cui le righe corrispondono alle unit` a di rilevazione e le
colonne alle variabili in esame.
Un dataframe `e costruito utilizzando il comando data.frame( ) nel quale possono essere
inserite sia variabili che mutabili.
Ad esempio, si supponga di disporre dei dati rilevati su 5 individui, ai quali `e richiesta la
marca di auto posseduta ed il numero di km annui percorsi. Con tali informazioni `e possibile
costruire il seguente dataframe:
> marca<-c("Fiat", "Ford", "Lancia", "Citroen", "Lancia")
> Km<-c(10000, 14500, 50000, 25000, 18000)
> dati.osservati<-data.frame(marca, Km)
> dati.osservati
marca Km
1 Fiat 10000
2 Ford 14500
3 Lancia 50000
4 Citroen 25000
5 Lancia 18000
al quale si pu` o aggiungere la variabile Professione:
prof<-c("Insegnante", "Operaio", "Rappresentante", "Impiegato", "Disoccupato")
con il comando:
dati.osservati$Professione<-prof
e cos` ottenere:
> dati.osservati
marca Km Professione
1 Fiat 10000 Insegnante
2 Ford 14500 Operaio
3 Lancia 50000 Rappresentante
4 Citroen 25000 Impiegato
5 Lancia 18000 Disoccupato
Per assegnare ad un nuovo oggetto i valori di una variabile del dataframe si usa il comando
mm<-dati.osservati$marca dove il simbolo $ deve precedere il nome della variabile di
interesse.
Quindi il nuovo oggetto mm sar` a:
> mm
[1] Fiat Ford Lancia Citroen Lancia
`
E inoltre possibile accedere al dataframe per inserire i dati manualmente con il comando
fix( ). Infatti inserendo nella console il comando fix(dati.ossevati) si accede ad una
sorta di foglio elettronico aperto in scrittura.
28
1.10.7 Importazione dei dati da le
In molti casi i dati da inserire nel dataframe sono gi`a presenti in un altro le. In tal caso se
si tratta di una matrice di dati, sar` a possibile importarla con il comando read.table().
Ad esempio se il le nel quale sono disponibili i dati `e denominato Dati.txt ed `e presente
nella cartella c:\Statistica, la linea di comando diventer` a:
X<-read.table("c:\\Statistica\\Dati.txt", header=TRUE, sep="\t")
dove lestensione .txt sta ad indicare che si tratta di un le testo.
Gli ulteriori argomenti presenti in read.table( ) dati da header=TRUE e sep="\t" indi-
cano rispettivamente che la prima riga della matrice di dati contiene i nomi delle variabili e
che le colonne della matrice sono separate da tabulazioni.
Osservazione
Il sistema Rconsente di importare i dati da le presenti in fogli elettronici creati con Excel,
anche se ne sconsiglia altamente il loro impiego. Infatti la presenza di eventuali formule
e/o fogli multipli nel foglio elettronico impedisce limportazione dei dati o comunque pu` o
comportare una non corretta lettura dei dati in esso contenuti.
Per tale motivo `e utile convertire il le .xls contenente la matrice di dati in un altro
formato che non supporta fogli multipli come ad exempio i le di tipo .csv (comma separated
values) o .txt (testo) e successivamente leggere il contenuto del nuovo le con il comando
read.table( ).
1.10.8 Alcune statistiche descrittive e rappresentazioni grache
Assumiamo che la matrice di dati importata sia composta da X
1
, X
2
, . . . , X
p
variabili osservate
su un collettivo di n unit` a campionarie.
`
E possibile in tal caso presentare alcuni indici statistici per la loro sintesi. Tra questi: il
vettore delle medie e la matrice delle varianze e covarianze.
Assumendo che le variabili quantitative osservate siano p = 4 e che la matrice di dati X
ha dimensione (10 4) ed ha ad oggetto lassunzione media pro-capite giornaliera di proteine
in 10 stati europei:
Nazioni Carne Uova Latte Pesce
Irlanda 13,5 4,1 17,5 4,5
Olanda 7,8 1,6 8,3 1,2
Francia 9,7 2,8 12,5 2,0
Italia 10,6 3,7 25,0 9,9
German 8,4 3,7 11,1 5,4
Grecia 9,5 2,7 33,7 5,8
Portog 18,0 3,3 19,5 5,7
Spagna 10,2 2,8 17,6 5,9
UK 10,1 0,5 8,9 0,2
Belgio 8,9 4,3 19,9 2,1
dove nella prima colonna sono elencate le denominazioni delle unit` a statistiche.
29
Assumendo che tali dati siano presenti in c:\Statistica\Proteine.txt, `e possibile
importarli con la linea di comando:
prot.dati<-read.table("c:\\Statistica\\Proteine.txt",
+ header=TRUE, sep="\t", dec=",")
dove il comando dec="," `e stato inserito per chiarire che nel le origine il separatore delle
cifre decimali `e la virgola.
Per eliminare la prima colonna dal dataframe si scriver` a nella console in comando:
prot.dati$Nazioni=NULL
ottenendo cos` una matrice di dati esclusivamente quantitativi che `e possibile modicare o
sottoporre ad elaborazione.
Si pu` o calcolare il vettore delle medie con il comando mean( ), calcolare la matrice di
varianze e covarianze con cov( ) ad esempio:
> mean(prot.dati)
Carne Uova Latte Pesce
10.67 2.95 17.40 4.27
> cov(prot.dati)
Carne Uova Latte Pesce
Carne 9.0134444 0.8283333 4.618889 2.532333
Uova 0.8283333 1.3694444 3.882222 1.859444
Latte 4.6188889 3.8822222 61.435556 14.687778
Pesce 2.5323333 1.8594444 14.687778 8.435667
Si possono standardizzare le quattro variabili in esame sottraendo a ciascuna variabile la
media e dividendola per la deviazione standard (che `e calcolabile utilizzando gli elementi sulla
diagonale principale della matrice di varianze e covarianze).
In particolare, utilizzando il comando diag( ) si estraggono gli elementi della diagonale
di una matrice, quindi:
> varianze<-diag(cov(prot.dati))
> varianze
Carne Uova Latte Pesce
9.013444 1.369444 61.435556 8.435667
con loggetto varianze un vettore di dati in cui sono presenti le varianze delle 4 variabili
esaminate, mentre il vettore delle medie `e:
> medie<-mean(prot.dati)
> medie
Carne Uova Latte Pesce
10.67 2.95 17.40 4.27
I dati standardizzati saranno inseriti in un nuovo dataframe denominato prot.dati.st
nel quale le variabili subiranno la seguente trasformazione:
30
Z
i
=
X
i

i
, i = 1, 2, 3, 4,
e pertanto i dati standardizzati contenuti nel nuovo dataframe saranno:
> prot.dati.st<-t((t(prot.dati)-medie)/sqrt(varianza))
dove il comando sqrt(x) fornisce la radice quadrata di x.
Utilizzando i dati contenuti in matrici e/o data frame si possono costruire numerose rap-
presentazioni grache. Ad esempio `e possibile rappresentare gli scatter plot delle variabili
(prese due a due) di prot.dati, con:
> plot(prot.dati)
oppure i box-plot delle singole variabili osservate con:
> boxplot(prot.dati)
ottenendo i graci presentati in gura 1.1 e gura 1.2.
Se invece si `e interessati a costruire gli istogrammi per le 4 variabili in esame:
hist(prot.dati$Carne)
hist(prot.dati$Uova)
hist(prot.dati$Latte)
hist(prot.dati$Pesce)
i cui graci sono presentati in gura 1.3.
Le risorse di R in tale contesto graco sono cospicue. Opportuni pacchetti sono stati
sviluppati a tale scopo e ad essi si rimanda il lettore interessato.
31
Figura 1.1: Scatter plot delle variabili osservate
Figura 1.2: Box-plot delle singole variabili osservate
32
Figura 1.3: Istogrammi delle quattro variabili osservate
33
Bibliograa
[1] Harville D.A., (1997), Matrix Algebra from a Statisticians Perspective, Springer-Verlag
[2] Iacus S., Masarotto G, (2007), Laboratorio di statistica con R (II ed.), McGraw-Hill
[3] Lang S., (1985), Algebra Lineare, Bollati Boringhieri
[4] L utkepohl H., (1996), Introduction to Multiple Time Series Analysis, Springer-Verlag
[5] Mineo M., Una guida allutilizzo dellambiente statistico R, disponibile on-line allindirizzo:
http://dssm.unipa.it/CRAN/doc/contrib/Mineo-dispensaR.pdf
[6] Verzani J., (2005), Using R for Introductory Statistics, Chapman & Hall
34

Anda mungkin juga menyukai