Иван Аржанцев - Системы уравнений, базисы Грёбнера и...

61
Системы уравнений, базисы Грёбнера и алгоритм Бухбергера Иван Аржанцев Яндекс ВШЭ, факультет компьютерных наук Москва, 2014

Upload: yandex

Post on 18-Nov-2014

306 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Системы уравнений, базисы Грёбнера иалгоритм Бухбергера

Иван Аржанцев

ЯндексВШЭ, факультет компьютерных наук

Москва, 2014

Page 2: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Давайте решать уравнения:I. ax + b = 0 1) a 6= 0 → x = −b

a .2) a = 0, b = 0 → x – любое3) a = 0, b 6= 0 – решений нет

Page 3: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Давайте решать уравнения:I. ax + b = 0 1) a 6= 0 → x = −b

a .2) a = 0, b = 0 → x – любое3) a = 0, b 6= 0 – решений нет

Page 4: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

II. ax2 + bx + c = 0

x1,2 =−b ±

√b2 − 4ac2a

Page 5: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

II. ax2 + bx + c = 0

x1,2 =−b ±

√b2 − 4ac2a

А если D := b2 − 4ac < 0?

Page 6: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Расширяем понятие числа

N ⊆ Z≥0 ⊆ Z ⊆ Q ⊆ R ⊆ C

Комплексные числа:z = a+ bi , a, b ∈ R, i2 = −1

Page 7: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Расширяем понятие числа

N ⊆ Z≥0 ⊆ Z ⊆ Q ⊆ R ⊆ C

Комплексные числа:z = a+ bi , a, b ∈ R, i2 = −1

Page 8: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Операции

(a+ bi)± (c + di) = (a± c) + (b ± d)i

(a+ bi)(c + di) = (ac − bd) + (ad + bc)i

a+ bi

c + di=

(a+ bi)(c − di)

(c + di)(c − di)=

ac + bd

c2 + d2 +bc − ad

c2 + d2

Тогда√−a = ±i

√a, a ≥ 0.

Page 9: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Операции

(a+ bi)± (c + di) = (a± c) + (b ± d)i

(a+ bi)(c + di) = (ac − bd) + (ad + bc)i

a+ bi

c + di=

(a+ bi)(c − di)

(c + di)(c − di)=

ac + bd

c2 + d2 +bc − ad

c2 + d2

Тогда√−a = ±i

√a, a ≥ 0.

Page 10: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Операции

(a+ bi)± (c + di) = (a± c) + (b ± d)i

(a+ bi)(c + di) = (ac − bd) + (ad + bc)i

a+ bi

c + di=

(a+ bi)(c − di)

(c + di)(c − di)=

ac + bd

c2 + d2 +bc − ad

c2 + d2

Тогда√−a = ±i

√a, a ≥ 0.

Page 11: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Операции

(a+ bi)± (c + di) = (a± c) + (b ± d)i

(a+ bi)(c + di) = (ac − bd) + (ad + bc)i

a+ bi

c + di=

(a+ bi)(c − di)

(c + di)(c − di)=

ac + bd

c2 + d2 +bc − ad

c2 + d2

Тогда√−a = ±i

√a, a ≥ 0.

Page 12: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Задача√a+ bi = ±(c + di) для некоторых c , d ∈ R.

Page 13: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

А если D = b2 − 4ac = 0?Тогда x1,2 = − b

2a – корень кратности два.

Page 14: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Теорема Безу.Число α – корень многочлена f (x) ⇔ f (x) делится на x − α.

Page 15: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

ОпределениеЧисло α – корень многочлена f (x) кратности k , если f (x)делится на (x − α)k и не делится на (x − α)k+1.

Пример

D = b2 − 4ac = 0 ⇒ ax2 + bx + c = a(x + b2a)

2

Page 16: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

ОпределениеЧисло α – корень многочлена f (x) кратности k , если f (x)делится на (x − α)k и не делится на (x − α)k+1.

Пример

D = b2 − 4ac = 0 ⇒ ax2 + bx + c = a(x + b2a)

2

Page 17: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Основная теорема алгебрыКаждый многочлен f (x) = anx

n + . . .+ a1x + a0, ai ∈ C имеетровно n корней с учетом кратности.

Page 18: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Карл Фридрих Гаусс (1777-1855)

Page 19: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

III. ax3 + bx2 + cx + d = 0 x → x − s ⇒ x3 + px + q = 0

x1,2,3 =3

√−q

2+

√q2

4+

p3

27+

3

√−q

2−√

q2

4+

p3

27

Page 20: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

III. ax3 + bx2 + cx + d = 0 x → x − s ⇒ x3 + px + q = 0

x1,2,3 =3

√−q

2+

√q2

4+

p3

27+

3

√−q

2−√

q2

4+

p3

27

Page 21: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Джероламо Кардано (1501-1576)

формулу открыл Тарталья около 1540, опубликовал Кардано в1545

