#абстрактная алгебра #cs #zero knowledge

В главе про isomorphisms мы рассматривали отображения, которые показывают, что две группы имеют одну и ту же структуру.

Isomorphism должен:

  • сохранять group operation;
  • быть one-to-one;
  • быть onto.

Но часто нам нужно отображение, которое сохраняет операцию, даже если часть информации при этом теряется.

Такое отображение называется group homomorphism / гомоморфизмом групп.

Главная идея

Homomorphism переводит элементы одной группы в другую так, чтобы выполнение операции до и после mapping давало одинаковый результат.

Если:

φ : G -> H

— homomorphism, то:

φ(ab) = φ(a)φ(b)

для любых:

a, b ∈ G

Слева мы:

  1. сначала выполняем операцию в G;
  2. затем применяем φ.

Справа мы:

  1. сначала применяем φ к обоим элементам;
  2. затем выполняем операцию в H.

Результат должен совпасть.

В additive notation

Если обе группы записаны аддитивно, условие принимает вид:

φ(a + b) = φ(a) + φ(b)

Например:

φ : Z -> Z_n
φ(m) = m mod n

Тогда:

φ(a + b) = (a + b) mod n

и:

φ(a) + φ(b)
=
(a mod n) + (b mod n)

После reduction modulo n результаты совпадают.

Homomorphism и isomorphism — не одно и то же

Каждый isomorphism является homomorphism. Но не каждый homomorphism является isomorphism.

Homomorphism обязан сохранять операцию, однако он может:

  • отправлять разные элементы в один и тот же результат;
  • не попадать во все элементы codomain;
  • уменьшать порядки элементов;
  • сжимать большую группу в меньшую.

То есть homomorphism может терять информацию.

Пример: integers переходят в Z_n

Рассмотрим mapping:

φ : Z -> Z_n
φ(m) = m mod n

Например, при:

n = 5

получаем:

φ(2) = 2
φ(7) = 2
φ(12) = 2
φ(-3) = 2

Разные целые числа переходят в один элемент Z5. Значит mapping не one-to-one.

Но операция сохраняется:

φ(a + b) = φ(a) + φ(b)

Например:

a = 7
b = 9

Сначала складываем в Z:

7 + 9 = 16

Применяем mapping:

φ(16) = 1

Теперь другим путём:

φ(7) = 2
φ(9) = 4

Складываем modulo 5:

2 + 4 = 6 ≡ 1 (mod 5)

Получили тот же результат:

φ(7 + 9) = φ(7) + φ(9)

Следовательно, это homomorphism.

Kernel: какие элементы превращаются в identity

Одна из главных вещей, связанных с homomorphism, — его kernel / ядро.

Пусть:

φ : G -> H

Тогда kernel определяется как:

Ker φ = {g ∈ G | φ(g) = e_H}

Здесь e_H — identity element целевой группы H.

Kernel содержит все элементы исходной группы, которые mapping превращает в identity.

Интуитивный смысл kernel

Kernel показывает:

какую часть исходной группы homomorphism перестаёт различать.

Все элементы kernel становятся identity в целевой группе.

Если kernel содержит только identity:

Ker φ = {e_G}

то mapping ничего лишнего не склеивает и является one-to-one. Если kernel содержит несколько элементов, mapping теряет информацию.

Kernel mapping Z -> Z_n

Вернёмся к:

φ : Z -> Z_n
φ(m) = m mod n

