Àlgebra de matrius

Projecte Math21, Departament Economia i Empresa, UPF

25 de març de 2021

Índex

1 Objectius d’aprenentatge
2 Prerequisits
3 Guia pel professor
 3.1 Presentació del tema
 3.2 Materials bàsics
4 Activitats autònomes
  4.0.1 repassa R
  4.0.2 Càlcul de matrius amb R
  4.0.3 Exercicis PemRau 13.4
  4.0.4 Les dades com a matriu. Càlcul de mitjanes, variàncies, estandardització
  4.0.5 Les formes quadràtiques com a funcions de dues variables
5 Llista d’exercicis
  5.0.1 Càlculs amb R i amb altre software
6 Suplements avançats
7 Exercicis per exàmens

Aquest és un document de treball INTERN, en fase de discussió i molt preliminar. No en feu difussió, sisplau.

(Enllaç al document principal)
(Enllaç a la versió pdf d’aquest document)
(Enllaç a la font LaTeX)
(Enllaç als fitxers de les figures)

1 Objectius d’aprenentatge

2 Prerequisits

El càlcul i propietats dels determinants es donaran per coneguts, se’n pot fer un breu repàs recopilatori, però no s’entrarà en demostracions que poden ser llargues i poc interessants.

3 Guia pel professor

Ja s’han vist algunes propietats de les matrius, bàsicament quadrades de dimensions dos o tres. Ara es tracta de generalitzar-ho en un plantejament més abstracte, on les propietats siguin més importants que els càlculs. Es farà veure que els càlculs amb matrius d’ordre 3 o superior es poden deixar en mans de software adequat (R, potser Excel, Wiris o WolframAlpha en cas simbòlic).

L’objectiu d’aquest tema, com l’anterior és acostumar l’estudiant a la manipulació simbòlica abstracta. També, naturalment, mostrar els conceptes i tècniques bàsiques del càlul matricial, però això es podrà complementar en els temes successius on s’aplicaran a la diagonalització i la classificació de les matrius de formes quadràtiques.

La classificació es farà segons valors propis. Es pot esmentar la regla de Descartes per saber el nombre de valors propis positius. No s’entrarà en signes de menors.

3.1 Presentació del tema

3.2 Materials bàsics

Les seccions 12.7, 12.8, 12.9 de S&H-MAE.

Cap 13.4 Quadratic forms and symmetric matrices del PembRau.

Per l’estimació per mínims quadrats, problema 13-4, pg 264 del PemRau.

Pot servir de referència (avançada) el capítol 1 de ÀLGEBRA LINEAL, ApuntsFMEBarcelona, Gener 2019, de Andreu Boix, Paolo Lammens, FME-UPC. https://apuntsfme.gitlab.io/pdfs/primer/algebra_lineal.pdf. Especialment per derivar-hi els estudiants interessats en aprofundir o en trobr demostracions que es deixen sense fer al curs.

4 Activitats autònomes

4.0.1 repassa R

Al primer trimestre, assignatura Anàlisi de dades, vas aprendre a fer anar R i RStudio. Repassa-ho i repassa també la sessió que aleshores vas seguir: R Programming: Matrices and Data Frames3: R Programming7: Matrices and Data Frames

4.0.2 Càlcul de matrius amb R

En aquesta activitat volem que aprenguis com efectuar càluls matricials amb R.

