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

В group theory мы уже видели homomorphisms / гомоморфизмы. Group homomorphism — это mapping между groups, который сохраняет group operation.

Если groups записаны multiplicatively, условие выглядит так:

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

Если groups записаны additively:

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

В ring theory идея похожая, но теперь у нас не одна operation, а две:

addition
multiplication

Поэтому ring homomorphism должен сохранять обе.

Ring homomorphism

Пусть R и S — rings.

Mapping:

φ : R -> S

называется ring homomorphism / гомоморфизмом колец, если для любых:

a, b ∈ R

выполняются два условия:

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

и:

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

Первое условие говорит:

сложить в R, а потом применить φ — то же самое, что сначала применить φ, а потом сложить в S.

Второе условие говорит:

умножить в R, а потом применить φ — то же самое, что сначала применить φ, а потом умножить в S.

Важно: операции слева и справа могут быть разными

В записи:

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

символ + слева — это addition в ring R.

А символ + справа — это addition в ring S.

То же самое с multiplication:

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

Слева multiplication выполняется в R, справа — в S. Это особенно важно, когда rings разные.

Например:

φ : Z4 -> Z10

Тогда в Z4 operations выполняются modulo 4, а в Z10 — modulo 10.

Ring isomorphism

Ring isomorphism / изоморфизм колец — это ring homomorphism, который одновременно:

one-to-one

и:

onto

То есть ring isomorphism — это structure-preserving bijection.

Если существует ring isomorphism:

R -> S

то rings R и S algebraically identical. Они могут выглядеть по-разному, но с точки зрения ring structure это одна и та же algebraic object.

Обозначение:

R ≅ S

Homomorphism vs isomorphism

Разница такая же, как в group theory.

  • Isomorphism показывает, что две structures по сути одинаковы.
  • Homomorphism может терять информацию, склеивать элементы, отправлять большой ring в меньший, но при этом сохранять важные algebraic operations.

Коротко:

  • isomorphism = сохраняет всю структуру без потерь
  • homomorphism = сохраняет операции, но может терять информацию

Нужно ли сохранять unity

Важный нюанс. В нашем учебнике ring homomorphism обязан сохранять:

addition
multiplication

Но он не обязан автоматически сохранять multiplicative identity 1. То есть не всегда требуется:

φ(1_R) = 1_S

Некоторые книги включают это условие в definition of ring homomorphism, особенно когда работают только с rings with unity. Но здесь мы используем convention из Gallian:

ring homomorphism preserves addition and multiplication; preserving unity is not required unless stated separately.

Это важно для некоторых examples ниже.

Пример: natural homomorphism Z -> Z_n

Для любого positive integer n есть mapping:

φ : Z -> Z_n

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

φ(k) = k mod n

То есть integer отправляется в свой residue modulo n.

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

φ(0) = 0
φ(1) = 1
φ(2) = 2
φ(3) = 3
φ(4) = 4
φ(5) = 0
φ(6) = 1

и так далее.

Почему это ring homomorphism

Нужно проверить две операции.

Addition

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

А это то же самое, что:

(a mod n) + (b mod n)

в Z_n.

То есть:

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

Multiplication

Аналогично:

φ(ab) = ab mod n

И это то же самое, что:

(a mod n)(b mod n)

в Z_n.

Значит:

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

Therefore:

k -> k mod n

is a ring homomorphism. Его называют:

natural homomorphism from Z to Z_n

Пример: evaluation map R[x] -> R

Рассмотрим polynomial ring:

R[x]

то есть polynomials with real coefficients.

Определим mapping:

φ : R[x] -> R

по правилу:

φ(f(x)) = f(1)

То есть мы берём polynomial и подставляем:

x = 1

Например:

f(x) = 3x^2 - 5x + 7

Тогда:

φ(f(x)) = f(1) = 3 - 5 + 7 = 5

Почему это ring homomorphism

Evaluation сохраняет addition:

φ(f(x) + g(x))
=
(f + g)(1)
=
f(1) + g(1)
=
φ(f(x)) + φ(g(x))

И multiplication:

φ(f(x)g(x))
=
(fg)(1)
=
f(1)g(1)
=
φ(f(x))φ(g(x))

Therefore:

f(x) -> f(1)

is a ring homomorphism from R[x] onto R.

Почему onto

Любое real number c ∈ R можно получить как значение constant polynomial:

f(x) = c

Тогда:

φ(f(x)) = f(1) = c

