#абстрактная алгебра #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

Что мы хотим доказать

Рассмотрим, как ring homomorphism помогает объяснить школьный признак делимости на 9: число делится на 9 тогда и только тогда, когда сумма его цифр делится на 9.

Для этого используем natural homomorphism:

α: Z → Z9
α(n) = n mod 9

Он сопоставляет каждому integer его остаток от деления на 9.

Например:

α(18) = 0
α(20) = 2
α(583) = 7

Число делится на 9 тогда и только тогда, когда α(n) = 0. Поэтому kernel этого homomorphism состоит из всех multiples of 9:

Ker α = 9Z

Вспомним, что kernel (ядро) — это множество всех элементов, которые homomorphism отображает в 0 (или в identity element для групп).

В нашем случае:

Ker α = {n ∈ Z | α(n) = 0}

Поскольку α(n) = n mod 9, в kernel попадают все числа, кратные 9:

Ker α = 9Z = {..., -18, -9, 0, 9, 18, ...}

Наша задача — показать, что число и сумма его цифр имеют одинаковый остаток modulo 9.

Для этого вспомним, как устроена decimal representation. Любое неотрицательное integer n можно представить в виде:

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 имеет тот же остаток, что и 1. Поэтому:

10^2 ≡ 1 (mod 9)
10^3 ≡ 1 (mod 9)

И вообще:

10^m ≡ 1 (mod 9)

для любого целого m ≥ 0.

Поскольку ring homomorphism сохраняет сложение и умножение, мы можем применить α к каждому слагаемому decimal representation.

При этом каждая степень десятки превращается в 1:

α(n) = α(ak·10^k + ... + a1·10 + a0)

     = (ak·1 + ... + a1·1 + a0) mod 9

     = (ak + ... + a1 + a0) mod 9

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

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

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

Например:

583 → 5 + 8 + 3 = 16

583 mod 9 = 7
16 mod 9  = 7

Следовательно, если сумма цифр имеет остаток 0, то и само число имеет остаток 0.

Пример

Возьмём:

5832

Сумма digits:

5 + 8 + 3 + 2 = 18

А:

18

divisible by 9.

Значит:

5832

divisible by 9.

И правда:

5832 / 9 = 648

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

Natural homomorphisms помогают доказывать, что некоторые уравнения не имеют целочисленных решений.

Идея простая: если равенство верно в integers, оно должно оставаться верным и после reduction modulo n. Поэтому вместо работы с большими числами можно перейти, например, к Z8 или Z16 и проверить, какие остатки вообще возможны. Если равенство оказывается невозможным даже modulo небольшого числа, то и в integers решений нет.

Пример: уравнение без целочисленных решений

Рассмотрим уравнение:

x² + y² = 2027

Мы хотим выяснить, существуют ли integers x и y, которые ему удовлетворяют.

Перебирать возможные значения необязательно. Вместо этого воспользуемся natural homomorphism:

α: Z → Z8
α(n) = n mod 8

Он сохраняет сложение и умножение, поэтому если исходное равенство верно, то обязательно:

x² + y² ≡ 2027 (mod 8)

А поскольку:

2027 ≡ 3 (mod 8)

получаем:

x² + y² ≡ 3 (mod 8)

Теперь посмотрим, какие остатки вообще может давать квадрат целого числа modulo 8.

Возможные остатки самого числа — от 0 до 7:

0² = 0  ≡ 0 (mod 8)
1² = 1  ≡ 1 (mod 8)
2² = 4  ≡ 4 (mod 8)
3² = 9  ≡ 1 (mod 8)
4² = 16 ≡ 0 (mod 8)
5² = 25 ≡ 1 (mod 8)
6² = 36 ≡ 4 (mod 8)
7² = 49 ≡ 1 (mod 8)

Таким образом, квадрат любого integer может давать только три остатка:

0, 1, 4

Это относится и к x², и к y².

Какие остатки можно получить, сложив два таких квадрата?

