You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tex/LinearAlgebra.tex
+18-30Lines changed: 18 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -431,7 +431,7 @@ \section{Матрицы и вектора}
431
431
}
432
432
\begin{definition}[Транспонирование матрицы]
433
433
Пусть дана матрица $M_{n \times m}$.
434
-
Тогда результат её \emph{транспонирования}, это такая матрица $M'_{m \times n}$, что $M'[i,j] = M[j,i]$ для всех $i \in [0: m - 1]$ и $j \in [0: n - 1]$.
434
+
Тогда результат её \emph{транспонирования}, это такая матрица $M'_{m \times n}$, что $M'[i,j] = M[j,i]$ для всех $i \in [0\rng m - 1]$ и $j \in [0\rng n - 1]$.
435
435
436
436
Операцию транспонирования принято обозначать как $M^\top$.
437
437
\end{definition}
@@ -456,7 +456,7 @@ \section{Матрицы и вектора}
456
456
\begin{pmatrix}
457
457
"a" & "ba" & "cb"\\
458
458
"ac" & "bab" & "b"
459
-
\end{pmatrix} [0 : 1, 1 : 2] = \\
459
+
\end{pmatrix} [0 \rng 1, 1 \rng 2] = \\
460
460
= \begin{pmatrix}
461
461
"ba" & "cb"\\
462
462
"bab" & "b"
@@ -466,7 +466,7 @@ \section{Матрицы и вектора}
466
466
}
467
467
\begin{definition}[Взятие подматрицы]
468
468
Пусть дана матрица $M_{n\times m}$.
469
-
Тогда $M_{n \times m}[i_0: i_1, j_0: j_1]$~--- это такая $M'_{(i_1 - i_0 + 1) \times (j_1 - j_0 + 1)}$, что $M'[i, j] = M[i_0 + i, j_0 + j]$ для всех $i \in [0: i_1 - i_0 + 1]$ и $j \in [0: j_1 - j_0 + 1]$.
469
+
Тогда $M_{n \times m}[i_0\rng i_1, j_0\rng j_1]$~--- это такая $M'_{(i_1 - i_0 + 1) \times (j_1 - j_0 + 1)}$, что $M'[i, j] = M[i_0 + i, j_0 + j]$ для всех $i \in [0\rng i_1 - i_0 + 1]$ и $j \in [0\rng j_1 - j_0 + 1]$.
470
470
\end{definition}
471
471
472
472
\marginnote{
@@ -481,14 +481,14 @@ \section{Матрицы и вектора}
481
481
\end{example}
482
482
}
483
483
\begin{definition}[Взятие элемента по индексу]
484
-
\emph{Взятие элемента по индексу}~--- это частный случай взятия подматрицы, когда начало и конец\enquote{среза} совпадают: $M[i, j] = M[i : i, j : j]$
484
+
\emph{Взятие элемента по индексу}~--- это частный случай взятия подматрицы, когда начало и конец\enquote{среза} совпадают: $M[i, j] = M[i \rng i, j \rng j]$.
485
485
\end{definition}
486
486
487
487
Из алгебраических операций над матрицами нас в дальнейшем будут интересовать \emph{поэлементные операции}, \emph{скалярные операции}, \emph{матричное умножение}, \emph{произведение Кронекера}.
488
488
489
489
\begin{definition}[Поэлементные операции]
490
490
Пусть $G = (S, \circ)$~--- полугруппа%
491
-
\sidenote[][*2]{Здесь, как и в дальнейшем, требование к структуре быть полугруппой не обязательно.
491
+
\sidenote{Здесь, как и в дальнейшем, требование к структуре быть полугруппой не обязательно.
492
492
Оно лишь позволяет нам получить ассоциативность соответствующих операций над матрицами, что может оказаться полезным при дальнейшей работе.}%
493
493
, $M_{n \times m}$, $N_{n \times m}$~--- две матрицы одинакового размера над этой полугруппой.
494
494
Тогда $\mathrm{ewise}(M, N, \circ) = P_{n \times m}$, такая, что $P[i, j] = M[i, j] \circ N[i, j]$.
@@ -550,7 +550,7 @@ \section{Матрицы и вектора}
550
550
\begin{definition}[Матричное умножение]
551
551
\label{def:MxM}
552
552
Пусть $G = (S, \oplus, \otimes)$~--- полукольцо, $M_{n \times m}$, $N_{m\times k}$~--- две матрицы над этим полукольцом.
553
-
Тогда $M \cdot N = P_{n \times k}$, такая, что $P[i, j] = \bigoplus_{l \in [0 : m - 1]} M[i, l] \otimes N[l, j]$.
553
+
Тогда $M \cdot N = P_{n \times k}$, такая, что $P[i, j] = \bigoplus_{l \in [0 \rng m - 1]} M[i, l] \otimes N[l, j]$.
Для начала построим наивный алгоритм, сконструированный на основе определения произведения матриц.
661
661
Такой алгоритм представлен на листинге~\ref{algo:MxM}.
662
-
\marginnote{TODO: Ничего против не имею, но точно ли название "Листинг" здесь хорошо?
663
-
TODO: Оформление алгоритмов точно надо обсудить, потому что я в этом мало понимаю.}
662
+
\marginnote{TODO: Оформление алгоритмов точно надо обсудить, потому что я в этом мало понимаю.}
664
663
Его работу можно описать следующим образом: для каждой строки в первой матрице и для каждого столбца в второй матрице найти сумму произведений соответствующих элементов.
665
664
Данная сумма будет значением соответствующей ячейки результирующей матрицы.
Сложность наивного произведения двух матриц составляет $O(n^3)$ из-за тройного вложенного цикла, где каждый уровень вложенности привносит $n$ итераций.
0 commit comments