Значит mapping onto.

Пример: φ : Z4 -> Z10, φ(x) = 5x

Теперь пример, где важно помнить, что operations происходят в разных rings.

Определим:

φ : Z4 -> Z10

по правилу:

φ(x) = 5x

То есть:

0 -> 0
1 -> 5
2 -> 10 ≡ 0
3 -> 15 ≡ 5

в Z10.

So image is:

{0, 5}

Почему это не очевидно

Может показаться, что addition сохраняется просто потому, что:

5(x + y) = 5x + 5y

Но нужно помнить:

  • x + y слева считается in Z4;
  • 5x + 5y справа считается in Z10.

То есть мы не можем совсем тупо использовать обычную integer arithmetic и забыть про “модульность”.

Проверяем addition

Пусть:

x + y = 4q + r

где:

0 <= r < 4

Тогда в Z4:

x + y = r

Поэтому:

φ(x + y) = φ(r) = 5r

Но:

r = x + y - 4q

Значит:

5r = 5(x + y - 4q)
5r = 5x + 5y - 20q

А в Z10:

20q ≡ 0

потому что 20q делится на 10. Следовательно:

φ(x + y) = 5x + 5y = φ(x) + φ(y)

в Z10.

Проверяем multiplication

Пусть:

xy = 4q + r

где:

0 <= r < 4

Тогда в Z4:

xy = r

Поэтому:

φ(xy) = φ(r) = 5r

А так как:

r = xy - 4q

получаем:

5r = 5xy - 20q

В Z10 term 20q исчезает:

20q ≡ 0

Значит:

φ(xy) = 5xy

С другой стороны:

φ(x)φ(y) = (5x)(5y) = 25xy

Но в Z10:

25 ≡ 5

поэтому:

25xy ≡ 5xy

Значит:

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

Таким образом:

φ(x) = 5x

is a ring homomorphism from Z4 to Z10.

Но это не isomorphism

Mapping не one-to-one:

φ(0) = 0
φ(2) = 0

и не onto:

image = {0, 5}

а:

Z10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Поэтому это homomorphism, но не isomorphism.

Ring homomorphisms Z12 -> Z30

Теперь посмотрим на более systematic example. Group homomorphisms:

Z12 -> Z30

under addition имеют вид:

x -> ax

для некоторых values a. Но не каждый additive group homomorphism является ring homomorphism. Чтобы mapping был ring homomorphism, он должен additionally preserve multiplication.

Если:

φ(x) = ax

то:

φ(1) = a

Так как в Z12:

1 · 1 = 1

мы должны иметь:

φ(1 · 1) = φ(1)φ(1)

То есть:

φ(1) = φ(1)^2

А значит:

a = a^2

in Z30.

Такое условие отсекает часть additive homomorphisms.

Главная идея

Ring homomorphism stricter than group homomorphism. Он должен сохранить не только addition:

φ(x + y) = φ(x) + φ(y)

но и multiplication:

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

Поэтому у ring homomorphisms меньше свободы.

Characteristic 2 и map a -> a^2

Пусть R — commutative ring of characteristic 2.

Это значит:

2x = 0

для всех:

x ∈ R

То есть:

x + x = 0

for every x.

Определим mapping:

φ : R -> R

по правилу:

φ(a) = a^2

Оказывается, это ring homomorphism.

Проверяем multiplication

φ(ab) = (ab)^2

Так как ring commutative:

(ab)^2 = a^2b^2

А значит:

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

Проверяем addition

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

Раскрываем:

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

Но characteristic 2 означает:

2ab = 0

Поэтому:

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

Значит:

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

Therefore:

a -> a^2

is a ring homomorphism in characteristic 2.

Этот mapping часто называют:

Frobenius map

Почему 2Z и Z не ring-isomorphic

Как additive groups 2Z и Z isomorphic. Например:

φ : Z -> 2Z
φ(n) = 2n

is a group isomorphism under addition.

Но as rings они не изоморфны. Почему?

Z has unity:

1

А 2Z не имеет multiplicative identity.

Если бы у 2Z была unity u, то для любого even integer, например 2, должно было бы выполняться:

u · 2 = 2

В integers это даёт:

u = 1

Но:

1 ∉ 2Z

Значит unity внутри 2Z нет. Ring isomorphism preserves ring structure, включая existence of unity as a structural property.

Поэтому:

Z not ≅ 2Z

as rings, хотя они isomorphic as additive groups.

Application: divisibility by 9