0 + 0 ≡ 0 (mod 8)
0 + 1 ≡ 1 (mod 8)
0 + 4 ≡ 4 (mod 8)
1 + 1 ≡ 2 (mod 8)
1 + 4 ≡ 5 (mod 8)
4 + 4 ≡ 0 (mod 8)

Получается, что x² + y² может давать только остатки:

0, 1, 2, 4, 5

Остатка 3 среди них нет.

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

x² + y² ≡ 3 (mod 8)

Это невозможно ни при каких целых x и y. Следовательно, исходное уравнение:

x² + y² = 2027

не имеет решений в integers.

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

Мы заменили задачу о целых числах задачей о восьми возможных остатках. Поскольку homomorphism сохраняет сложение и умножение, любое решение исходного уравнения обязательно давало бы решение modulo 8. Но такого решения нет. Значит, его не было и в исходном уравнении.

Важно помнить, что рассуждение работает только в одну сторону:

  • Если решений modulo n нет, то и целочисленных решений нет.
  • Если решения modulo n существуют, это ещё не гарантирует, что исходное уравнение имеет целочисленные решения.

Таким образом, reduction modulo n позволяет быстро исключать невозможные варианты, не решая исходное уравнение напрямую.

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

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

Рассмотрим интересное свойство: в любом ring with unity можно найти элементы, которые ведут себя как integers или как integers modulo n. Почему это так?

Пусть R — ring with unity, то есть кольцо, в котором есть multiplicative identity 1. Мы можем складывать эту unity саму с собой:

1
1 + 1
1 + 1 + 1
1 + 1 + 1 + 1
...

Не забывайте только, что unity — это далеко не всегда 1.

А ещё можем взять 0 или противоположные элементы:

0
-1
-(1 + 1)
...

Таким образом, мы получаем внутри R элементы, соответствующие целым числам. Чтобы формально описать это соответствие, определим отображение:

φ: Z → R
φ(n) = n · 1

Здесь n · 1 означает repeated addition единицы кольца R, а не обычное умножение на integer, который обязательно уже существует внутри R.

Например:

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

Конкретный пример: R = Z5

В кольце:

Z5 = {0, 1, 2, 3, 4}

unity — это 1.

Начнём складывать её с самой собой, выполняя операции modulo 5:

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

Обратим внимание: после пяти сложений мы вернулись к 0, и значения начали повторяться. Таким образом, наше отображение фактически работает как:

φ(n) = n mod 5

Мы берём любое integer и получаем соответствующий элемент Z5.

Почему это homomorphism

Чтобы отображение было ring homomorphism, оно должно сохранять сложение и умножение.

Сложение. Если мы сначала сложим два integers, а затем применим φ, результат будет таким же, как если бы мы сначала применили φ к каждому числу, а затем сложили результаты:

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

Умножение. Здесь работает distributive property кольца.

Например:

φ(2) = 1 + 1
φ(3) = 1 + 1 + 1

Поэтому:

φ(2)φ(3) = (1 + 1)(1 + 1 + 1)

Раскрывая скобки, получаем шесть единиц:

φ(2)φ(3) = 6 · 1 = φ(6)

То же самое верно для любых integers m и n:

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

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

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

Таким образом, φ сохраняет обе операции и является ring homomorphism.

Ring with unity contains Z or Z_n

Теперь посмотрим, что мы получили. Все элементы, которые можно построить repeated addition единицы, образуют subring:

S = {k · 1 | k ∈ Z}

Но устройство этого subring зависит от characteristic кольца R.

Возможны два случая.

1. Characteristic равна 0

Это означает, что никакое положительное количество сложений единицы не даёт 0:

1 ≠ 0
1 + 1 ≠ 0
1 + 1 + 1 ≠ 0
...

Более того, все полученные элементы различны.

Поэтому они ведут себя точно как обычные integers:

0, 1, 2, 3, -1, -2, ...

Например, в polynomial ring Z[x] мы можем рассматривать constant polynomials:

0, 1, 2, 3, -1, -2, ...

