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