Identity в additive group Z_n — это `0.

Поэтому kernel состоит из всех целых чисел, которые переходят в 0 modulo n:

Ker φ = {..., -2n, -n, 0, n, 2n, ...}

То есть:

Ker φ = nZ

Например, при n = 5:

Ker φ = 5Z
Ker φ = {..., -10, -5, 0, 5, 10, ...}

Именно числа, отличающиеся на элемент kernel, переходят в одинаковый результат:

2
7
12
-3

Все они отличаются друг от друга на числа, кратные 5.

Image: что осталось после mapping

Кроме kernel, важно понятие image / образа.

Image homomorphism:

φ(G)

— это множество всех элементов целевой группы, в которые mapping действительно попадает:

φ(G) = {φ(g) | g ∈ G}

Codomain может быть больше image.

Например:

φ : R* -> R*
φ(x) = x^2

Здесь R* — nonzero real numbers под умножением.

Любой результат положительный, поэтому:

φ(R*) = R_positive

Mapping не попадает в отрицательные числа.

Следовательно, он не onto как mapping:

R* -> R*

Пример: φ(x) = x² под умножением

Рассмотрим multiplicative group:

R* = R \ {0}

То есть R* состоит из всех ненулевых real numbers, а групповой операцией является multiplication. \ {0} — значит “без нуля”.

Определим mapping:

φ : R* -> R*

по правилу:

φ(x) = x²

Mapping действительно переводит элементы R* обратно в R*: если x != 0, то:

x² != 0

Проверяем сохранение операции

Чтобы φ была homomorphism, должно выполняться:

φ(ab) = φ(a)φ(b)

для любых:

a, b ∈ R*

Считаем левую сторону:

φ(ab) = (ab)²

Так как multiplication real numbers коммутативно:

(ab)² = abab = aabb = a²b²

А:

a² = φ(a)
b² = φ(b)

Следовательно:

φ(ab) = a²b² = φ(a)φ(b)

Значит:

φ(x) = x²

является group homomorphism из (R*, ·) в (R*, ·).

Kernel

Kernel состоит из элементов исходной группы, которые переходят в identity целевой группы.

Identity в multiplicative group — это 1. Поэтому ищем все x ∈ R*, для которых:

φ(x) = 1

То есть:

x² = 1

У этого уравнения два решения:

x = 1
x = -1

Следовательно:

Ker φ = {1, -1}

Что означает этот kernel

Mapping не различает числа, отличающиеся только знаком:

φ(x) = x²

и:

φ(-x) = (-x)² = x²

Поэтому:

φ(x) = φ(-x)

Например:

φ(3) = 9
φ(-3) = 9
φ(5) = 25
φ(-5) = 25

Именно элементы kernel:

{1, -1}

объясняют это склеивание: x и -x отличаются умножением на -1, а -1 лежит в kernel.

Image

Квадрат любого ненулевого real number положителен, поэтому:

φ(R*) = R_positive

Mapping не попадает в отрицательные числа.

Следовательно, как mapping:

φ : R* -> R*

он не является onto.

Он также не является one-to-one, потому что:

φ(x) = φ(-x)

Но он является 2-to-1 mapping на свой image:

R_positive

Каждое положительное число y имеет два preimages:

sqrt(y)

и:

-sqrt(y)

Non-example: φ(x) = x² под сложением

Теперь рассмотрим ту же формулу, но другую group operation:

φ : (R, +) -> (R, +)
φ(x) = x^2

Для homomorphism должно выполняться:

φ(a + b) = φ(a) + φ(b)

Но:

φ(a + b) = (a + b)^2
φ(a) + φ(b) = a^2 + b^2

generally:

(a + b)^2 != a^2 + b^2

Например:

a = 2
b = 3

Тогда:

φ(2 + 3) = φ(5) = 25

Но:

φ(2) + φ(3) = 4 + 9 = 13

Поэтому:

25 != 13

Следовательно, mapping не является homomorphism группы (R, +).

Одна и та же функция может быть homomorphism для одной group operation и не быть homomorphism для другой.

Пример: absolute value

Рассмотрим nonzero real numbers под умножением R* и mapping:

φ(x) = |x|

Проверяем операцию:

φ(xy) = |xy|

Но:

|xy| = |x||y|

Следовательно:

φ(xy) = φ(x)φ(y)

Значит absolute value — homomorphism.

Kernel:

Ker φ = {x ∈ R* | |x| = 1}

Поэтому:

Ker φ = {1, -1}

Mapping “забывает” знак числа:

2 и -2 -> 2
5 и -5 -> 5

Homomorphism обязан быть well-defined

Когда элементы исходной группы могут иметь несколько записей, нужно проверить, что mapping не зависит от выбранной записи. Это называется well-defined / корректно определённое отображение.

Рассмотрим quotient group:

Z / 3Z

В ней:

0 + 3Z = 3 + 3Z

потому что 0 и 3 лежат в одном coset.

Допустим, мы пытаемся определить:

φ(x + 3Z) = 3x mod 6

Проверим два representatives одного coset.

Для x = 0:

φ(0 + 3Z) = 3 · 0 = 0 mod 6

Для x = 3:

φ(3 + 3Z) = 3 · 3 = 9 ≡ 3 (mod 6)

Но:

0 + 3Z = 3 + 3Z

а результаты разные:

0 != 3 in Z6

Значит это вообще не функция на cosets. Она не well-defined.

Главная проверка:

разные representatives одного элемента должны давать одинаковый результат.

Основные свойства homomorphisms

Пусть:

φ : G -> H

— group homomorphism.

Тогда автоматически выполняется несколько важных свойств.

1. Identity переходит в identity

φ(e_G) = e_H

Почему?

φ(e_G)
=
φ(e_Ge_G)
=
φ(e_G)φ(e_G)

Сокращаем один множитель:

φ(e_G) = e_H

2. Степени сохраняются

Для любого integer n:

φ(g^n) = φ(g)^n

Например:

φ(g^3)
=
φ(ggg)
=
φ(g)φ(g)φ(g)
=
φ(g)^3

В additive notation:

φ(ng) = nφ(g)

3. Порядок образа делит порядок исходного элемента

Если:

|g| = n

то:

|φ(g)| divides n

Потому что:

g^n = e_G

Применяем φ:

φ(g^n) = φ(e_G)

Следовательно:

φ(g)^n = e_H

Значит порядок φ(g) делит n.

Homomorphism может уменьшить порядок элемента, но не может сделать его больше.

Пример

Пусть элемент g имеет порядок 6. Тогда порядок φ(g) может быть:

1, 2, 3 или 6

Но не может быть:

4, 5, 7, ...

4. Kernel является подгруппой

Ker φ ≤ G

Действительно, если:

a, b ∈ Ker φ

то:

φ(a) = e_H
φ(b) = e_H

Следовательно:

φ(ab^-1)
=
φ(a)φ(b)^-1
=
e_He_H^-1
=
e_H

Поэтому:

ab^-1 ∈ Ker φ

5. Kernel всегда normal

Более того:

Ker φ ◁ G

Возьмём:

k ∈ Ker φ
x ∈ G

Тогда:

φ(xkx^-1)
=
φ(x)φ(k)φ(x)^-1

Но:

φ(k) = e_H

поэтому:

φ(xkx^-1)
=
φ(x)e_Hφ(x)^-1
=
e_H

Следовательно:

xkx^-1 ∈ Ker φ

Значит kernel normal.

Это один из главных источников normal subgroups:

kernels of homomorphisms are always normal.

Когда два элемента имеют одинаковый image

Для homomorphism:

φ(a) = φ(b)

тогда и только тогда, когда:

aKer φ = bKer φ

То есть два элемента переходят в одинаковый результат ровно тогда, когда лежат в одном coset kernel.

Почему

Начнём с:

φ(a) = φ(b)

Тогда:

φ(a)^-1φ(b) = e_H

Следовательно:

φ(a^-1b) = e_H

Значит:

a^-1b ∈ Ker φ

А это означает:

aKer φ = bKer φ

Preimage одного элемента — coset kernel

Пусть:

φ(g) = y

Тогда все элементы, которые также переходят в y, образуют coset:

gKer φ

То есть:

φ^-1(y) = gKer φ

Здесь:

φ^-1(y)

не означает применение inverse function. Это preimage / обратный образ:

φ^-1(y) = {x ∈ G | φ(x) = y}

Если homomorphism не one-to-one, inverse function может вообще не существовать, но preimage существует.

Размер kernel и количество склеенных элементов

Если kernel finite и:

|Ker φ| = n

то каждый элемент image имеет ровно n preimages. То есть mapping является:

n-to-1

на свой image.

Причина проста: каждый preimage является coset kernel, а каждый coset содержит столько же элементов, сколько kernel.

Главный числовой пример: φ(x) = 3x в Z12

Рассмотрим:

φ : Z12 -> Z12
φ(x) = 3x mod 12

Проверяем homomorphism

Операция в Z12 — addition modulo 12.

φ(a + b)
=
3(a + b)
=
3a + 3b

Следовательно:

φ(a + b) = φ(a) + φ(b)

Mapping является homomorphism.

Считаем значения

φ(0)  = 0
φ(1)  = 3
φ(2)  = 6
φ(3)  = 9
φ(4)  = 0
φ(5)  = 3
φ(6)  = 6
φ(7)  = 9
φ(8)  = 0
φ(9)  = 3
φ(10) = 6
φ(11) = 9

Image:

φ(Z12) = {0, 3, 6, 9}

Kernel

Ищем элементы, переходящие в additive identity 0:

3x ≡ 0 (mod 12)

Решения:

x = 0, 4, 8

Поэтому:

Ker φ = {0, 4, 8}

Kernel содержит 3 элемента. Следовательно, каждый элемент image имеет ровно 3 preimages.

Cosets kernel

K = Ker φ = {0, 4, 8}

Distinct cosets:

0 + K = {0, 4, 8}
1 + K = {1, 5, 9}
2 + K = {2, 6, 10}
3 + K = {3, 7, 11}

Все элементы одного coset имеют одинаковый image:

{0, 4, 8}   -> 0
{1, 5, 9}   -> 3
{2, 6, 10}  -> 6
{3, 7, 11}  -> 9

Например:

φ^-1(6) = {2, 6, 10}

И действительно:

φ^-1(6) = 2 + Ker φ

Что здесь делает kernel

Mapping склеивает Z12 в четыре блока:

12 элементов
4 cosets по 3 элемента
4 элемента image

Kernel — это блок, который переходит в identity. Остальные preimages являются его сдвигами.

Image подгруппы является подгруппой

Если:

S ≤ G

то:

φ(S)

является подгруппой H.

Здесь:

φ(S) = {φ(s) | s ∈ S}

Например, в предыдущем mapping возьмём:

S = <2> = {0, 2, 4, 6, 8, 10}

Тогда:

φ(S) = {0, 6}

Это подгруппа Z12.

Cyclic structure сохраняется в image

Если S cyclic:

S = <a>

то:

φ(S) = <φ(a)>

То есть image cyclic group также cyclic. Почему?

Каждый элемент S имеет вид:

a^k

Поэтому его image:

φ(a^k) = φ(a)^k

Следовательно, весь image порождается одним элементом φ(a).

Abelian structure сохраняется в image

Если S Abelian, то φ(S) тоже Abelian. Пусть:

x = φ(a)
y = φ(b)

где:

a, b ∈ S

Так как S Abelian:

ab = ba

Следовательно:

xy
=
φ(a)φ(b)
=
φ(ab)
=
φ(ba)
=
φ(b)φ(a)
=
yx

Normal subgroup переходит в normal subgroup image

Если:

N ◁ G

то:

φ(N) ◁ φ(G)

Важно:

φ(N)

гарантированно normal именно в φ(G), а не обязательно во всём codomain H, если mapping не onto.

Preimage подгруппы

Если:

L ≤ H

то preimage:

φ^-1(L)
=
{g ∈ G | φ(g) ∈ L}

является подгруппой G.

Если L normal in H, то:

φ^-1(L) ◁ G

Kernel является частным случаем:

Ker φ = φ^-1({e_H})

А trivial subgroup:

{e_H}

всегда normal.

Поэтому kernel всегда normal.

Когда homomorphism становится isomorphism

Homomorphism one-to-one тогда и только тогда, когда:

Ker φ = {e_G}

Почему?

Если два элемента имеют одинаковый image:

φ(a) = φ(b)

то:

aKer φ = bKer φ

Если kernel состоит только из identity, получаем:

a = b

Следовательно, mapping injective.

Если homomorphism одновременно:

  • onto;
  • имеет trivial kernel;

то он является isomorphism.

Homomorphisms из cyclic groups

Homomorphism из cyclic group полностью определяется тем, куда переходит generator.

Пусть:

G = <a>

и мы выбрали:

φ(a) = b

Тогда для любого элемента:

a^k ∈ G

обязательно:

φ(a^k) = b^k

Других вариантов нет. Но b нельзя выбирать совсем произвольно: он должен удовлетворять relations исходной группы.

Пример: homomorphisms из Z12 в Z30

Рассмотрим additive groups:

φ : Z12 -> Z30

Группа Z12 порождается элементом 1.

Поэтому homomorphism полностью определяется значением:

φ(1) = a

Тогда:

φ(x) = xa mod 30

Но в Z12:

12 · 1 = 0

Homomorphism обязан сохранить это relation:

φ(12 · 1) = φ(0)

Значит:

12φ(1) = 0 in Z30

То есть:

12a ≡ 0 (mod 30)

Решения:

a = 0, 5, 10, 15, 20, 25

Следовательно, существует шесть homomorphisms:

φ_0(x)  = 0
φ_5(x)  = 5x mod 30
φ_10(x) = 10x mod 30
φ_15(x) = 15x mod 30
φ_20(x) = 20x mod 30
φ_25(x) = 25x mod 30

Количество получилось равным:

gcd(12, 30) = 6

В общем случае число homomorphisms:

Z_n -> Z_m

равно:

gcd(n, m)

Зачем это нужно

Homomorphisms позволяют изучать сложную группу через более простую.

Они показывают:

  • какая часть структуры сохраняется;
  • какая часть склеивается;
  • что именно теряется;
  • какие normal subgroups возникают;
  • как исходная группа связана со своим image;
  • почему quotient groups появляются естественным образом.

Kernel описывает потерянную информацию. Image описывает сохранившуюся информацию. А cosets kernel показывают, какие элементы mapping перестал различать.

Связь с factor groups

В примере:

φ : Z12 -> Z12
φ(x) = 3x mod 12

мы получили:

Ker φ = {0, 4, 8}

и:

φ(Z12) = {0, 3, 6, 9}

Cosets kernel:

{0,4,8}
{1,5,9}
{2,6,10}
{3,7,11}

соответствуют четырём элементам image.

Поэтому возникает связь:

Z12 / Ker φ ≅ φ(Z12)

Это не случайность. Дальше она будет сформулирована как First Isomorphism Theorem:

G / Ker φ ≅ φ(G)

То есть quotient group по kernel всегда изоморфна image homomorphism.

First Isomorphism Theorem

Мы уже увидели две вещи. Во-первых, homomorphism:

φ : G -> H

может отправлять несколько разных элементов G в один и тот же элемент H.

Во-вторых, элементы, имеющие одинаковый image, лежат в одном coset kernel:

φ(a) = φ(b)

тогда и только тогда, когда:

a Ker φ = b Ker φ

Это означает, что homomorphism склеивает элементы G не случайным образом.

Он склеивает вместе ровно элементы одного coset:

g Ker φ

После такого склеивания получается quotient group:

G / Ker φ

А First Isomorphism Theorem утверждает, что эта quotient group имеет ту же структуру, что и image homomorphism.

Формулировка теоремы

Пусть:

φ : G -> H

— group homomorphism.

Тогда:

G / Ker φ ≅ φ(G)

Здесь:

Ker φ

— элементы G, переходящие в identity, а:

φ(G)

— image, то есть часть H, в которую mapping действительно попадает.

Isomorphism задаётся правилом:

g Ker φ -> φ(g)

То есть каждому coset kernel мы сопоставляем общий image всех его элементов.

Что теорема говорит человеческим языком

Homomorphism делает с группой G две вещи:

  1. склеивает элементы, которые отличаются на элемент kernel;
  2. оставляет в результате только image.

First Isomorphism Theorem говорит:

если сначала самостоятельно склеить элементы G по cosets kernel, то получится группа, изоморфная image homomorphism.

Схематично:

G
│ склеиваем каждый coset Ker φ
G / Ker φ
│ isomorphism
φ(G)

Или ещё короче:

исходная группа / потерянная информация
=
сохранившаяся информация

Пример: φ(x) = 3x в Z12

Рассмотрим homomorphism:

φ : Z12 -> Z12

заданный правилом:

φ(x) = 3x mod 12

Мы уже вычисляли его значения:

φ(0)  = 0
φ(1)  = 3
φ(2)  = 6
φ(3)  = 9
φ(4)  = 0
φ(5)  = 3
φ(6)  = 6
φ(7)  = 9
φ(8)  = 0
φ(9)  = 3
φ(10) = 6
φ(11) = 9

Image:

φ(Z12) = {0, 3, 6, 9}

Kernel:

Ker φ = {0, 4, 8}

Обозначим:

K = Ker φ

Cosets kernel

Distinct cosets подгруппы K:

0 + K = {0, 4, 8}
1 + K = {1, 5, 9}
2 + K = {2, 6, 10}
3 + K = {3, 7, 11}

Именно эти четыре cosets являются элементами quotient group:

Z12 / K

Все элементы одного coset имеют одинаковый image

Для первого coset:

φ(0) = φ(4) = φ(8) = 0

Для второго:

φ(1) = φ(5) = φ(9) = 3

Для третьего:

φ(2) = φ(6) = φ(10) = 6

Для четвёртого:

φ(3) = φ(7) = φ(11) = 9

Поэтому можно определить mapping:

Ψ : Z12 / K -> φ(Z12)

так:

Ψ(0 + K) = 0
Ψ(1 + K) = 3
Ψ(2 + K) = 6
Ψ(3 + K) = 9

Или общей формулой:

Ψ(x + K) = φ(x)

Получаем соответствие:

{0, 4, 8}   -> 0
{1, 5, 9}   -> 3
{2, 6, 10}  -> 6
{3, 7, 11}  -> 9

Почему mapping между quotient group и image корректен

Один coset можно записать через разных representatives.

Например:

1 + K = 5 + K = 9 + K

Поэтому нужно убедиться, что формула:

Ψ(x + K) = φ(x)

не зависит от выбранного representative.

В нашем примере:

φ(1) = φ(5) = φ(9) = 3

Поэтому независимо от того, напишем мы:

1 + K
5 + K

или:

9 + K

результат будет один 3.

Это верно в общем случае, потому что:

a Ker φ = b Ker φ

означает:

a^-1b ∈ Ker φ

Следовательно:

φ(a^-1b) = e

Но:

φ(a^-1b) = φ(a)^-1φ(b)

Значит:

φ(a)^-1φ(b) = e

и поэтому:

φ(a) = φ(b)

Проверяем свойства isomorphism

Чтобы mapping:

Ψ(g Ker φ) = φ(g)

был isomorphism, нужно проверить четыре вещи.

1. Mapping well-defined

Если два representatives задают один coset:

a Ker φ = b Ker φ

то:

φ(a) = φ(b)

Поэтому один элемент quotient group не может получить два разных image.

2. Mapping onto

Codomain mapping Ψ — это:

φ(G)

То есть множество всех значений вида:

φ(g)

Поэтому каждый элемент image автоматически является образом некоторого coset:

g Ker φ

Следовательно, Ψ onto.

3. Mapping one-to-one

Допустим:

Ψ(a Ker φ) = Ψ(b Ker φ)

Тогда:

φ(a) = φ(b)

А мы уже знаем, что это означает:

a Ker φ = b Ker φ

Следовательно, разные cosets не переходят в один элемент.

Mapping one-to-one.

4. Операция сохраняется

В quotient group:

(a Ker φ)(b Ker φ) = ab Ker φ

Применяем Ψ:

Ψ(ab Ker φ) = φ(ab)

Так как φ — homomorphism:

φ(ab) = φ(a)φ(b)

А это:

Ψ(a Ker φ)Ψ(b Ker φ)

Поэтому:

Ψ((a Ker φ)(b Ker φ))
=
Ψ(a Ker φ)Ψ(b Ker φ)

Операция сохраняется.

Следовательно:

G / Ker φ ≅ φ(G)

Операция в числовом примере

Вернёмся к:

φ(x) = 3x mod 12

Возьмём в quotient group:

(2 + K) + (3 + K)

Складываем representatives:

2 + 3 = 5

Поэтому:

(2 + K) + (3 + K) = 5 + K

Но:

5 + K = 1 + K

Следовательно:

(2 + K) + (3 + K) = 1 + K

Теперь посмотрим на соответствующие элементы image:

Ψ(2 + K) = 6
Ψ(3 + K) = 9

Складываем modulo 12:

6 + 9 = 15 ≡ 3 (mod 12)

А:

Ψ(1 + K) = 3

Получили одинаковый результат.

Именно это означает, что mapping сохраняет операцию.

Почему quotient group и image имеют одинаковый размер

Для finite group:

|G / Ker φ|
=
|G| / |Ker φ|

Но по First Isomorphism Theorem:

G / Ker φ ≅ φ(G)

Поэтому:

|φ(G)|
=
|G| / |Ker φ|

Или:

|G|
=
|Ker φ| · |φ(G)|

Эта формула очень полезна.

Она говорит, что размер исходной группы состоит из:

размер одного склеиваемого блока
×
количество получившихся результатов

То есть:

|Ker φ|

— количество элементов в каждом preimage, а:

|φ(G)|

— количество разных значений mapping.

В примере с Z12

|Z12| = 12
|Ker φ| = 3
|φ(Z12)| = 4

И действительно:

12 = 3 · 4

Mapping является 3-to-1 на свой image:

{0,4,8}   -> 0
{1,5,9}   -> 3
{2,6,10}  -> 6
{3,7,11}  -> 9

Следствие для порядков групп

Если G finite, то:

|φ(G)| divides |G|

потому что:

|G| = |Ker φ| · |φ(G)|

Кроме того, если codomain H тоже finite, то:

|φ(G)| divides |H|

потому что image:

φ(G)

является подгруппой H, а порядок подгруппы делит порядок группы по Lagrange’s Theorem.

Пример: Z / nZ ≅ Z_n

Рассмотрим homomorphism:

φ : Z -> Z_n
φ(x) = x mod n

Image — вся группа Z_n, потому что любой остаток:

0, 1, ..., n - 1

является образом соответствующего целого числа.

Поэтому:

φ(Z) = Z_n

Kernel состоит из всех чисел, делящихся на n:

Ker φ = nZ

По First Isomorphism Theorem:

Z / Ker φ ≅ φ(Z)

Подставляем kernel и image:

Z / nZ ≅ Z_n

То есть знакомая modular arithmetic является прямым примером First Isomorphism Theorem.

Natural mapping

Для любой normal subgroup:

N ◁ G

существует естественный homomorphism:

π : G -> G / N

заданный правилом:

π(g) = gN

Он называется:

natural mapping

или:

canonical projection

Mapping просто отправляет каждый элемент G в coset, которому он принадлежит.

Проверяем сохранение операции

π(ab) = abN

А:

π(a)π(b)
=
(aN)(bN)
=
abN

Следовательно:

π(ab) = π(a)π(b)

Значит π — homomorphism.

Kernel natural mapping

Ищем элементы, которые переходят в identity quotient group.

Identity в:

G / N

— это coset:

N

Поэтому:

Ker π
=
{g ∈ G | gN = N}

Но:

gN = N

тогда и только тогда, когда:

g ∈ N

Следовательно:

Ker π = N

Каждая normal subgroup является kernel

Ранее мы доказали:

kernel любого homomorphism является normal subgroup.

Теперь получили обратное утверждение:

каждая normal subgroup является kernel некоторого homomorphism.

Пусть:

N ◁ G

Тогда natural mapping:

π : G -> G / N
π(g) = gN

имеет kernel:

Ker π = N

Следовательно:

normal subgroups
=
possible kernels of homomorphisms

Это объясняет, почему normal subgroups настолько важны. Они не просто подгруппы, у которых совпадают left и right cosets. Они описывают именно ту часть группы, которую некоторый homomorphism может превратить в identity.

Замкнувшийся круг

Теперь все понятия связываются вместе.

Homomorphism

φ : G -> H

сохраняет group operation.

Kernel

Ker φ

показывает, какие элементы склеиваются с identity.

Cosets kernel

g Ker φ

— наборы элементов, имеющих одинаковый image.

Quotient group

G / Ker φ

получается после склеивания каждого такого набора в один элемент.

Image

φ(G)

— структура, которая остаётся после mapping.

First Isomorphism Theorem

G / Ker φ ≅ φ(G)

То есть quotient group по потерянной части изоморфна сохранившейся части.

Homomorphism раскладывается на два шага

Mapping:

φ : G -> φ(G)

можно понимать как композицию двух mappings.

Сначала natural projection:

π : G -> G / Ker φ
π(g) = g Ker φ

Она склеивает элементы одного coset.

Затем isomorphism:

Ψ : G / Ker φ -> φ(G)
Ψ(g Ker φ) = φ(g)

Он просто переименовывает получившиеся cosets в элементы image.

Поэтому:

φ = Ψ ∘ π

Схематично:

          φ
G -----------------> φ(G)
 \                   ▲
  \ π                │ Ψ
   ▼                 │
    G / Ker φ --------

Какой бы маршрут мы ни выбрали, результат один:

Ψ(π(g)) = φ(g)

Такая схема называется commutative diagram / коммутативной диаграммой.

Почему это полезно

First Isomorphism Theorem позволяет не изучать homomorphism как непонятный набор стрелок между элементами.

Вместо этого можно:

  1. найти kernel;
  2. построить quotient group;
  3. сразу понять структуру image.

Например, если:

|G| = 60

и:

|Ker φ| = 12

то:

|φ(G)| = 60 / 12 = 5

Следовательно, image имеет порядок 5. А любая группа prime order cyclic, поэтому:

φ(G) ≅ Z5

Мы узнали структуру image, практически не вычисляя сами значения mapping.

Важное различие: image и homomorphism

First Isomorphism Theorem описывает возможную структуру image. Но разные homomorphisms могут иметь один и тот же image.

Например, mappings:

φ1 : Z -> Z5
φ1(x) = x mod 5

и:

φ2 : Z -> Z5
φ2(x) = 2x mod 5

различны.

Например:

φ1(1) = 1

а:

φ2(1) = 2

Но обе имеют image:

Z5

Поэтому количество homomorphisms и количество различных homomorphic images — не одно и то же.

Главная идея

Homomorphism склеивает элементы одного coset kernel. После этого склеивания quotient group имеет ровно ту же структуру, что и image homomorphism.