Matrix operations
This commit is contained in:
parent
8b4a58b3ba
commit
58aa6bef6d
219
luku23.tex
219
luku23.tex
|
@ -1,11 +1,10 @@
|
||||||
\chapter{Matrices}
|
\chapter{Matrices}
|
||||||
|
|
||||||
\index{matriisi@matriisi}
|
\index{matrix}
|
||||||
|
|
||||||
\key{Matriisi} on kaksiulotteista taulukkoa
|
A \key{matrix} is a mathematical concept
|
||||||
vastaava matemaattinen käsite,
|
that corresponds to a two-dimensional array
|
||||||
jolle on määritelty laskutoimituksia.
|
in programming. For example,
|
||||||
Esimerkiksi
|
|
||||||
\[
|
\[
|
||||||
A =
|
A =
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
|
@ -14,19 +13,19 @@ A =
|
||||||
9 & 5 & 4 & 18 \\
|
9 & 5 & 4 & 18 \\
|
||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\]
|
\]
|
||||||
on matriisi, jossa on 3 riviä ja 4 saraketta
|
is a matrix of size $3 \times 4$, i.e.,
|
||||||
eli se on kokoa $3 \times 4$.
|
it has 3 rows and 4 columns.
|
||||||
Viittaamme matriisin alkioihin
|
The notation $[i,j]$ refers to
|
||||||
merkinnällä $[i,j]$,
|
the element in row $i$ and column $j$
|
||||||
jossa $i$ on rivi ja $j$ on sarake.
|
in a matrix.
|
||||||
Esimerkiksi yllä olevassa matriisissa
|
For example, in the above matrix,
|
||||||
$A[2,3]=8$ ja $A[3,1]=9$.
|
$A[2,3]=8$ and $A[3,1]=9$.
|
||||||
|
|
||||||
\index{vektori@vektori}
|
\index{vector}
|
||||||
|
|
||||||
Matriisin erikoistapaus on \key{vektori},
|
A special case of a matrix is a \key{vector}
|
||||||
joka on kokoa $n \times 1$ oleva yksiulotteinen matriisi.
|
that is a one-dimensional matrix of size $n \times 1$.
|
||||||
Esimerkiksi
|
For example,
|
||||||
\[
|
\[
|
||||||
V =
|
V =
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
|
@ -35,13 +34,13 @@ V =
|
||||||
5 \\
|
5 \\
|
||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\]
|
\]
|
||||||
on vektori, jossa on 3 alkiota.
|
is a vector that contains three elements.
|
||||||
|
|
||||||
\index{transpoosi@transpoosi}
|
\index{transpose}
|
||||||
|
|
||||||
Matriisin $A$ \key{transpoosi} $A^T$ syntyy,
|
The \key{transpose} $A^T$ of a matrix $A$
|
||||||
kun matriisin rivit ja sarakkeet vaihdetaan
|
is obtained when the rows and columns in $A$
|
||||||
keskenään eli $A^T[i,j]=A[j,i]$:
|
are swapped, i.e., $A^T[i,j]=A[j,i]$:
|
||||||
\[
|
\[
|
||||||
A^T =
|
A^T =
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
|
@ -52,11 +51,12 @@ A^T =
|
||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\]
|
\]
|
||||||
|
|
||||||
\index{nelizmatriisi@neliömatriisi}
|
\index{square matrix}
|
||||||
|
|
||||||
Matriisi on \key{neliömatriisi}, jos sen
|
A matrix is a \key{square matrix} if it
|
||||||
korkeus ja leveys ovat samat.
|
has the same number of rows and columns.
|
||||||
Esimerkiksi seuraava matriisi on neliömatriisi:
|
For example, the following matrix is a
|
||||||
|
square matrix:
|
||||||
|
|
||||||
\[
|
\[
|
||||||
S =
|
S =
|
||||||
|
@ -67,17 +67,15 @@ S =
|
||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\]
|
\]
|
||||||
|
|
||||||
\section{Laskutoimitukset}
|
\section{Operations}
|
||||||
|
|
||||||
Matriisien $A$ ja $B$ summa $A+B$ on määritelty,
|
The sum $A+B$ of matrices $A$ and $B$
|
||||||
jos matriisit ovat yhtä suuret.
|
is defined if the matrices are of the same size.
|
||||||
Tuloksena oleva matriisi on
|
The result is a matrix where each element
|
||||||
samaa kokoa kuin
|
is the sum of the corresponding elements
|
||||||
matriisit $A$ ja $B$ ja sen jokainen
|
in matrices $A$ and $B$.
|
||||||
alkio on vastaavissa kohdissa
|
|
||||||
olevien alkioiden summa.
|
|
||||||
|
|
||||||
Esimerkiksi
|
For example,
|
||||||
\[
|
\[
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
6 & 1 & 4 \\
|
6 & 1 & 4 \\
|
||||||
|
@ -100,10 +98,10 @@ Esimerkiksi
|
||||||
\end{bmatrix}.
|
\end{bmatrix}.
|
||||||
\]
|
\]
|
||||||
|
|
||||||
Matriisin $A$ kertominen luvulla $x$ tarkoittaa,
|
Multiplying a matrix $A$ by a value $x$ means
|
||||||
että jokainen matriisin alkio kerrotaan luvulla $x$.
|
that we multiply each element in $A$ by $x$.
|
||||||
|
|
||||||
Esimerkiksi
|
For example,
|
||||||
\[
|
\[
|
||||||
2 \cdot \begin{bmatrix}
|
2 \cdot \begin{bmatrix}
|
||||||
6 & 1 & 4 \\
|
6 & 1 & 4 \\
|
||||||
|
@ -121,26 +119,23 @@ Esimerkiksi
|
||||||
\end{bmatrix}.
|
\end{bmatrix}.
|
||||||
\]
|
\]
|
||||||
|
|
||||||
\subsubsection{Matriisitulo}
|
\subsubsection{Matrix multiplication}
|
||||||
|
|
||||||
\index{matriisitulo@matriisitulo}
|
\index{matrix multiplication}
|
||||||
|
|
||||||
Matriisien $A$ ja $B$ tulo $AB$ on määritelty,
|
The product $AB$ of matrices $A$ and $B$
|
||||||
jos matriisi $A$ on kokoa $a \times n$
|
is defined if $A$ is of size $a \times n$
|
||||||
ja matriisi $B$ on kokoa $n \times b$
|
and $B$ is of size $n \times b$, i.e.,
|
||||||
eli matriisin $A$ leveys on sama kuin matriisin
|
the width of $A$ equals the height of $B$.
|
||||||
$B$ korkeus.
|
The result is a matrix of size $a \times b$
|
||||||
Tuloksena oleva matriisi
|
whose elements are calculated using the formula
|
||||||
on kokoa $a \times b$
|
|
||||||
ja sen alkiot lasketaan kaavalla
|
|
||||||
\[
|
\[
|
||||||
AB[i,j] = \sum_{k=1}^n A[i,k] \cdot B[k,j].
|
AB[i,j] = \sum_{k=1}^n A[i,k] \cdot B[k,j].
|
||||||
\]
|
\]
|
||||||
|
|
||||||
Kaavan tulkintana on, että kukin $AB$:n alkio
|
The idea is that each element in $AB$
|
||||||
saadaan summana, joka muodostuu $A$:n ja
|
is a sum of products of elements in $A$ and $B$
|
||||||
$B$:n alkioparien tuloista seuraavan
|
according to the following picture:
|
||||||
kuvan mukaisesti:
|
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tikzpicture}[scale=0.5]
|
\begin{tikzpicture}[scale=0.5]
|
||||||
|
@ -158,7 +153,7 @@ kuvan mukaisesti:
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
Esimerkiksi
|
For example,
|
||||||
|
|
||||||
\[
|
\[
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
|
@ -185,18 +180,18 @@ Esimerkiksi
|
||||||
\end{bmatrix}.
|
\end{bmatrix}.
|
||||||
\]
|
\]
|
||||||
|
|
||||||
Matriisitulo ei ole vaihdannainen,
|
Matrix multiplication is not commutative,
|
||||||
eli ei ole voimassa $A \cdot B = B \cdot A$.
|
so $AB = BA$ doesn't hold.
|
||||||
Kuitenkin matriisitulo
|
However, it is associative,
|
||||||
on liitännäinen, eli on voimassa $A \cdot (B \cdot C)=(A \cdot B) \cdot C$.
|
so $A(BC)=(AB)C$ holds.
|
||||||
|
|
||||||
\index{ykkzsmatriisi@ykkösmatriisi}
|
\index{identity matrix}
|
||||||
|
|
||||||
\key{Ykkösmatriisi} on neliömatriisi,
|
An \key{identity matrix} is a square matrix
|
||||||
jonka lävistäjän jokainen alkio on 1
|
where each element on the diagonal is 1,
|
||||||
ja jokainen muu alkio on 0.
|
and all other elements are 0.
|
||||||
Esimerkiksi $3 \times 3$ -yksikkömatriisi on
|
For example, the $3 \times 3$ identity matrix
|
||||||
seuraavanlainen:
|
is as follows:
|
||||||
\[
|
\[
|
||||||
I = \begin{bmatrix}
|
I = \begin{bmatrix}
|
||||||
1 & 0 & 0 \\
|
1 & 0 & 0 \\
|
||||||
|
@ -206,8 +201,8 @@ seuraavanlainen:
|
||||||
\]
|
\]
|
||||||
|
|
||||||
\begin{samepage}
|
\begin{samepage}
|
||||||
Ykkösmatriisilla kertominen säilyttää matriisin
|
Multiplying a matrix by an identity matrix
|
||||||
ennallaan. Esimerkiksi
|
doesn't change it. For example,
|
||||||
\[
|
\[
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
1 & 0 & 0 \\
|
1 & 0 & 0 \\
|
||||||
|
@ -245,24 +240,26 @@ ennallaan. Esimerkiksi
|
||||||
\]
|
\]
|
||||||
\end{samepage}
|
\end{samepage}
|
||||||
|
|
||||||
Kahden $n \times n$ kokoisen matriisin tulon
|
Using a straightforward algorithm,
|
||||||
laskeminen vie aikaa $O(n^3)$
|
we can calculate the product of
|
||||||
käyttäen suoraviivaista algoritmia.
|
two $n \times n$ matrices
|
||||||
Myös nopeampia algoritmeja on olemassa:
|
in $O(n^3)$ time.
|
||||||
tällä hetkellä nopein tunnettu algoritmi
|
There are also more efficient algorithms
|
||||||
vie aikaa $O(n^{2{,}37})$.
|
for matrix multiplication:
|
||||||
Tällaiset algoritmit eivät kuitenkaan
|
at the moment, the best known time complexity
|
||||||
ole tarpeen kisakoodauksessa.
|
is $O(n^{2.37})$.
|
||||||
|
However, such special algorithms are not needed
|
||||||
|
in competitive programming.
|
||||||
|
|
||||||
\subsubsection{Matriisipotenssi}
|
\subsubsection{Matrix power}
|
||||||
|
|
||||||
\index{matriisipotenssi@matriisipotenssi}
|
\index{matrix power}
|
||||||
|
|
||||||
Matriisin $A$ potenssi $A^k$ on
|
The power $A^k$ of a matrix $A$ is defined
|
||||||
määritelty, jos $A$ on neliömatriisi.
|
if $A$ is a square matrix.
|
||||||
Määritelmä nojautuu kertolaskuun:
|
The definition is based on matrix multiplication:
|
||||||
\[ A^k = \underbrace{A \cdot A \cdot A \cdots A}_{\textrm{$k$ kertaa}} \]
|
\[ A^k = \underbrace{A \cdot A \cdot A \cdots A}_{\textrm{$k$ times}} \]
|
||||||
Esimerkiksi
|
For example,
|
||||||
|
|
||||||
\[
|
\[
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
|
@ -286,7 +283,7 @@ Esimerkiksi
|
||||||
33 & 114 \\
|
33 & 114 \\
|
||||||
\end{bmatrix}.
|
\end{bmatrix}.
|
||||||
\]
|
\]
|
||||||
Lisäksi $A^0$ tuottaa ykkösmatriisin. Esimerkiksi
|
In addition, $A^0$ is an identity matrix. For example,
|
||||||
\[
|
\[
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
2 & 5 \\
|
2 & 5 \\
|
||||||
|
@ -298,9 +295,9 @@ Lisäksi $A^0$ tuottaa ykkösmatriisin. Esimerkiksi
|
||||||
\end{bmatrix}.
|
\end{bmatrix}.
|
||||||
\]
|
\]
|
||||||
|
|
||||||
Matriisin $A^k$ voi laskea tehokkaasti ajassa
|
The matrix $A^k$ can be efficiently calculated
|
||||||
$O(n^3 \log k)$ soveltamalla luvun 21.2
|
in $O(n^3 \log k)$ time using the
|
||||||
tehokasta potenssilaskua. Esimerkiksi
|
algorithm in Chapter 21.2. For example,
|
||||||
\[
|
\[
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
2 & 5 \\
|
2 & 5 \\
|
||||||
|
@ -316,31 +313,29 @@ tehokasta potenssilaskua. Esimerkiksi
|
||||||
\end{bmatrix}^4.
|
\end{bmatrix}^4.
|
||||||
\]
|
\]
|
||||||
|
|
||||||
|
\subsubsection{Determinant}
|
||||||
|
|
||||||
\subsubsection{Determinantti}
|
\index{determinant}
|
||||||
|
|
||||||
\index{determinantti@determinantti}
|
The \key{determinant} $\det(A)$ of a matrix $A$
|
||||||
|
is defined if $A$ is a square matrix.
|
||||||
Matriisin $A$ \key{determinantti} $\det(A)$
|
If $A$ is of size $1 \times 1$,
|
||||||
on määritelty, jos $A$ on neliömatriisi.
|
then $\det(A)=A[1,1]$.
|
||||||
Jos $A$ on kokoa $1 \times 1$,
|
The determinant of a larger matrix is
|
||||||
niin $\det(A)=A[1,1]$.
|
calculated recursively using the formula \index{cofactor}
|
||||||
Suuremmalle matriisille determinaatti lasketaan rekursiivisesti
|
|
||||||
kaavalla \index{kofaktori@kofaktori}
|
|
||||||
\[\det(A)=\sum_{j=1}^n A[1,j] C[1,j],\]
|
\[\det(A)=\sum_{j=1}^n A[1,j] C[1,j],\]
|
||||||
missä $C[i,j]$ on matriisin $A$ \key{kofaktori}
|
where $C[i,j]$ is the \key{cofactor} of $A$
|
||||||
kohdassa $[i,j]$.
|
at $[i,j]$.
|
||||||
Kofaktori lasketaan puolestaan kaavalla
|
The cofactor is calculated using the formula
|
||||||
\[C[i,j] = (-1)^{i+j} \det(M[i,j]),\]
|
\[C[i,j] = (-1)^{i+j} \det(M[i,j]),\]
|
||||||
missä $M[i,j]$ on matriisi $A$, josta on poistettu
|
where $M[i,j]$ is a copy of matrix $A$
|
||||||
rivi $i$ ja sarake $j$.
|
where row $i$ and column $j$ are removed.
|
||||||
Kofaktorissa olevan kertoimen $(-1)^{i+j}$ ansiosta
|
Because of the multiplier $(-1)^{i+j}$ in the cofactor,
|
||||||
joka toinen determinantti
|
every other determinant is positive
|
||||||
lisätään summaan positiivisena
|
and negative.
|
||||||
ja joka toinen negatiivisena.
|
|
||||||
|
|
||||||
\begin{samepage}
|
\begin{samepage}
|
||||||
Esimerkiksi
|
For example,
|
||||||
\[
|
\[
|
||||||
\det(
|
\det(
|
||||||
\begin{bmatrix}
|
\begin{bmatrix}
|
||||||
|
@ -351,7 +346,7 @@ Esimerkiksi
|
||||||
\]
|
\]
|
||||||
\end{samepage}
|
\end{samepage}
|
||||||
|
|
||||||
ja
|
and
|
||||||
|
|
||||||
\[
|
\[
|
||||||
\det(
|
\det(
|
||||||
|
@ -384,19 +379,19 @@ ja
|
||||||
) = 81.
|
) = 81.
|
||||||
\]
|
\]
|
||||||
|
|
||||||
\index{kxxnteismatriisi@käänteismatriisi}
|
\index{inverse matrix}
|
||||||
|
|
||||||
Determinantti kertoo, onko matriisille
|
The determinant indicates if matrix $A$
|
||||||
$A$ olemassa \key{käänteismatriisia}
|
has an \key{inverse matrix}
|
||||||
$A^{-1}$, jolle pätee $A \cdot A^{-1} = I$,
|
$A^{-1}$ for which $A \cdot A^{-1} = I$,
|
||||||
missä $I$ on ykkösmatriisi.
|
where $I$ is an identity matrix.
|
||||||
Osoittautuu, että $A^{-1}$ on olemassa
|
It turns out that $A^{-1}$ exists
|
||||||
tarkalleen silloin, kun $\det(A) \neq 0$,
|
exactly when $\det(A) \neq 0$,
|
||||||
ja sen voi laskea kaavalla
|
and it can be calculated using the formula
|
||||||
|
|
||||||
\[A^{-1}[i,j] = \frac{C[j,i]}{det(A)}.\]
|
\[A^{-1}[i,j] = \frac{C[j,i]}{det(A)}.\]
|
||||||
|
|
||||||
Esimerkiksi
|
For example,
|
||||||
|
|
||||||
\[
|
\[
|
||||||
\underbrace{
|
\underbrace{
|
||||||
|
|
Loading…
Reference in New Issue