Skip to content

Commit 3a1cde7

Browse files
committed
Правки по линейной алгебре.
Всё по линейной алгебре отсюда поправлено: #11 (comment) Кроме пары вопросов.
1 parent b0d632a commit 3a1cde7

File tree

1 file changed

+51
-14
lines changed

1 file changed

+51
-14
lines changed

tex/LinearAlgebra.tex

Lines changed: 51 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@ \section{Бинарные операции и их свойства}
99

1010
Введём понятие \textit{бинарной операции} и рассмотрим некоторые её свойства, такие как \textit{коммутативность} и \textit{ассоциативность}.
1111

12+
\begin{definition}
13+
\textit{Функцией} будем называть бинарное отношение на двух множествах $X$ и $Y$, такое, что каждому элементу из $X$ сопоставляется ровно один элемент из $Y$. Запись $f: X \to Y$ как раз и обозначает, что функция $f$ сопоставляет элементы из $X$ элементам из $Y$.
14+
\end{definition}
15+
16+
\begin{definition}
17+
Для функции $f: X \to Y$, множество $X$ называется \textit{областью определения функции} или \textit{доменом функции}.
18+
\end{definition}
19+
20+
\begin{definition}
21+
Для функции $f: X \to Y$, множество $Y$ называется \textit{областью значений функции} или \textit{кодоменом функции}.
22+
\end{definition}
23+
1224
\begin{definition}
1325
Функцию, принимающую два аргумента, $f: S \times K \to Q$ будем называть \emph{двухместной} или \emph{функцией арности два}.
1426
Для записи таких функций будем использовать типичную нотацию: $c = f(a,b)$.
@@ -143,7 +155,7 @@ \section{Полугруппа}
143155
\begin{itemize}
144156
\item Множество положительных целых чисел с операцией сложения является коммутативной полугруппой.
145157
\item Множество целых чисел с операцией взятия наибольшего из двух ($\max$) является коммутативной полугруппой.
146-
\item Множество всех строк конечной длины (без пустой строки) над фиксированным алфавитом $\Sigma$ с операцией конкатенации является полугруппой. Так как конкатенация на строках не является коммутативной операцией, то и полугруппа не является коммутативной.
158+
\item Множество всех строк конечной длины без пустой строки\footnote{Множество всех строк конечной длины c пустой строкой также является полугруппой. Однако, такая структура является ещё и моноидом, что будет показано далее.} над фиксированным алфавитом $\Sigma$ с операцией конкатенации является полугруппой. Так как конкатенация на строках не является коммутативной операцией, то и полугруппа не является коммутативной.
147159
\end{itemize}
148160
\end{example}
149161

@@ -158,7 +170,7 @@ \section{Моноид}
158170
\begin{example} Приведём примеры моноидов, построенных на основе полугрупп из предыдущего раздела.
159171

160172
\begin{itemize}
161-
\item Неотрицательные целые числа с операцией сложения являются моноидом. Нейтральный элемент --- $0$.
173+
\item Неотрицательные целые числа (или же натуральные числа с нулём) с операцией сложения являются моноидом. Нейтральный элемент --- $0$.
162174
\item Целые числа, дополненные значением $-\infty$ (``минус-бесконечность'') с операцией взятия наибольшего из двух ($\max$) являются моноидом. Нейтральный элемент --- $-\infty$.
163175
\item Множество всех строк конечной длины с пустой строкой (строка длины 0) над фиксированным алфавитом $\Sigma$ и операцией конкатенации является моноидом. Нейтральный элемент --- пустая строка.
164176
\item Квадратные неотрицательные матрицы\footnote{Неотрицательной называется матрица, все элементы которой не меньше нуля.} фиксированного размера с операцией умножения задают моноид. Нейтральный элемент --- единичная матрица.
@@ -183,6 +195,14 @@ \section{Группа}
183195
Если операция $\circ$ коммутативна, то говорят, что группа \textit{Абелева}.
184196
\end{definition}
185197

198+
\begin{example}
199+
Рассмотрим несколько примеров групп.
200+
\begin{itemize}
201+
\item Целые числа $\mathbb{Z}$ с операцией сложения $+$ являются группой. Получается дополнением моноида из предыдущего раздела обратными по сложению элементами.
202+
\item Целые числа $\mathbb{Z}$ без нуля\footnote{При наличии нуля возникают трудности с нейтральным элементом. Логично считать $1$ --- нейтральным по умножению, однако $0\cdot1 = 0$, а не 1, как того требует определение.} с операцией умножения $\cdot$ не являются группой, так как нет обратных по умножению. Действительно, возьмём $a = 3$, тогда должен существовать $a^{-1} \in \mathbb{Z}$, такой что $3 \cdot a^{-1} = 1$. Видим, что $a^{-1} = \frac{1}{3}$, но $\frac{1}{3} \notin \mathbb{Z}$.
203+
\item Множество обратимых\footnote{Квадратная матрица $M$ называется обратимой, если существует матрица $N$, называемая обратной, такая что $M \cdot N = N \cdot M I$, где $I$ --- единичная матрица. К сожалению, не все матрицы являются обратимыми, потому, чтобы сконструировать группу, нам приходится требовать обратимость явно.} матриц с операцией матричного умножения задают группу.
204+
\end{itemize}
205+
\end{example}
186206

