Skip to content

Commit ae08fd8

Browse files
committed
Раздел по алгебре практически готов.
1 parent f778120 commit ae08fd8

File tree

2 files changed

+349
-26
lines changed

2 files changed

+349
-26
lines changed

tex/LinearAlgebra.tex

Lines changed: 341 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ \section{Полукольцо}
185185

186186
\begin{definition}[Полукольцо]
187187

188-
Непустое множество $R$ с двумя бинарными операциями $\oplus\colon R \times R \to R$ (часто называют умноженеим) и $\otimes \colon R \times R \to R$ (часто назывют сложением) называется полукольцом, если выполнены следующие условия.
188+
Непустое множество $R$ с двумя бинарными операциями $\oplus\colon R \times R \to R$ (часто называют умножением) и $\otimes \colon R \times R \to R$ (часто назывют сложением) называется полукольцом, если выполнены следующие условия.
189189
\begin{enumerate}
190190

191191
\item $(R, \oplus)$ --- это коммутативный моноид, нейтральный элемент которого --- $\mathbb{0}$. Для любых $a,b,c \in R$:
@@ -213,9 +213,12 @@ \section{Полукольцо}
213213

214214
\end{enumerate}
215215

216+
Если операция $\otimes$ коммутативна, то гоаорят о коммутативном полукольце.
217+
Если операция $\oplus$ идемпотентна, то гоаорят об идемпотентном полукольце.
218+
216219
\end{definition}
217220

218-
\begin{example}
221+
\begin{example}\label{exmpl:semiring}
219222
Рассмотрим пример полукольца, а заодно покажем, что левая и правая дистрибутивность могут существовать независимо для некоммутативного умножения\footnote{Хороший пример того, почему левую и правую дистрибутивнойть в случае некоммутативного умножения нужно проверять независимо (правда, для колец), приведён Николаем Александровичем Вавмловым в книге ``Конкретная теория колец'' на странице 6~\cite{VavilovRings}.}.
220223

221224
В качестве $R$ возьмём множество множеств строк конечной длины над некоторым алфавитом $\Sigma$. В качестве сложения возьмём теоретико-множественное объединение: $\oplus \equiv \cup$. Нейтральный элемент по сложению --- это пустое множество ($\varnothing$).
@@ -258,30 +261,350 @@ \section{Полукольцо}
258261
\section{Кольцо}
259262

260263

261-
A ring is a set R equipped with two binary operations[a] + (addition) and $\otimes$ (multiplication) satisfying the following three sets of axioms, called the ring axioms[1][2][3]
264+
\begin{definition}[Кольцо]
262265

263-
R is an abelian group under addition, meaning that:
264-
(a + b) + c = a + (b + c) for all a, b, c in R (that is, + is associative).
265-
a + b = b + a for all a, b in R (that is, + is commutative).
266-
There is an element 0 in R such that a + 0 = a for all a in R (that is, 0 is the additive identity).
267-
For each a in R there exists $-a$ in R such that $a + (-a) = 0$ (that is, $-a$ is the additive inverse of a).
268-
R is a monoid under multiplication, meaning that:
269-
(a $\otimes$ b) $\otimes$ c = a $\otimes$ (b $\otimes$ c) for all a, b, c in R (that is, $\otimes$ is associative).
270-
There is an element 1 in R such that a $\otimes$ 1 = a and 1 $\otimes$ a = a for all a in R (that is, 1 is the multiplicative identity).[b]
271-
Multiplication is distributive with respect to addition, meaning that:
272-
a $\otimes$ (b + c) = (a $\otimes$ b) + (a $\otimes$ c) for all a, b, c in R (left distributivity).
273-
(b + c) $\otimes$ a = (b $\otimes$ a) + (c $\otimes$ a) for all a, b, c in R (right distributivity).
266+
Непустое множество $R$ с двумя бинарными операциями $\oplus\colon R \times R \to R$ (умножение) и $\otimes \colon R \times R \to R$ (сложение) называется кольцом, если выполнены следующие условия.
267+
\begin{enumerate}
274268

269+
\item $(R, \oplus)$ --- это Абелева группа, нейтральный элемент которой --- $\mathbb{0}$. Для любых $a,b,c \in R$:
270+
\begin{itemize}
271+
\item $(a \oplus b) \oplus c = a \oplus (b \oplus c)$
272+
\item $\mathbb{0} \oplus a = a \oplus \mathbb{0} = a$
273+
\item $a \oplus b = b \oplus a$
274+
\item для любого $a \in R$ существует $-a \in R$, такое что $a + (-a) = \mathbb{0}$.
275+
\end{itemize}
276+
В последнем пункте кроется отличие от полукольца.
275277

