\documentclass{article}

\input{../latexDefs.tex}

\title{Àlgebra de matrius}
\author{Projecte Math21, Departament Economia i Empresa, UPF}

% he provat
% latex2html -info 0 -split 0 -html_version 5.0,math activitats.tex
% però no sé la diferència, esperava math en html


\begin{document}

\maketitle{}

\tableofcontents{}

\enllacos

\section{Objectius d’aprenentatge}


\begin{itemize}
\item Matrius $m\times n$ com a espai vectorial de dimensió $m n$. La
  transposada, propietats
\item Matrius quadrades. Determinants. Inversa. Propietats
\item Matrius simètriques. Matrius diagonals
\item Mínims quadrats, solució matricial.
\item Formes quadràtiques, Matriu d'una forma quadràtica.
\end{itemize}

\section{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.

\section{Guia pel professor}

\def\matmn{{\cal M}_{m,n}}

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.  

\begin{itemize}
\item L'espai $\matmn$ com a espai vectorial. Subespais, base
  canònica.
\item La operació transposició, propietats. El cas $n\times p$ de les matrius de dades multivariants.
\item Matrius simètriques
\item \dots

\end{itemize}


\subsection{Presentació del tema}



\subsection{Materials bàsics}

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


\href{./figures/pemRau-p-256-264.pdf}{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. \url{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.



\section{Activitats autònomes}

\subsubsection{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: \emph{R Programming: Matrices and Data Frames}$\rightarrow$\emph{3: R Programming}$\rightarrow$\emph{7: Matrices and Data Frames }


\subsubsection{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 \url{https://www.statmethods.net/advstats/matrix.html}

Com a primer exemple, volem comprobar si la inversa de la transposada
de $\mat{A}$ coincideix amb la transposada de la inversa per
$\mat{A}=
\left(\begin{array}{lll}
 1 &0 & -1\\
1 & 1 &1 \\
0 & -1 & 1
      \end{array}\right)$.

    Per introduir la matriu fem servir la funció \texttt{ 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ó \texttt{t} calcula la transposada:


\begin{lstlisting}[language=R]
> 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
\end{lstlisting}

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

\begin{lstlisting}[language=R]
> 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
\end{lstlisting}

Amb això hem comprovat que \textbf{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 $\left(\mat{A}^t\right)^{-1} =
\left(\mat{A}^{-1}\right)^{t} $, és a dir, comprovar que la matriu
$\mat{B}=\left(\mat{A}^{-1}\right)^{t}$ és la inversa de
$\mat{A}^t$.\\
\textbf{Demostració}\\
Segons la definició de matriu inversa, cal comprovar que $\mat{B} \cdot \mat{A}^t =
\mat{A}^t \cdot \mat{B} = \mat{I}$, on $\mat{I}$ és la matriu
identitat.  I efectivament
$$B \cdot \mat{A}^t = \left(\mat{A}^{-1}\right)^{t} \cdot \mat{A}^t =
\left(\mat{A}\cdot \mat{A}^{-1}\right)^ t =\mat{I}^t=\mat{I}$$
on hem fet servir que\emph{ 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.$\blacksquare$

Ara omplim una matriu $5\times 5$ amb els nombres del 1 al 25.

 %[language=R]
\begin{verbatim}
> 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
\end{verbatim}

Pots calcular el determinant d'aquesta matriu amb
\texttt{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: \verb|%*%|. La suma i la
multiplicació per nombres es fan amb els mateixos símbols que pels
nombres: \texttt{+} i \texttt{*.}

\begin{lstlisting}[language=R]
> 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
\end{lstlisting}

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

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

\begin{lstlisting}[language=R]
> 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
\end{lstlisting}

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:\\
\verb|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
\begin{lstlisting}[language=C]
  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)
\end{lstlisting}

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

Ara et toca a tu!

\textbf{Quiz}
XXX

\subsubsection{Exercicis PemRau 13.4}

Els de la pàgina 262 de \href{figures/pemRau-p-256-264.pdf}{Cap 13.4
  Quadratic forms and symmetric matrices del PembRau.}

\href{figures/sol-exc-pemRau-cap13-4.pdf}{Solucions als exercicis del PemRau 13.4}

\href{figures/sol-prob-pemRau-cap13.pdf}{Solucions als problemes del PemRau cap. 13}

\subsubsection{Les dades com a matriu. Càlcul de mitjanes, variàncies, estandardització}\label{sec:dades}
%\harsim{3.3}

\def\unb{\mathbf{1}}
\def\Xb{\mathbf{X}}
\def\Mb{\mathbf{M}}
\def\Rb{\mathbf{R}}
\def\vb{\mathbf{v}}
\def\dims#1#2{[#1\times#2]}
\def\Sb{\mathbf{S}}
\def\diag{\mathrm{diag}}
\def\Ub{\mathbf{U}}
\def\Vb{\mathbf{V}}
\def\Db{\mathbf{D}}

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 $X_1, \dots, X_p$ (per exemple $X_1$ podria ser el nombre
de treballadors de l'empresa, $X_2$ el salari mitjà, etc). Habitualment es disposa la informació en una matriu $\Xb$ de dimensions $n\times p$, és a
dir cada fila correspon a un individu, i les columnes corresponen a les variables.

Llavors, si denotem  $\unb_n =(1,\dots,1)'$ el vector (vertical) que conté $n$ uns, el producte $ X' \unb_n / n = \vb_m$ serà el
vector de les mitjanes de les variables, de $\dims{p}{1}$.

Si posem $\unb_n \vb'_m = \unb_n \unb_n' X$, tenim una matriu $\dims{n}{p}$ amb
  columnes constants, la columna $j$ conté $n$ còpies de la mitjana de la variable $j$.  Per tant $\Xb_c = \Xb - \unb_n \unb_n'
  \Xb / n$ és la matriu de dades centrades.

O bé, definim  la matriu centradora: $\Mb  = I - \unb_n \unb_n'/n$, amb la qual cosa les dades centrades s'obtenen amb $\Xb_c = \Mb \Xb$.


\medskip
Per la traducció a R de tot això, farem servir les dades
\href{https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/LifeCycleSavings.html}{LifeCycleSavings} que estan incloses a R.

Farem:

\begin{lstlisting}[language=R]
data("LifeCycleSavings")
## les posarem en format matriu per treballar
# separem la matriu de dades de la resta d'info
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 s'expressa amb (doble) ==
round(M %*% X,10) == round(X - uns.n %*% t(vm),10)
\end{lstlisting}

\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.

\begin{itemize}

\item $\Sb = \Xb_c' \Xb_c / (n-1)$ matriu de variàncies/covariàncies.
\item $\vb_v = \diag(\Sb)$ vector de les variàncies.
\item $\vb_{\mathrm{sd}} = \vb^{1/2}$ vector de desviacions estàndard. $1/\vb_{\mathrm{sd}}$ vector d'inverses de les desviacions estàndard.
\item $\mathrm{diag}(1/\vb_{\mathrm{sd}})$ és la matriu diagonal amb aquest vector a la diagonal.
\item $\Xb_s = \Xb_c \diag(1/\vb_{\mathrm{sd}})$ matriu de dades estandarditzades.
\item $\Rb = {\Xb_s}' \Xb_s/(n-1)$ matriu de correlacions.
\end{itemize}


\subsubsection{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.

\section{Llista d’exercicis}



\subsubsection{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=\left(
\begin{array}{llll}
     3  &  2 &   3 &   5\\
   10 &   0 &   0 &   5\\
    8 &   8  &  2 &   5\\
    2 &   5 &   4 &  10\end{array}\right)$. Calcula la seva inversa, el seu
  determinant. Comprova que el determinant de la inversa és igual a
  l'invers del determinant.


 
\section{Suplements avançats}

\section{Exercicis per exàmens}

\begin{enumerate}
\item  A partir de les definicions, demostra que, donades matrius quadrades
$\mat{A}, \mat{B}$, sempre es compleix $$(\mat{A} \mat{B})^{-1} =  \mat{B}^{-1}
\mat{A}^{-1}$$
 
\item A partir de les definicions, demostra que, donada una matriu
$\mat{A} \in \matmn$, la matriu producte $\mat{A}^t \mat{A}$ és una
matriu simètrica.
\item 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 $\Xb_s$ de dimensions $n\times p$, posem $\Xb_n = \Xb_s/\sqrt{n}$. La SVD dóna
  $\Xb_n=\Ub\Db\Vb'$ on $\Db$ és una matriu diagonal que conté $n$ valors singulars a la diagonal. \\
  Quines són les dimensions de les
matrius $\Ub$ i $\Vb$?

\end{enumerate}





\end{document}