Natural homomorphism:

α : Z -> Z9

где:

α(n) = n mod 9

помогает объяснить школьный признак divisibility by 9. Пусть integer n имеет decimal representation:

n = ak 10^k + a(k-1)10^(k-1) + ... + a1 10 + a0

Здесь:

a0, a1, ..., ak

— digits числа.

Например:

583 = 5 · 10^2 + 8 · 10 + 3

Почему сумма цифр работает

В Z9:

10 ≡ 1 (mod 9)

Поэтому:

10^2 ≡ 1
10^3 ≡ 1

и вообще:

10^m ≡ 1

modulo 9.

Тогда:

n = ak 10^k + ... + a1 10 + a0

modulo 9 становится:

n ≡ ak + ... + a1 + a0 (mod 9)

То есть number имеет тот же residue modulo 9, что и сумма его digits.

Поэтому:

n divisible by 9

iff:

sum of digits divisible by 9

Пример

Возьмём:

5832

Сумма digits:

5 + 8 + 3 + 2 = 18

А:

18

divisible by 9.

Значит:

5832

divisible by 9.

И правда:

5832 / 9 = 648

Применение: степени modulo небольших чисел

Natural homomorphisms помогают в number theory proofs, потому что позволяют заменить сложное равенство в integers на более простую проверку modulo какого-то числа.

Например, вместо того чтобы сразу разбирать большое уравнение в Z, можно отправить обе стороны в:

Z8

или:

Z16

и посмотреть, какие residues вообще возможны.

Идея такая:

если равенство верно в integers, то оно должно остаться верным после reduction modulo n.

Поэтому если после перехода modulo n получается невозможная ситуация, значит исходное integer equation тоже не имело решения.

Например, если какая-то сторона уравнения всегда даёт residues:

0, 2, 4

modulo 8, а другая сторона всегда даёт:

1, 3, 5

то равенство невозможно уже modulo 8. А значит оно невозможно и в integers.

Главное предупреждение

Ring homomorphism должен сохранять обе операции:

addition
multiplication

То есть должны выполняться оба условия:

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

и:

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

Поэтому каждый ring homomorphism автоматически является additive group homomorphism. Но не каждый additive group homomorphism является ring homomorphism.

Причина простая: additive group homomorphism обязан сохранять только addition. А ring homomorphism должен дополнительно сохранять multiplication. Именно multiplication добавляет extra constraints.

Properties of ring homomorphisms

Пусть:

φ : R -> S

— ring homomorphism.

Это значит, что φ сохраняет обе операции:

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

и:

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

Из этих двух условий следует несколько важных свойств.

Powers и repeated addition

Если:

r ∈ R

и n — positive integer, то:

φ(nr) = nφ(r)

Здесь:

nr

означает repeated addition:

r + r + ... + r

n раз.

То есть homomorphism сохраняет не только одно сложение, но и любое repeated addition.

Например:

φ(3r)
=
φ(r + r + r)
=
φ(r) + φ(r) + φ(r)
=
3φ(r)

Также:

φ(r^n) = φ(r)^n

потому что r^n означает repeated multiplication:

r · r · ... · r

n раз.

Images of subrings

Если A — subring of R, то image:

φ(A) = {φ(a) | a ∈ A}

является subring of S. Интуитивно это значит:

homomorphism переводит меньшие ring-structures в меньшие ring-structures.

Если внутри R есть subring, то после применения φ его image всё ещё closed under addition, subtraction и multiplication.

Images of ideals

С ideals чуть осторожнее. Если A — ideal of R, то image:

φ(A)

не всегда автоматически является ideal of S.

Но если φ is onto, тогда:

φ(A)

is an ideal of S. Почему нужна onto? Потому что ideal в S должен поглощать multiplication by any element of S.

Если φ onto, то каждый элемент s ∈ S имеет вид:

s = φ(r)

для некоторого r ∈ R. Тогда для элемента:

φ(a) ∈ φ(A)

получаем:

sφ(a) = φ(r)φ(a) = φ(ra)

А так как A ideal, то:

ra ∈ A

значит:

φ(ra) ∈ φ(A)

То есть image действительно поглощает multiplication in S.

Preimages of ideals

Если B — ideal of S, то preimage:

φ^-1(B) = {r ∈ R | φ(r) ∈ B}

является ideal of R. Это работает без условия onto. Интуитивно:

если B — ideal в target ring, то все элементы R, которые попадают в B, образуют ideal в source ring.