276-
\section{Поле}
278+
\item $(R, \otimes)$ --- это моноид, нейтральный элемент которого --- $\mathbb{1}$. Для любых $a,b,c \in R$:
279+
\begin{itemize}
280+
\item $(a \otimes b) \otimes c = a \otimes (b \otimes c)$
281+
\item $\mathbb{1} \otimes a = a \otimes \mathbb{1} = a$
282+
\end{itemize}
283+
284+
\item $\otimes$ дистрибутивно слева и справа относительно $\oplus$:
285+
\begin{itemize}
286+
\item $a \otimes (b \oplus c) = (a \otimes b) \oplus (a \otimes c)$
287+
\item $(a \oplus b) \otimes c = (a \otimes c) \oplus (b \otimes c)$
288+
\end{itemize}
289+
290+
\end{enumerate}
291+
292+
Заметим, что мультипликативное свойство $\mathbb{0}$ (быть аннигилятором по умножению) не указыватеся явно, так как может быть выведено из остальных утверждений.
293+
294+
\end{definition}
295+
296+
297+
%\section{Поле}
277298

278299
\section{Матрицы и вектора}
279300

280-
Вектор
301+
К определению матрицы мы подойдём структурно, так как в дальнейшем будем сопоставлять эту струткруту с объектами различной природы, а значит определение матрицы через какой-либо из этих объектов (например через квадратичные формы) будет менее удобным.
302+
303+
Договоримся, что \textit{алгебраическая структура} --- это собирательное название для объектов вида ``множество с набором операций'' (например, кольцо, моноид, группа и т.д.), а соответствующее множество будем назвать \textit{носителем} этой структуры.
304+
305+
\begin{definition}[Матрица]
306+
307+
Предположим, что у нас есть некоторая алгебраическая структура с носителем $S$. Тогда матрицей будем называть прямоугольный массив размера $n\times m, n > 0, m > 0$, заполненный элементами из $S$.
308+
309+
Говорят, что $n$ --- это высота матрицы или количество строк в ней, а $m$ --- ширина матрицы или количество столбцов.
310+
311+
\end{definition}
312+
313+
При доступе к элементам матрицы используются их индексы. При этом нумерация ведётся с левого верхнего угла, первым указывается строка, вторым --- столбец. В нашей работе мы будем использовать ``программистскую'' традицию и нумеровать строки и столбцы с нуля\footnote{В противоположность ``математической'' традиции нумеровать строки и столбцы с единицы. Стоит, правда, отметить, что в некоторых языках программирования (например, Fortran или COBOL) жива ``математическая'' традиция.}.
314+
315+
\begin{example}[Матрица]
316+
317+
Пусть есть моноид $(S,\cdot)$, где $S$ --- множества строк конечной длины над алфавитом \{a,b,c\}.
318+
Тогда можно построить, например, следующую матрицу $2\times 3$.
319+
$$
320+
M_{2\times 3} =
321+
\begin{pmatrix}
322+
``a" & ``ba" & ``cb" \\
323+
``ac" & ``bab" & ``b" \\
324+
\end{pmatrix}
325+
$$
326+
327+
$$
328+
M_{2\times 3}[1,1] = ``bab"
329+
$$
330+
331+
\end{example}
332+
333+
К определению вектора мы также подойдём структурно.
334+
335+
\begin{definition}[Вектор]
336+
337+
Вектором будем называть матрицу, хотя бы один из размеров которой равен единице. Если единице равна высота матрицы, то это \textit{вектор-строка}, если же единице равна ширина матрицы, то это \textit{вектор-столбец}.
338+
339+
\end{definition}
340+
341+
342+
Операции над матрицами можно условно разделить на две группы:
343+
\begin{itemize}
344+
\item \textit{структурные} --- не зависящие от алгебраической структуры, над которой строилась матрица, и работающие только с её структурой;
345+
\item \textit{алгебраические} --- определение таковых опирается на свойства алгебраигеской структуры, над которой построена матрица.
346+
\end{itemize}
347+
348+
Примерами структурных операций является \textit{транспонирование}, \textit{взятие подматрицы} и \textit{взятие элеиента по индексу}.
349+
350+
\begin{definition}[Транспонирование матрицы]
351+
Пусть дана матрица $M_{n\times m}$. Тогда результат её транспонирования
352+
$
353+
M_{n\times m}^T = M'_{m\times n},
354+
$
355+
такая что $M'[i,j] = M[j,i]$ для всех $0\leq i \leq m - 1$ и $0\leq j \leq n - 1$.
356+
\end{definition}
357+
358+
\begin{example}
359+
$$
360+
\begin{pmatrix}
361+
``a" & ``ba" & ``cb" \\
362+
``ac" & ``bab" & ``b" \\
363+
\end{pmatrix}^T =
364+
\begin{pmatrix}
365+
``a" & ``ac" \\
366+
``ba" & ``bab" \\
367+
``cd" & ``b" \\
368+
\end{pmatrix}
369+
$$
370+
\end{example}
371+
372+
\begin{definition}[Взятие подматрицы]
373+
Пусть дана матрица $M_{n\times m}$. Тогда
374+
$
375+
M_{n\times m}[i_0..i_1,j_0..j_1]
376+
$
377+
--- это такая $M'_{i_1 - i_0 + 1, j_1 - j_0 + 1}$ что $M'[i,j] = M[i_0 + i,j_0 + j]$ для всех $0\leq i \leq i_1 - i_0 + 1$ и $0\leq j \leq j_1 - j_0 + 1$.
378+
\end{definition}
379+
380+
381+
\begin{example}
382+
$$
383+
\begin{pmatrix}
384+
``a" & ``ba" & ``cb" \\
385+
``ac" & ``bab" & ``b" \\
386+
\end{pmatrix}[0..1,1..2] =
387+
\begin{pmatrix}
388+
``ba" & ``cb" \\
389+
``bab" & ``b" \\
390+
\end{pmatrix}
391+
$$
392+
\end{example}
393+
394+
395+
\begin{definition}[Взятие элеиента по индексу]
396+
Взятие элеиента по индексу --- это частный случай взятия подматрицы, когда начало и конец ``среза'' совпадают:
397+
$
398+
M[i,j] = M[i..i,j..j]
399+
$
400+
\end{definition}
401+
402+
\begin{example}
403+
$$
404+
\begin{pmatrix}
405+
``a" & ``ba" & ``cb" \\
406+
``ac" & ``bab" & ``b" \\
407+
\end{pmatrix}[0,1] = ``ba"
408+
$$
409+
\end{example}
410+
411+
Из алгебраических операций над матрицами нас в дальнейшем будут интересовать \textit{поэлементные операции}, \textit{скалярные операции}, \textit{матричное умножение}, \textit{произведение Кронекера}.
412+
281413