Page 22: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Карданный вал

Это период царствования Ивана Грозного (1530-1584)

Page 23: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Карданный вал

Это период царствования Ивана Грозного (1530-1584)

Page 24: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

IV. ax4 + bx5 + cx2 + dx + e = 0

Людовико Феррари (1522-1565), ученик Кардано, открылформулу около 1540 года

Page 25: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

IV. ax4 + bx5 + cx2 + dx + e = 0

Людовико Феррари (1522-1565), ученик Кардано, открылформулу около 1540 года

Page 26: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

V. Теорема Абеля-Руффини Общее уравнение степени ≥ 5не разрешимо в радикалах.

Руффини (1799, неточность в доказательства), Абель (1824,окончательно)

Page 27: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

V. Теорема Абеля-Руффини Общее уравнение степени ≥ 5не разрешимо в радикалах.

Руффини (1799, неточность в доказательства), Абель (1824,окончательно)

Page 28: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Нильс Хенрик Абель (1802 - 1829)

Page 29: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 1. Комплексные числа и теорема Абеля

Эварист Галуа (1811-1832)

Page 30: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Линейные {x + y = 3

2x + 3y = 7

Метод Гаусса или метод исключения переменных{x + y = 3y = 1

Итак, x = 2, y = 1.

Page 31: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Линейные {x + y = 3

2x + 3y = 7

Метод Гаусса или метод исключения переменных{x + y = 3y = 1

Итак, x = 2, y = 1.

Page 32: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Линейные {x + y = 3

2x + 3y = 7

Метод Гаусса или метод исключения переменных{x + y = 3y = 1

Итак, x = 2, y = 1.

Page 33: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Нелинейная системаxy = z2 + zx2 = x + yzxz = y2 + y

Как решать?Идея та же - заменить на эквивалентную систему попроще.

Page 34: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Нелинейная системаxy = z2 + zx2 = x + yzxz = y2 + y

Как решать?Идея та же - заменить на эквивалентную систему попроще.

Page 35: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Пусть C[x1, . . . , xn] – множество всех многочленов отпеременных x1, . . . , xn с комплексными коэффициентами.

f1(x1, . . . , xn) = 0

.. .. ..fk(x1, . . . , xn) = 0

⇒ идеал

(f1, . . . , fk) := {f1h1 + . . .+ fkhk ; h1, . . . , hk ∈ C[x1, . . . xn]}

Page 36: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Пусть C[x1, . . . , xn] – множество всех многочленов отпеременных x1, . . . , xn с комплексными коэффициентами.

f1(x1, . . . , xn) = 0

.. .. ..fk(x1, . . . , xn) = 0

⇒ идеал

(f1, . . . , fk) := {f1h1 + . . .+ fkhk ; h1, . . . , hk ∈ C[x1, . . . xn]}

Page 37: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Пусть C[x1, . . . , xn] – множество всех многочленов отпеременных x1, . . . , xn с комплексными коэффициентами.

f1(x1, . . . , xn) = 0

.. .. ..fk(x1, . . . , xn) = 0

⇒ идеал

(f1, . . . , fk) := {f1h1 + . . .+ fkhk ; h1, . . . , hk ∈ C[x1, . . . xn]}

Page 38: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

Примерx1 = 0 ⇒ идеал (x1) всех многочленов, которые делятся на x1.

Page 39: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

ЗадачаЕсли (f1, . . . , fk) = (g1, . . . , gs), то системы

f1 = 0.. .. ..fk = 0

и g1 = 0.. .. ..gs = 0

эквивалентны.

Page 40: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 2. Системы уравнений

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

Page 41: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Старший член многочлена

Для x3 − 5x2 + x + 10 это x3.

А для x21x2 + x2

2x73 − x20

2 ?

Page 42: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Старший член многочлена

Для x3 − 5x2 + x + 10 это x3.

А для x21x2 + x2

2x73 − x20

2 ?

Page 43: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Лексикографический порядок на одночленахx i11 x i22 . . . x

inn и x j11 x j22 . . . x

jnn i1 = j1, . . . , ik = jk , ik+1 > jk+1.

Напримерx21x2 > x20

2 > x22x

73

Page 44: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Лексикографический порядок на одночленахx i11 x i22 . . . x

inn и x j11 x j22 . . . x

jnn i1 = j1, . . . , ik = jk , ik+1 > jk+1.

Напримерx21x2 > x20

2 > x22x

73

Page 45: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

ЗадачаДокажите, что старший член произведения многочленов равенпроизведению старших членов.

Page 46: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

ОпределениеПусть f1, . . . , fk – набор многочленов из C[x1, . . . , xn]. Тогда ониназываются базисом Грёбнера идеала I = (f1, . . . , fk), если длялюбого многочлена f ∈ I его старший член делится на старшийчлен хотя бы одного из многочленов f1, . . . , fk .

Page 47: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Алгоритм БухбергераНа входе произвольный набор многочленов f1, . . . , fk , на выходебазис Грёбнера f1, . . . , fk , fk+1, . . . , fmпорожденного ими идеала.

Page 48: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Вольфганг Грёбнер (1899-1980)

Page 49: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Бруно Бухбергер (род. 1942)

Page 50: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Как работает алгоритм Бухбергера?S-многочлен S(f1, f2). Пусть f1 = xy − z2 − z , f2 = x2 − x − yz ,f3 = xz − y2 − y .

ТогдаS(f1, f2) = xf1 − yf2 = −xz2 − xz + xy + y2z →f1

−xz2 − xz + z2 + z + y2z →f3

−z(y2 + y)− y2 − y + z2 + z + y2z = −yz − y2 − y + z2 + z = f4

S(f2, f3)→ 2yz .

Page 51: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Как работает алгоритм Бухбергера?S-многочлен S(f1, f2). Пусть f1 = xy − z2 − z , f2 = x2 − x − yz ,f3 = xz − y2 − y .

ТогдаS(f1, f2) = xf1 − yf2 = −xz2 − xz + xy + y2z →f1

−xz2 − xz + z2 + z + y2z →f3

−z(y2 + y)− y2 − y + z2 + z + y2z = −yz − y2 − y + z2 + z = f4

S(f2, f3)→ 2yz .

Page 52: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Как работает алгоритм Бухбергера?S-многочлен S(f1, f2). Пусть f1 = xy − z2 − z , f2 = x2 − x − yz ,f3 = xz − y2 − y .

ТогдаS(f1, f2) = xf1 − yf2 = −xz2 − xz + xy + y2z →f1

−xz2 − xz + z2 + z + y2z →f3

−z(y2 + y)− y2 − y + z2 + z + y2z = −yz − y2 − y + z2 + z = f4

S(f2, f3)→ 2yz .

Page 53: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Теперь уже можно решить системуyz = 0, откуда y = 0 или z = 0.

Ответ(0, 0, 0), (0, 0,−1), (1, 0, 0), (0,−1, 0).

Базис Грёбнера в этом примере{f1, f2, f3, f4, 2yz , z3 + z2}.

Page 54: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Теперь уже можно решить системуyz = 0, откуда y = 0 или z = 0.

Ответ(0, 0, 0), (0, 0,−1), (1, 0, 0), (0,−1, 0).

Базис Грёбнера в этом примере{f1, f2, f3, f4, 2yz , z3 + z2}.

Page 55: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Теперь уже можно решить системуyz = 0, откуда y = 0 или z = 0.

Ответ(0, 0, 0), (0, 0,−1), (1, 0, 0), (0,−1, 0).

Базис Грёбнера в этом примере{f1, f2, f3, f4, 2yz , z3 + z2}.

Page 56: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Теорема 1У системы полиномиальных уравнений нет комплексныхрешений тогда и только тогда, когда в базисе Грёбнерасодержится ненулевая константа.

Теорема 2Число комплексных решений системы конечно тогда и толькотогда, когда для каждой из переменных xi в базисе Грёбнеранайдется многочлен, старший член которого имеет вид xkii .

Page 57: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

Теорема 1У системы полиномиальных уравнений нет комплексныхрешений тогда и только тогда, когда в базисе Грёбнерасодержится ненулевая константа.

Теорема 2Число комплексных решений системы конечно тогда и толькотогда, когда для каждой из переменных xi в базисе Грёбнеранайдется многочлен, старший член которого имеет вид xkii .

Page 58: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

В нашем примере у элементов базиса Грёбнераx2 − x − yz ,−y2 − y − yz + z2 + z , z3 + z2 старшие членысоответственно x2,−y2, z3

Другой пример xy = z2 + z

x2 + x = yzxz = y2 + y

Базис Грёбнера f1, f2, f3,−y2 − y − yz − z2 − z , число решенийбесконечно.

Page 59: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

В нашем примере у элементов базиса Грёбнераx2 − x − yz ,−y2 − y − yz + z2 + z , z3 + z2 старшие членысоответственно x2,−y2, z3

Другой пример xy = z2 + z

x2 + x = yzxz = y2 + y

Базис Грёбнера f1, f2, f3,−y2 − y − yz − z2 − z , число решенийбесконечно.

Page 60: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Часть 3. Базисы Грёбнера.

В нашем примере у элементов базиса Грёбнераx2 − x − yz ,−y2 − y − yz + z2 + z , z3 + z2 старшие членысоответственно x2,−y2, z3

Другой пример xy = z2 + z

x2 + x = yzxz = y2 + y

Базис Грёбнера f1, f2, f3,−y2 − y − yz − z2 − z , число решенийбесконечно.

Page 61: Иван Аржанцев - Системы уравнений, базисы Грёбнера и алгоритм Бухбергера

Вопросы?