Это особенно важно для kernels.

Kernel of a ring homomorphism

Kernel / ядро ring homomorphism — это множество элементов R, которые переходят в zero element of S.

То есть:

Ker φ = {r ∈ R | φ(r) = 0}

Это тот же смысл, что и в group theory:

kernel показывает, какая часть source ring “схлопывается в ноль”.

Kernels are ideals

Для любого ring homomorphism:

φ : R -> S

kernel:

Ker φ

является ideal of R. Проверим идею. Если:

a, b ∈ Ker φ

то:

φ(a) = 0

и:

φ(b) = 0

Тогда:

φ(a - b)
=
φ(a) - φ(b)
=
0 - 0
=
0

Значит:

a - b ∈ Ker φ

Теперь возьмём любой:

r ∈ R

и:

a ∈ Ker φ

Тогда:

φ(ra)
=
φ(r)φ(a)
=
φ(r) · 0
=
0

Значит:

ra ∈ Ker φ

Аналогично:

ar ∈ Ker φ

Поэтому:

Ker φ

is an ideal of R.

First Isomorphism Theorem for rings

Теперь появляется ring-version уже знакомой идеи из group theory.

Пусть:

φ : R -> S

— ring homomorphism.

Тогда:

R / Ker φ ≅ φ(R)

То есть quotient ring by kernel is isomorphic to the image. Более явно mapping задаётся так:

r + Ker φ -> φ(r)

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

Homomorphism может склеивать разные элементы R. Какие именно элементы он склеивает? Те, которые отличаются на элемент kernel.

Если:

φ(a) = φ(b)

то:

φ(a - b) = 0

значит:

a - b ∈ Ker φ

То есть a и b лежат в одном coset modulo kernel. Поэтому quotient:

R / Ker φ

ровно убирает ту информацию, которую homomorphism потерял. После этого остаётся structure, которая isomorphic to image:

φ(R)

Example: evaluation map Z[x] -> Z

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

φ : Z[x] -> Z

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

φ(f(x)) = f(0)

То есть мы берём polynomial и подставляем:

x = 0

Например:

f(x) = 3x^2 + 5x + 7

Тогда:

φ(f(x)) = f(0) = 7

Kernel

Kernel состоит из всех polynomials, которые при x = 0 дают 0.

То есть:

Ker φ = {f(x) ∈ Z[x] | f(0) = 0}

Это ровно polynomials with zero constant term.

А такие polynomials являются multiples of x.

Например:

3x^2 + 5x = x(3x + 5)

Поэтому:

Ker φ = <x>

Image

Image равен всему Z. Почему? Любой integer c можно получить как value constant polynomial:

f(x) = c

Тогда:

φ(f(x)) = c

Значит:

φ(Z[x]) = Z

Applying First Isomorphism Theorem

По First Isomorphism Theorem:

Z[x] / Ker φ ≅ φ(Z[x])

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

Ker φ = <x>

и:

φ(Z[x]) = Z

Получаем:

Z[x] / <x> ≅ Z

Это означает:

если в polynomial ring Z[x] мы считаем x равным 0, то от polynomial остаётся только constant term.

Ideals are kernels

Мы уже знаем:

kernel of ring homomorphism => ideal

Но верно и обратное:

every ideal is the kernel of some ring homomorphism.

Пусть A — ideal of ring R. Тогда можно построить natural homomorphism:

π : R -> R / A

по правилу:

π(r) = r + A

То есть каждый элемент ring отправляется в свой coset modulo A. Kernel этого mapping:

Ker π

состоит из всех r ∈ R, для которых:

r + A = A

А это значит:

r ∈ A

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

Ker π = A

То есть every ideal действительно является kernel.

Homomorphism from Z to a ring with unity

Пусть R — ring with unity 1. Тогда существует natural ring homomorphism:

φ : Z -> R

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

φ(n) = n · 1

Здесь:

n · 1

означает repeated addition элемента 1.

Например:

φ(3) = 1 + 1 + 1

и:

φ(-2) = -(1 + 1)

Почему это homomorphism

Addition сохраняется:

φ(m + n)
=
(m + n) · 1
=
m · 1 + n · 1
=
φ(m) + φ(n)

Multiplication тоже сохраняется:

φ(mn)
=
(mn) · 1

А:

(m · 1)(n · 1) = (mn) · 1

поэтому:

φ(mn) = φ(m)φ(n)

