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
Непустое множество $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$ (часто назывют сложением) называется полукольцом, если выполнены следующие условия.
189
189
\begin{enumerate}
190
190
191
191
\item$(R, \oplus)$ --- это коммутативный моноид, нейтральный элемент которого --- $\mathbb{0}$. Для любых $a,b,c \in R$:
@@ -213,9 +213,12 @@ \section{Полукольцо}
213
213
214
214
\end{enumerate}
215
215
216
+
Если операция $\otimes$ коммутативна, то гоаорят о коммутативном полукольце.
217
+
Если операция $\oplus$ идемпотентна, то гоаорят об идемпотентном полукольце.
218
+
216
219
\end{definition}
217
220
218
-
\begin{example}
221
+
\begin{example}\label{exmpl:semiring}
219
222
Рассмотрим пример полукольца, а заодно покажем, что левая и правая дистрибутивность могут существовать независимо для некоммутативного умножения\footnote{Хороший пример того, почему левую и правую дистрибутивнойть в случае некоммутативного умножения нужно проверять независимо (правда, для колец), приведён Николаем Александровичем Вавмловым в книге ``Конкретная теория колец'' на странице 6~\cite{VavilovRings}.}.
220
223
221
224
В качестве $R$ возьмём множество множеств строк конечной длины над некоторым алфавитом $\Sigma$. В качестве сложения возьмём теоретико-множественное объединение: $\oplus\equiv\cup$. Нейтральный элемент по сложению --- это пустое множество ($\varnothing$).
@@ -258,30 +261,350 @@ \section{Полукольцо}
258
261
\section{Кольцо}
259
262
260
263
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}[Кольцо]
262
265
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}
274
268
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
+
В последнем пункте кроется отличие от полукольца.
275
277
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{Поле}
277
298
278
299
\section{Матрицы и вектора}
279
300
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\times3$.
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
+
281
413
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$.
Пусть $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$, вычисляемая следующим образом:
Возьмём в качестве полугруппы целые числа с умножением.
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}
283
606
284
-
Про матричное произведение, тензорное произведение, ещё что-то.
607
+
%Заметим, что скаларная операция --- это частный случай произвеления Кронекера: достаточно превратить элемент носителя полугруппы в матрицу размера $1\times 1$.
0 commit comments