282-
Матрица
414+
\begin{definition}[Поэлементные операции]
415+
416+
Пусть $G = (S,\circ)$ --- полугруппа, $M_{n \times m}, N_{n\times m}$ --- две матрицы одинакового размера над этой полугруппой.
417+
Тогда
418+
$
419+
ewise(M,N,\circ) = P_{n \times m}
420+
$
421+
,такая, что $P[i,j] = M[i,j] \circ N[i,j]$.
422+
\end{definition}
423+
424+
425+
\begin{example}
426+
427+
Пусть $G$ --- полугруппа строк с конкатенацией $\cdot$,
428+
429+
$$
430+
M =
431+
\begin{pmatrix}
432+
``a" & ``ba" & ``cb" \\
433+
``ac" & ``bab" & ``b" \\
434+
\end{pmatrix},
435+
$$
436+
437+
$$
438+
N =
439+
\begin{pmatrix}
440+
``c" & ``aa" & ``b" \\
441+
``a" & ``bac" & ``bb" \\
442+
\end{pmatrix}.
443+
$$
444+
445+
Тогда
446+
447+
$$
448+
ewise(M,N, \cdot) =
449+
\begin{pmatrix}
450+
``ac" & ``baaa" & ``cbb" \\
451+
``aca" & ``babbac" & ``bbb" \\
452+
\end{pmatrix}.
453+
$$
454+
455+
456+
\end{example}
457+
458+
459+
\begin{definition}[Скалярная операция]
460+
Пусть $G = (S,\circ)$ --- полугруппа, $M_{n \times m}$ --- матрица над этой полугруппой, $x \in S$.
461+
Тогда
462+
$
463+
scalar(M,x,\circ) = P_{n \times m}
464+
$
465+
, такая, что $P[i,j] = M[i,j] \circ x$, а
466+
$
467+
scalar(x,M,\circ) = P_{n \times m}
468+
$
469+
, такая, что $P[i,j] = x \circ M[i,j]$.
470+
471+
\end{definition}
472+
473+
\begin{example}
474+
475+
Пусть $G$ --- полугруппа строк с конкатенацией $\cdot$, $x = ``c"$,
476+
477+
$$
478+
M =
479+
\begin{pmatrix}
480+
``a" & ``ba" & ``cb" \\
481+
``ac" & ``bab" & ``b" \\
482+
\end{pmatrix}.
483+
$$
484+
485+
Тогда
486+
$$
487+
scalar(M,x, \cdot) =
488+
\begin{pmatrix}
489+
``ac" & ``bac" & ``cbc" \\
490+
``acc" & ``babc" & ``bc" \\
491+
\end{pmatrix},
492+
$$
493+
494+
$$
495+
scalar(x, M, \cdot) =
496+
\begin{pmatrix}
497+
``ca" & ``cba" & ``ccb" \\
498+
``cac" & ``cbab" & ``cb" \\
499+
\end{pmatrix}.
500+
$$
501+
502+
\end{example}
503+
504+
505+
\begin{definition}[Матричное умножение]
506+
507+
Пусть $G = (S,\oplus, \otimes)$ --- полукольцо, $M_{n \times m}, N_{m\times k}$ --- две матрицы над этим полукольцом.
508+
Тогда
509+
$
510+
M\cdot N = P_{n \times k}
511+
$
512+
, такая, что $P[i,j] = \bigoplus_{0 \leq l < m} M[i,l] \otimes N[l,j]$.
513+
514+
\end{definition}
515+
516+
\begin{example}
517+
Пусть $G$ --- полукольцо из примера~\ref{exmpl:semiring},
518+
$$ M =
519+
\begin{pmatrix}
520+
\{``a"\} & \{``a"\}\\
521+
\{``b"\} & \{``b"\}\\
522+
\end{pmatrix},
523+
$$
524+
$$ N =
525+
\begin{pmatrix}
526+
\{``c"\} \\
527+
\{``d"\} \\
528+
\end{pmatrix}.
529+
$$
530+
531+
Тогда
532+
$$
533+
M \cdot N =
534+
\begin{pmatrix}
535+
\{``a" \cdot ``c"\} \cup \{``a" \cdot ``d"\} \\
536+
\{``b" \cdot ``c"\} \cup \{``b" \cdot ``d"\}
537+
\end{pmatrix}=
538+
\begin{pmatrix}
539+
\{``ac" \ , ``ad"\} \\
540+
\{``bc" \ , ``bd"\}
541+
\end{pmatrix}.
542+
$$
543+
544+
\end{example}
545+
546+
547+
\begin{definition}[Произведение Кронекера]
548+
Пусть $G = (S,\circ)$ --- полугруппа, $M_{m\times n}$ и $N_{p\times q}$ --- две матрицы над этой полугруппой.
549+
Тогда произведение Кронекера или тензорное произведение матриц $M$ и $N$ --- это блочная матрица $C$ размера $mp \times nq$, вычисляемая следующим образом:
550+
$$
551+
C = A \otimes B =
552+
\begin{pmatrix}
553+
scalar(M[0,0],N,\circ) & \cdots & scalar(M[0,n-1],N,\circ) \\
554+
\vdots & \ddots & \vdots \\
555+
scalar(M[m-1,0],N,\circ) & \cdots & scalar(M[m-1,n-1],N,\circ)
556+
\end{pmatrix}
557+
$$
558+
559+
\end{definition}
560+
561+
\newcommand{\examplemtrx}
562+
{
563+
\begin{pmatrix}
564+
5 & 6 & 7 & 8 \\
565+
9 & 10 & 11 & 12 \\
566+
13 & 14 & 15 & 16
567+
\end{pmatrix}
568+
}
569+
570+
\begin{example}
571+
Возьмём в качестве полугруппы целые числа с умножением.
572+
$$M=
573+
\begin{pmatrix}
574+
1 & 2 \\
575+
3 & 4
576+
\end{pmatrix}
577+
$$
578+
$$N=\examplemtrx
579+
$$
580+
Тогда
581+
\begin{align}
582+
M \otimes N & =
583+
\begin{pmatrix}
584+
1 & 2 \\
585+
3 & 4
586+
\end{pmatrix}
587+
\otimes
588+
\examplemtrx = \notag \\ &=
589+
\begin{pmatrix}
590+
1\examplemtrx & 2\examplemtrx \\
591+
3\examplemtrx & 4\examplemtrx
592+
\end{pmatrix}
593+
=\notag \\
594+
&=
595+
\left(\begin{array}{c c c c | c c c c}
596+
5 & 6 & 7 & 8 & 10 & 12 & 14 & 16 \\
597+
9 & 10 & 11 & 12 & 18 & 20 & 22 & 24 \\
598+
13 & 14 & 15 & 16 & 26 & 28 & 30 & 32 \\
599+
\hline
600+
15 & 18 & 21 & 24 & 20 & 24 & 28 & 32 \\
601+
27 & 30 & 33 & 36 & 36 & 40 & 44 & 48 \\
602+
39 & 42 & 45 & 48 & 52 & 56 & 60 & 64
603+
\end{array}\right)
604+
\end{align}
605+
\end{example}
283606

284-
Про матричное произведение, тензорное произведение, ещё что-то.
607+
%Заметим, что скаларная операция --- это частный случай произвеления Кронекера: достаточно превратить элемент носителя полугруппы в матрицу размера $1\times 1$.
285608

286609
%\section{Вопросы и задачи}
287610
%\begin{enumerate}

0 commit comments

Comments
 (0)