Они образуют subring, isomorphic to Z. Таким образом, если characteristic равна 0, кольцо R содержит копию Z.

2. Characteristic равна n > 0

Это означает, что существует минимальное positive integer n, для которого:

n · 1 = 0

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

1 + 1 + 1 + 1 + 1 = 0

Поэтому characteristic равна 5.

Значения φ начинают повторяться через каждые пять шагов:

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

Следовательно, внутри R возникает subring, устроенный как Z_n.

Например, polynomial ring Z5[x] содержит constant polynomials:

0, 1, 2, 3, 4

Они образуют subring, isomorphic to Z5.

Итог

В любом ring with unity можно многократно складывать его unity и получать subring:

S = {k · 1 | k ∈ Z}

Если characteristic равна 0, результаты не повторяются, и:

S ≅ Z

Если characteristic равна n > 0, результаты повторяются через n шагов, и:

S ≅ Z_n

Именно это показывает natural homomorphism:

φ: Z → R
φ(n) = n · 1

То есть любое кольцо с unity содержит внутри себя копию либо Z, либо Z_n.

Fields contain Z_p or Q

Мы уже выяснили, что в любом кольце с unity можно многократно складывать unity с самим собой и получить подкольцо, устроенное как Z или Z_n.

Если мы работаем с полем, результат ещё интереснее: внутри любого поля обязательно существует минимальное подполе, изоморфное либо Z_p, либо Q.

Рассмотрим два случая.

Если характеристика поля равна p

Пусть F — поле характеристики p, где p — простое число. Это означает, что после p сложений unity мы получаем 0, причём раньше этого не происходит.

Например, при характеристике 5:

1 + 1 + 1 + 1 + 1 = 0

Полученные элементы ведут себя как числа по модулю 5:

0, 1, 2, 3, 4

Они образуют подполе (subfield), изоморфное Z5. В общем случае поле характеристики p содержит подполе, изоморфное Z_p.

Если характеристика поля равна 0

В этом случае многократное сложение unity никогда не приводит к 0. Таким образом, внутри поля мы получаем копию целых чисел:

0, 1, 2, 3, -1, -2, ...

Но мы работаем с полем, а значит, каждый ненулевой элемент имеет обратный по умножению.

Поэтому вместе с целыми числами мы обязательно получаем и дроби:

1/2, 2/3, -5/7, ...

А это уже рациональные числа Q. Следовательно, любое поле характеристики 0 содержит подполе, изоморфное Q.

Prime subfield

Такое подполе называется prime subfield (простое подполе). Это наименьшее подполе, которое содержится в данном поле. Любое другое подполе тоже должно содержать unity, результаты её сложения и обратные к ненулевым элементам, поэтому не может быть меньше.

Примеры

  • R имеет характеристику 0 и содержит Q, поскольку все рациональные числа являются вещественными.
  • C тоже имеет характеристику 0 и содержит Q, поскольку рациональные числа являются также комплексными.
  • Z5 имеет характеристику 5. Его простое подполе — само Z5, поскольку меньшего подполя в нём нет.

Таким образом, простое подполе любого поля изоморфно либо Q, либо Z_p для некоторого простого p.

Field of quotients (поле частных)

Мы знаем, что Z — область целостности, но не поле. Например, в целых числах нельзя разделить 1 на 2 и получить элемент Z. Зато можно расширить Z до поля рациональных чисел Q, в котором такое деление уже возможно.

Для этого мы берём целые числа и строим из них дроби:

a/b, где a, b ∈ Z и b ≠ 0.

Оказывается, аналогичным образом можно построить поле из любой области целостности. Такое поле называется field of quotients, или field of fractions — полем частных.

Как строится поле частных

Пусть D — область целостности. Мы хотим получить новое множество, элементы которого выглядят как дроби:

a/b, где a, b ∈ D и b ≠ 0.

Важно: деление в самом D может быть не определено. Поэтому пока a/b — просто формальная запись пары элементов a и b. Правила работы с такими дробями мы определим самостоятельно.