187207
\section{Полукольцо}
188208

@@ -246,14 +266,19 @@ \section{Полукольцо}
246266
\item $(a \odot b) \odot c = a \odot (b \odot c)$ по определению $\odot$
247267
\item $\{\varepsilon\} \odot a = \{\varepsilon \cdot w \mid w \in a \} = \{w \mid w \in a \} = a \odot \{\varepsilon\} = a$
248268
\end{itemize}
249-
Вообще говоря, сконструированный нами моноид не является коммутативным: легко проверить, например, что для любых непустых $a,b \in R, a \neq b, a \neq \{\varepsilon\}, b \neq \{\varepsilon\}$: $a \cdot b \neq b \cdot a$ по причине некоммутативности конкатенации строк.
269+
Вообще говоря, сконструированный нами моноид не является коммутативным: легко проверить, например, что существуют непустые $a,b \in R, a \neq b, a \neq \{\varepsilon\}, b \neq \{\varepsilon\}$: $a \cdot b \neq b \cdot a$ по причине некоммутативности конкатенации строк.
250270

251271
\item $\odot$ дистрибутивно слева и справа относительно $\cup$:
252272
\begin{itemize}
253273
\item $a \odot (b \cup c) = \{ w_1 \cdot w_2 \mid w_1 \in a, w_2 \in b \cup c\} = \{ w_1 \cdot w_2 \mid w_1 \in a, w_2 \in b \} \cup \{ w_1 \cdot w_2 \mid w_1 \in a, w_2 \in c \} = (a \odot b) \cup (a \odot c)$
254274
\item Аналогично, $(a \cup b) \odot c = (a \odot c) \cup (b \odot c)$
255275
\end{itemize}
256-
При этом, в общем случае, $a \odot (b \cup c) \neq (b \cup c) \odot a$ из-за некоммутативности операции $\odot$.
276+
При этом, в общем случае, $a \odot (b \cup c) \neq (b \cup c) \odot a$ из-за некоммутативности операции $\odot$. Действительно,
277+
278+
\begin{align*}
279+
& \{``a"\}\odot(\{``b"\} \cup \{``c"\}) = \{``a"\}\odot \{``b" \ ,``c" \} = \{``ab"\ ,``ac" \} \neq \\
280+
\neq & (\{``b"\} \cup \{``c"\}) \odot \{``a"\} = \{``b",``c" \} \odot \{``a"\} = \{``ba"\ ,``ca" \}
281+
\end{align*}
257282

258283

259284
\item $\varnothing$ является \textit{аннигилятором} по умножению: для любого $a \in R$ верно, что
@@ -294,7 +319,20 @@ \section{Кольцо}
294319

295320
\end{enumerate}
296321

297-
Заметим, что мультипликативное свойство $\mathbb{0}$ (быть аннигилятором по умножению) не указыватеся явно, так как может быть выведено из остальных утверждений.
322+
Заметим, что мультипликативное свойство $\mathbb{0}$ (быть аннигилятором по умножению) не указыватеся явно, так как может быть выведено из остальных утверждений. Действительно,
323+
\begin{enumerate}
324+
\item $a \otimes \mathbb{0} = a \otimes (\mathbb{0} \oplus \mathbb{0})$, так как $\mathbb{0}$ --- нейтральный по сложению, то $\mathbb{0} \oplus \mathbb{0} = \mathbb{0}$
325+
\item Воспользуемся дистрибутивностью: $a \otimes (\mathbb{0} \oplus \mathbb{0}) = a \otimes \mathbb{0} \oplus a \otimes \mathbb{0}$. В итоге: $a \otimes \mathbb{0} = a \otimes \mathbb{0} \oplus a \otimes \mathbb{0}$
326+
\item Так как у нас есть группа по сложению, то для любого $a$ существует обратный элемент $a^{-1}, a \oplus a^{-1} = \mathbb{0}$. Прибавим $a^{-1} \otimes \mathbb{0}$ к левой и правой части равенства\footnote{Обычно данное действие воспринимается как очевидное, но, строго говоря, оно требует аккуратного введения структур с равенством и соответствующих аксиом.}, полученного на предыдущем шаге:
327+
$$a \otimes \mathbb{0} \oplus a^{-1} \otimes \mathbb{0} = a \otimes \mathbb{0} \oplus a \otimes \mathbb{0} \oplus a^{-1} \otimes \mathbb{0}.$$
328+
\item Воспользуемся дистрибутивностью и ассоциативностью.
329+
\begin{align*}
330+
(a \oplus a^{-1}) \otimes \mathbb{0} & = a \otimes \mathbb{0} \oplus (a \oplus a^{-1}) \otimes \mathbb{0} \\
331+
\mathbb{0} \otimes \mathbb{0} & = a \otimes \mathbb{0} \oplus \mathbb{0} \otimes \mathbb{0} \\
332+
\mathbb{0} & = a \otimes \mathbb{0}
333+
\end{align*}
334+
\item Аналогично можно доказать, что $\mathbb{0} = \mathbb{0} \otimes a$.
335+
\end{enumerate}
298336