Has d’obrir RStudio (recordes les beceroles de R i RStudio? Si no, repassa-les aquí XXX.

Pots veure un resum ràpid de les funcions de R per treballar amb matrius a https://www.statmethods.net/advstats/matrix.html

Com a primer exemple, volem comprobar si la inversa de la transposada de A coincideix amb la transposada de la inversa per A = (            )
  1  0   -1
( 1  1   1   )
  0  -1  1.

Per introduir la matriu fem servir la funció matrix que demana els elements de la matriu en una sola llista i després cal dir quantes files ha de tenir la matriu i si hem llistat els elements per files o no. La funció t calcula la transposada:

> A = matrix(c(1,0,-1,1,1,1,0,-1,1), nrow = 3, byrow = TRUE ) 
> A 
     [,1] [,2] [,3] 
[1,]    1    0   -1 
[2,]    1    1    1 
[3,]    0   -1    1 
> t(A) 
     [,1] [,2] [,3] 
[1,]    1    1    0 
[2,]    0    1   -1 
[3,]   -1    1    1

Per invertir una matriu fem servir la funció solve amb un únic argument (amb dos arguments serveix per resoldre sistemes lineals). Per tant t(solve(A)) donarà la transposada de la inversa, mentre que solve(t(A)) donarà la inversa de la transposada.

> t(solve(A)) 
          [,1]       [,2]       [,3] 
[1,] 0.6666667 -0.3333333 -0.3333333 
[2,] 0.3333333  0.3333333  0.3333333 
[3,] 0.3333333 -0.6666667  0.3333333 
> solve(t(A)) 
          [,1]       [,2]       [,3] 
[1,] 0.6666667 -0.3333333 -0.3333333 
[2,] 0.3333333  0.3333333  0.3333333 
[3,] 0.3333333 -0.6666667  0.3333333 
> solve(t(A)) == solve(t(A)) 
     [,1] [,2] [,3] 
[1,] TRUE TRUE TRUE 
[2,] TRUE TRUE TRUE 
[3,] TRUE TRUE TRUE

Amb això hem comprovat que en aquest cas la transposada de la inversa és el mateix que la inversa de la transposada, però no sabem si sempre es compleix això.

Vegem de demostrar que (At)-1 = (   )
 A-1t, és a dir, comprovar que la matriu B = (   )
 A-1t és la inversa de At.
Demostració
Segons la definició de matriu inversa, cal comprovar que B At = At B = I, on I és la matriu identitat. I efectivament

B ⋅At = (A -1)t ⋅At = (A ⋅A-1)t = It = I
on hem fet servir que la transposada d’un producte és el producte de transposades en ordre transposat. Queda per demostrar l’altra igualtat que es pot fer de manera similar.

Ara omplim una matriu 5 × 5 amb els nombres del 1 al 25.

> C = matrix(1:25, nrow = 5, byrow = TRUE )  
> C  
     [,1] [,2] [,3] [,4] [,5]  
[1,]    1    2    3    4    5  
[2,]    6    7    8    9   10  
[3,]   11   12   13   14   15  
[4,]   16   17   18   19   20  
[5,]   21   22   23   24   25

Pots calcular el determinant d’aquesta matriu amb det(C). Pots explicar perquè et dona zero? (Recorda que si substituim una columna o una fila per la diferència d’altres dos el determinant no canvia).

Aquí omplim una matriu amb nombres aleatoris. Farem servir el símbol adequat per la multiplicació de matrius en R: %*%. La suma i la multiplicació per nombres es fan amb els mateixos símbols que pels nombres: + i *.

> C2 = matrix(runif(25), nrow = 5, byrow = TRUE ) 
> C2 
          [,1]      [,2]       [,3]      [,4]        [,5] 
[1,] 0.7920704 0.4002461 0.47880604 0.1782382 0.007149076 
[2,] 0.2842820 0.3269534 0.40949530 0.8875670 0.079300337 
[3,] 0.4652202 0.6362440 0.18795019 0.4159059 0.061233406 
[4,] 0.7872349 0.1647666 0.60534092 0.1403160 0.372879997 
[5,] 0.5207607 0.4932565 0.02458394 0.5853914 0.926298077 
> C2 %*% solve(C2) 
              [,1]          [,2]          [,3]          [,4]          [,5] 
[1,]  1.000000e+00  1.170938e-17  1.804112e-16  4.267420e-16 -6.483529e-17 
[2,] -1.942890e-16  1.000000e+00 -4.163336e-17 -1.387779e-16  1.613293e-16 
[3,] -3.053113e-16 -2.081668e-17  1.000000e+00  5.551115e-17 -2.688821e-17 
[4,]  6.661338e-16  1.110223e-16  1.110223e-16  1.000000e+00  4.579670e-16 
[5,]  4.440892e-16  1.110223e-16 -2.220446e-16 -8.881784e-16  1.000000e+00

Hem volgut comprovar la inversa de C2 i hem obtingut un resultat estrany, no sembla que el resultat. Pots explicar què ha passat?

Podem fer servir la funció round() per arrodonir el resultat a tres xifres decimals:

> round(C2 %*% solve(C2),3) 
     [,1] [,2] [,3] [,4] [,5] 
[1,]    1    0    0    0    0 
[2,]    0    1    0    0    0 
[3,]    0    0    1    0    0 
[4,]    0    0    0    1    0 
[5,]    0    0    0    0    1

Hi ha molt d’altres software que permeten fer càlculs matricials, no els introduirem tots, podeu buscar i provar i triar el que més us agradi.

Per exemple, WolframAlpha pot fer càlculs simbòlic (és a dir, que involucrin lletres sense donar-les cap vaor numèric. Proveu-hi:
inverse {{6, a, b, 0}, {0, 1, -1, 3}, {1,1,-1,0}, {1, -1, 0, 0}}

Geogebra també us permet fer càlculs simbòlics amb la vista “CAS”. Podeu provar

  D = {{6, a, b, 0}, {0, 1, -1, 3}, {1,1,-1,0}, {1, -1, 0, 0}} 
  E = {{6,a,b,c},{0,1,-1,0},{1,1,-1,0},{1,-1,0,0}} 
  E D 
  Inversa(D) 
  Determinant(D) 
  Transposa(D)

També en Excel podeu càlculs matricials, per exemple =MMULT(A3:C5;A7:C9), =MINVERSA(A3:C5) o =MDETERM(A3:C5) us calcularà el producte de matrius, la inversa o el determinant.

Ara et toca a tu!

Quiz XXX

4.0.3 Exercicis PemRau 13.4

Els de la pàgina 262 de Cap 13.4 Quadratic forms and symmetric matrices del PembRau.

Solucions als exercicis del PemRau 13.4

Solucions als problemes del PemRau cap. 13

4.0.4 Les dades com a matriu. Càlcul de mitjanes, variàncies, estandardització

Per tractar amb dades multivariants és molt útil la notació i àlgebra matricials. Posem que tenim informació sobre n individus (per exemple empreses) i de cada individu tenim p variables numèriques X1,,Xp (per exemple X1 podria ser el nombre de treballadors de l’empresa, X2 el salari mitjà, etc). Habitualment es disposa la informació en una matriu X de dimensions n × p, és a dir cada fila correspon a un individu, i les columnes corresponen a les variables.

Llavors, si denotem 1n = (1,,1)el vector (vertical) que conté n uns, el producte X1n∕n = vm serà el vector de les mitjanes de les variables, de [p × 1].

Si posem 1nvm = 1n1nX, tenim una matriu [n × p] amb columnes constants, la columna j conté n còpies de la mitjana de la variable j. Per tant Xc = X - 1n1nX∕n és la matriu de dades centrades.

O bé, definim la matriu centradora: M = I - 1n1n∕n, amb la qual cosa les dades centrades s’obtenen amb Xc = MX.

Per la traducció a R de tot això, farem servir les dades LifeCycleSavings que estan incloses a R.

Farem:

data("LifeCycleSavings") 
## les posarem en format matriu per treballar 
# separem la matriu de dades de la resta dinfo 
X = data.matrix(datafr) 
 
# manipulant el data frame 
n = dim(X)[1] 
p = dim(X)[2] 
 
# matrius auxiliars utils 
uns.n = matrix(1,n,1) 
id.n = diag(n) # la matriu identitat de n x n 
 
# vector de mitjanes 
vm = t(X) %*% uns.n /n 
 
# la matriu centradora n x n 
M = id.n - uns.n %*% t(uns.n)/n 
 
# dades centrades 
Xc = M %*% X 
# o be 
Xc = X - uns.n %*% t(vm) 
# es el mateix? 
round(M %*% X - (X - uns.n %*% t(vm)),3) 
# la igualtat sexpressa amb (doble) == 
round(M %*% X,10) == round(X - uns.n %*% t(vm),10)

QUIZZ
Es poden plantejar preguntes per comprovar que ho fan

Es podria anar més enllà. Cal tenir present que molts d’ells han fet aquests conceptes a mates per socials.

4.0.5 Les formes quadràtiques com a funcions de dues variables

Es tracta de posar de manifest la relació de la matriu amb la forma quadràtica en el cas 2D, començant amb les matrius diagonals.

Gràfics de superficie, corbes de nivell, etc.

5 Llista d’exercicis

5.0.1 Càlculs amb R i amb altre software

Pots resoldre aquests exercicis amb R o amb el software que més t’agradi.

Introdueix la matriu C2 = (              )
|  3  2  3  5  |
|(  10 0  0  5  |)
   8  8  2  5
   2  5  4  10. Calcula la seva inversa, el seu determinant. Comprova que el determinant de la inversa és igual a l’invers del determinant.

6 Suplements avançats

7 Exercicis per exàmens

  1. A partir de les definicions, demostra que, donades matrius quadrades A,B, sempre es compleix
        -1    -1  -1
(AB )  = B  A
  2. A partir de les definicions, demostra que, donada una matriu A Mm,n, la matriu producte AtA és una matriu simètrica.
  3. La descomposició en valors singulars (SVD) és una tècnica matricial molt útil en estadística i econometria per analitzar dades multivariants.
    Donada una matriu de dades estandarditzades Xs de dimensions n × p, posem Xn = Xs√ --
  n. La SVD dóna Xn = UDVon D és una matriu diagonal que conté n valors singulars a la diagonal.
    Quines són les dimensions de les matrius U i V?