Например, если D = Z, мы получим обычные рациональные числа. А если D = Z[x] — кольцо многочленов с целыми коэффициентами, — сможем строить дроби из многочленов:

(x + 1)/(x² + 2)

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

Почему нужна область целостности

В области целостности нет делителей нуля. Это означает, что произведение двух ненулевых элементов никогда не равно нулю. Для дробей это особенно важно. Например, при умножении:

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

мы получаем новый знаменатель bd.

Поскольку b ≠ 0 и d ≠ 0, нам нужно быть уверенными, что bd ≠ 0. Иначе возникла бы дробь с нулевым знаменателем. В общем, отсутствие делителей нуля гарантирует, что знаменатель останется ненулевым. Именно поэтому поле частных строится из области целостности, а не из произвольного кольца.

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

Мы используем привычные правила арифметики.

Сложение:

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

Умножение:

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

Например, для целых чисел:

1/2 + 1/3 = (3 + 2)/6 = 5/6

(2/3)(3/5) = 6/15

Но эти правила работают не только с числами, а с любыми элементами D. Кроме того, у каждой ненулевой дроби a/b есть обратная:

(a/b)⁻¹ = b/a

Она существует, поскольку a ≠ 0.

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

Почему дроби могут иметь разные записи

В рациональных числах одна и та же дробь записывается разными способами:

1/2 = 2/4 = 3/6

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

Используем обычное правило перекрёстного умножения:

a/b = c/d тогда и только тогда, когда ad = bc.

Например:

1/2 = 3/6

поскольку:

1 · 6 = 2 · 3

Это правило позволяет считать разные записи одним элементом поля.

Как исходная область целостности попадает в новое поле

Каждый элемент a ∈ D можно представить в виде дроби:

a/1

Поэтому определим отображение:

φ: D → F

φ(a) = a/1

где F — построенное поле частных. Это гомоморфизм колец: он сохраняет сложение и умножение.

Кроме того, разные элементы D не превращаются в один и тот же элемент F. Действительно:

a/1 = b/1

означает:

a · 1 = b · 1

то есть a = b.

Таким образом, отображение является вложением: мы можем рассматривать D как подкольцо нового поля.

Например:

Z → Q

n → n/1

Обычное целое число 3 соответствует рациональному числу 3/1.

Итог

Любую область целостности можно вложить в поле частных, элементы которого представляют собой дроби из элементов исходной области. Для целых чисел получаем рациональные числа:

Z → Q

Для кольца многочленов Z[x] получаем поле рациональных функций с рациональными коэффициентами:

Z[x] → Q(x)

Главная идея одна: мы расширяем исходную область целостности, добавляя возможность делить на ненулевые элементы, но сохраняем привычные правила сложения и умножения.

Зачем нужно поле частных

Главная польза поля частных — возможность делить на ненулевые элементы там, где раньше деление было невозможно. С обычными числами мы уже знакомы:

2x = 1

В Z это уравнение не имеет решения: никакое целое число при умножении на 2 не даст 1.

Но если перейти к Q, решение появляется:

x = 1/2

То же самое можно сделать с многочленами. Например, рассмотрим кольцо Z[x] и уравнение:

(x + 1)y = 1

Здесь y должен быть многочленом с целыми коэффициентами. Но такого многочлена не существует. Ведь если подставить x = -1, левая часть станет 0 независимо от выбора y, а правая останется 1.

Теперь перейдём к полю частных Q(x), где разрешены дроби из многочленов.

В нём решение существует:

y = 1/(x + 1)

Проверим:

(x + 1) · 1/(x + 1) = 1

Получилось! Таким образом, поле частных позволяет решать уравнения, которые не имели решений в исходной области целостности. Для Z мы получаем рациональные числа Q, а для Z[x] — рациональные функции Q(x).

Идея такая: вместо того чтобы ограничиваться элементами исходного кольца, мы расширяем его до поля, в котором каждый ненулевой элемент можно использовать как знаменатель.