A ring with unity contains Z or Z_n

Это даёт важное следствие. Если R — ring with unity, то внутри него всегда есть subring, порождённый элементом 1. Это множество:

S = {k · 1 | k ∈ Z}

То есть мы просто складываем 1 с самим собой разное количество раз.

Если characteristic равна 0

Если 1 имеет infinite additive order, то все элементы:

0 · 1, 1 · 1, 2 · 1, 3 · 1, ...

ведут себя как integers.

Тогда R содержит subring isomorphic to:

Z

Если characteristic равна n

Если:

n · 1 = 0

и n — минимальное такое positive число, то R содержит subring isomorphic to:

Z_n

Например, в ring characteristic 5:

5 · 1 = 0

поэтому repeated addition of 1 даёт copy of Z5.

Fields contain Z_p or Q

Для fields есть ещё более сильное утверждение. Если F — field of characteristic p, где p prime, то F содержит subfield isomorphic to:

Z_p

Если F — field of characteristic 0, то F содержит subfield isomorphic to:

Q

Этот smallest subfield называется:

prime subfield

То есть prime subfield field F — это минимальное поле, которое уже обязательно сидит внутри F.

Examples

Field:

R

имеет characteristic 0, поэтому содержит copy of:

Q

Field:

C

тоже имеет characteristic 0, поэтому тоже содержит copy of:

Q

Finite field:

Z_p

имеет characteristic p, и его prime subfield is itself:

Z_p

Field of quotients

Теперь важная construction. Integers:

Z

не являются field, потому что, например:

1/2 not in Z

Но Z сидит внутри field:

Q

Rational numbers можно понимать как fractions:

a / b

где:

a, b ∈ Z

и:

b != 0

То есть мы расширяем Z, добавляя formal quotients. Оказывается, то же самое можно сделать для любого integral domain.

Field of quotients of an integral domain

Пусть D — integral domain. Тогда существует field F, которое содержит copy of D. Это field называется:

field of quotients of D

или:

field of fractions of D

Идея:

из элементов D строим fractions a / b, где b != 0.

Почему нужен integral domain

Чтобы fractions нормально умножались, нужно, чтобы product ненулевых denominators не становился 0.

Если:

b != 0

и:

d != 0

то при multiplication fractions denominator будет:

bd

В integral domain нет zero divisors, поэтому:

bd != 0

Значит denominator остаётся valid. Если бы zero divisors были, multiplication fractions могла бы сломаться.

Как складываются и умножаются fractions

Elements field of quotients имеют вид:

a / b

где:

a, b ∈ D

и:

b != 0

Addition задаётся привычно:

a/b + c/d = (ad + bc)/(bd)

Multiplication:

(a/b)(c/d) = (ac)/(bd)

Это ровно те же formulas, что для rational numbers.

Почему fractions имеют много representations

Один и тот же элемент может быть записан по-разному. В rational numbers:

1/2 = 2/4 = 3/6

Поэтому в general field of quotients мы считаем:

a/b = c/d

если:

ad = bc

Это обычное cross-multiplication.

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

1/2 = 3/6

потому что:

1 · 6 = 2 · 3

Embedding D into its field of quotients

Каждый элемент x ∈ D можно вложить в field of quotients как:

x / 1

То есть mapping:

D -> F

задаётся так:

x -> x / 1

Это ring homomorphism and actually embeds D into F. Поэтому мы можем думать, что D сидит внутри своего field of quotients.

Например:

Z

сидит внутри:

Q

через:

n -> n / 1

Example: field of quotients of Z[x]

Рассмотрим:

D = Z[x]

Это integral domain. Его field of quotients состоит из fractions:

f(x) / g(x)

где:

f(x), g(x) ∈ Z[x]

и:

g(x) != 0

Например:

(x^2 + 1) / (3x - 5)

или:

(2x + 7) / (x^3 + 4)

Это rational functions with integer polynomial numerator and denominator.

Пример: Z_p(x)

Если p — prime, то:

Z_p[x]

является integral domain.

Его field of quotients обозначают так:

Z_p(x)

Элементы этого field выглядят как fractions из polynomials:

f(x) / g(x)

где:

f(x), g(x) ∈ Z_p[x]

и:

g(x) != 0

То есть numerator и denominator — polynomials с coefficients modulo p.

Это infinite field of characteristic p.

Хотя сам field:

Z_p

конечный, field:

Z_p(x)

бесконечный, потому что polynomials in x бесконечно много.