299337
\end{definition}
300338

@@ -353,11 +391,10 @@ \section{Матрицы и вектора}
353391
Примерами структурных операций является \textit{транспонирование}, \textit{взятие подматрицы} и \textit{взятие элемента по индексу}.
354392

355393
\begin{definition}[Транспонирование матрицы]
356-
Пусть дана матрица $M_{n\times m}$. Тогда результат её \emph{транспонирования}
357-
$
358-
M_{n\times m}^T = M'_{m\times n},
359-
$
360-
такая что $M'[i,j] = M[j,i]$ для всех $0\leq i \leq m - 1$ и $0\leq j \leq n - 1$.
394+
Пусть дана матрица $M_{n\times m}$. Тогда результат её \emph{транспонирования}, это такая матрица $M'_{m\times n}$, что $M'[i,j] = M[j,i]$ для всех $0\leq i \leq m - 1$ и $0\leq j \leq n - 1$.
395+
396+
Операцию транспонирования принято обозначать как $M^{T}$.
397+
361398
\end{definition}
362399

363400
\begin{example}
@@ -418,7 +455,7 @@ \section{Матрицы и вектора}
418455

419456
\begin{definition}[Поэлементные операции]
420457

421-
Пусть $G = (S,\circ)$ --- полугруппа, $M_{n \times m}, N_{n\times m}$ --- две матрицы одинакового размера над этой полугруппой.
458+
Пусть $G = (S,\circ)$ --- полугруппа\footnote{Здесь, как и в дальнейшем, требование к структуре быть полугруппой не обязательно. Оно лишь позволяет нам получить ассоциативность соответствующих операций над матрицами, что может оказаться полезным при дальнейшей работе.}, $M_{n \times m}, N_{n\times m}$ --- две матрицы одинакового размера над этой полугруппой.
422459
Тогда
423460
$
424461
ewise(M,N,\circ) = P_{n \times m}
@@ -640,9 +677,9 @@ \section{Теоретическая сложность умножения мат
640677
\end{algorithmic}
641678
\end{algorithm}
642679

643-
Сложность наивного произведения двух матриц составляет $O(n^3)$, что очевидным образом следует из псевдокода. Но можно ли улучшить этот алгоритм? Первый положительный ответ был опубликовал Ф. Штрассен в 1969 году~\cite{Strassen1969}. Сложность предложенного им алгоритма --- $O(n^{\log_2 7}) \approx O(n^{2.81})$. Основная идея --- рекурсивное разбиение исходных матриц на блоки и вычисление их произведения с помощью только 7 умножений, а не 8.
680+
Сложность наивного произведения двух матриц составляет $O(n^3)$ из-за тройного вложенного цикла, где каждый уровень вложенности привносит $n$ итераций. Но можно ли улучшить этот алгоритм? Первый положительный ответ был опубликовал Ф. Штрассен в 1969 году~\cite{Strassen1969}. Сложность предложенного им алгоритма --- $O(n^{\log_2 7}) \approx O(n^{2.81})$. Основная идея --- рекурсивное разбиение исходных матриц на блоки и вычисление их произведения с помощью только 7 умножений, а не 8.
644681

645-
Рассмотрим алгоритм Штрассена более подробно. Пусть $A$ и $B$ --- две квадратные матрицы размера $2^n \times 2^n$\footnote{Если размер умножаемых матриц не является натуральной степенью двойки, мы дополняем исходные матрицы дополнительными нулевыми строками и столбцами.} над кольцом $R=(S,\oplus,\otimes)$. Наша задача найти матрицу $C = A \cdot B$.
682+
Рассмотрим алгоритм Штрассена более подробно. Пусть $A$ и $B$ --- две квадратные матрицы размера $2^n \times 2^n$ над кольцом $R=(S,\oplus,\otimes)$. Если размер умножаемых матриц не является натуральной степенью двойки, то дополняем исходные матрицы дополнительными нулевыми строками и столбцами. Наша задача найти матрицу $C = A \cdot B$.
646683

647684
Разделим матрицы $A, B$ и $C$ на четыре равные по размеру блока.
648685
$$
@@ -663,7 +700,7 @@ \section{Теоретическая сложность умножения мат
663700
\end{pmatrix}
664701
$$
665702

666-
На основе определения произведения матриц легко убедиться, что выполняются следующие равенства.
703+
По определению произведения матриц выполняются следующие равенства.
667704
\begin {align*}
668705
C_{1,1}&= A_{1,1} \cdot B_{1,1} + A_{1,2} \cdot B_{2,1} \\
669706
C_{1,2}&= A_{1,1} \cdot B_{1,2} + A_{1,2} \cdot B_{2,2} \\

0 commit comments

Comments
 (0)