ЧЕБЫШЕВСКИЙ СБОРНИК
Том 16 Выпуск 2 (2015)
УДК 511.2
О РЕШЕНИИ ПОЛИНОМИАЛЬНЫХ
УРАВНЕНИЙ В ПРОИЗВОЛЬНЫХ ПОРЯДКАХ
М. Е. Зеленова (г. Москва)
Аннотация
В данной статье описывается алгоритм решения полиномиальных уравнений в кольце D[x], где D - произвольный порядок поля Q(w), аш - целое алгебраическое число. Предложенный алгоритм является развитием идеи Курта Гензеля, описанной им в 1904 году и впоследствии названной леммой Гензеля о подъеме решения полиномиального сравнения. Описываемый алгоритм основан на следующих теоретических результатах. Во-первых, оцениваются коэффициенты разложения по базису порядка D решений уравнения, то есть выводится оценка на высоту решения полиномиального уравнения в произвольном порядке поля алгебраических чисел. Во-вторых, выписывается итерационная формула, не содержащая в себе делений, позволяющая произвести квадратичный подъем решения соответствующего сравнения по модулю степени простого числа в порядке. В-третьих, подбирается эффективная оценка на степень простого числа, до которой следует поднимать решение вышеуказанного сравнения для получения точного решения исходного уравнения.
Следует заметить, что для корректной работы алгоритма требуется выбрать простое число p, по которому будет производиться подъем, так, чтобы выполнялись определенные условия. А именно, p не должно делить норму результанта исходного многочлена и его производной и дискриминант целого алгебраического числа ш. Также вычислительная сложность алгоритма уменьшается, если удается подобрать простое число p, которое в дополнение к двум условиям, изложенным в предыдущем предложении, обладает тем свойством, что минимальный многочлен алгебраического числа ш, все коэффициенты которого редуцированы по модулю p, неприводим в конечном поле из p элементов. В этом случае вычислительная сложность алгоритма составляет O(m4 + m3 ln m ln(max0^mÎYil) + m3ln(max0^m fYil) lnln(max0^m [Y]) арифметических операций. Здесь m - степень исходного многочлена, Yi, 0 ^ i ^ m - его коэффициенты, а [Y - максимум модулей всех чисел, сопряженных с y .В том же случае, когда не удается выбрать простое число p так, чтобы минимальный многочлен ш был неприводим в конечном поле из p элементов, вычислительная сложность алгоритма составляет O(m4 + m3 ln m ln(max0^m fYïl) +
m3 ln(maxo^m fYl) lnln(max0^m iYl)+md lnln(max0^m fYl)) арифметических операций. Здесь d - количество неприводимых сомножителей, на которые раскладывается минимальный многочлен числа ш в Fp. Алгоритм, изложенный в статье, включает в себя стратегию выбора простого числа p для достижения меньшей вычислительной сложности.
Ключевые слова: полиномиальные уравнения, алгебраические числа, группа Галуа.
Библиография: 15 названий.
SOLUTION OF POLYNOMIAL EQUATIONS IN ARBITRARY ORDERS
M. E. Zelenova
Abstract
The article deals with an algorithm of solving polynomial equations in a ring D[x], where D is an arbitrary order of field Q(w) and ш is an algebraic integer. The algorithm develops Kurt Hensel's idea published in 1904 which was named Hensel's lifting lemma later. The algorithm described is based on the following theoretical results. Firstly, basis of order D expansion coefficients of the equation roots are estimated, i. e. an estimate for the polynomial equation roots height in an algebraic number field arbitrary order is derived. Secondly, an iterative formula for the corresponding polynomial congruence solution quadratic lifting modulo power of prime in the order is obtained. This formula does not contain any divisions. Thirdly, an effective bound for prime power the congruence solution needs to be lifted to obtain the exact solution of the original equation is derived.
Notice that a prime p which is used for lifting needs to satisfy certain conditions for the algorithm correct work. In particular, p should not derive the original polynomial and its derivative resultant norm and also p should not derive discriminant of an algebraic integer ш. Also the algorithm complexity is decreased if it is possible to choose prime p which in addition to two previous conditions has the following property: the minimal polynomial of ш which coefficients are reduced modulo p is irreducible over finite field Fp. In this case the algorithm complexity is O(m4 + m3ln m ln(max0^mfYl) + m3 ln(max0^m fYl) lnln(max0^m fYl) arithmetic operations. Here m is the original polynomial degree, y%, 0 ^ i ^ m are its coefficients and fY is the algebraic numbers conjugated to y absolute values maximum. If it is impossible to choose prime number p such that minimal polynomial of ш is irreducible over Fp then the algorithm complexity is O(m4 + m3 ln m ln(max0^m fYl) + m3 ln(rnax0^m fYl) lnln(rnax0^mfYl) + md ln ln(rnax0^mfYl)) arithmetic operations. Here d is the minimal polynomial of ш irreducible factors over Fp number. The algorithm includes strategy to select a prime p to achieve lower computational complexity.
Keywords: polynomial equations, algebraic numbers, Galois group.
Bibliography: 15 titles.
1. Введение
Нахождение корней уравнений и систем в определенных кольцах или полях является одной из классических задач алгебры и теории чисел.
Один из подходов к решению данной задачи основан на классическом результате, а именно, лемме Гензеля о подъеме решения полиномиального сравнения (см. [1]). Идея алгоритмов, построенных с помощью данного подхода, состоит в том, что сначала с помощью подъема ищется решение данного уравнения или системы по модулю степени некоторого простого числа, а потом с помощью полученного результата ищется ответ к исходной задаче.
Данная идея была использована, например, в статье [2] для факторизации многочленов с рациональными коэффициентами. Известен также алгоритм нахождения рациональных решений целочисленных линейных систем (см. [3]).
Также модифицированный алгоритм подъема был использован автором в статье [4] для нахождения решений полиномиальных уравнений в полях алгебраических чисел. Полученный в данной работе результат является обобщением алгоритма, описанного автором в статье [4]. Первая статья не содержала в себе оценку простого числа p, по которому требовалось производить подъем. В данной работе такая оценка имеет место быть.
Итак, пусть ш — целое алгебраическое число степени d, и
d
(x) = ^2iCiX% € Z[x],
i=0
где Cd = 1, — его минимальный многочлен. Обозначим через D произвольный порядок поля K = Q(w). Предлагаемый алгоритм позволяет по заданному многочлену f (x) € D[x] найти все его корни, принадлежащие D, а также определяет случаи, когда исходное уравнение корней не имеет.
2. Алгоритм
Предположим, что
m
f (x) = ixi, Yi Ym = 0 i=0
— многочлен без кратных корней.
Положим R = YmD(f ), где D(f ) — дискриминант многочлена f (x), R € D; N (R) € Z — норма R.
Обозначим через g(x)(p) € Fp[x] многочлен, получающийся из g(x) заменой коэффициентов Ci их вычетами по модулю простого числа p.
Каждый элемент в € D представим в виде
в = Mi H-----h bdWd,
где bi € Z. Здесь Q = {ш1,..., Wd} — базис D. Будем использовать обозначение
Иву = max |bi|.
Также обозначим через Дш дискриминант числа ш, а через Др — дискриминант поля разложения многочлена (ж).
Для произвольного алгебраического числа 7 положим
Ы = тах |7(к)|,
где 7(к) - числа, сопряженные с 7.
Через pi будем обозначать г-ое простое число, через #М — количество элементов в множестве М, а через Mi — г-ый элемент множества М. Алгоритм.
Дано: ш — целое алгебраическое число степени Э - порядок в поле 0>(ш);
(ж) = £1оСжi € Z[ж],Cd = 1, - минимальный многочлен ш; /(ж) = £™0 7iжi, 7i € Э - многочлен без кратных корней.
Найти: множество решений уравнения /(ж) = 0 в Э или дать ответ, что решений нет.
1. Положить Б' = 0. [на выходе алгоритма множество Б' будет состоять из решений исходного уравнения]
2. Вычислить Я = 7тД(/), N (Я) и Я' € Э, такое, что N (Я) = Я - Я'. [см. лемму
1]
3. Вычислить А(ж),В(ж) € Э[ж], такие, что
Я = А(ж)/(ж) + В (ж)/'(ж).
[см. лемму 2]
4. Вычислить Дш, Дзр1.
5. Положить Ж = [(4^ | Д^! +2, + 5)2].
6. Для каждого г, удовлетворяющего р ^ Ж, выполнять следующие действия:
6.1. Положить М = 0 и К = 0.
6.2. Проверить, выполняются ли условия
(р^ N (Я)) = 1 и (р ,Дш) = 1.
Если нет, то перейти на начало шага 6.
6.3. Разложить многочлен (ж)(р^) на неприводимые множители в поле Fpi:
^ш(ж)(^) = ^д(ж) ■ . . . ■ (ж).
Если ri = 1, то положить М = {^д(ш)}, К = 1, Р = pi и перейти на шаг 8.
6.4. Если М = 0 или #М > г^ то положить
М = {^д(ш),... (ш)}, К = п ,Р =
7. Если M = 0, то найти простое число p > pw, такое, что
(p,N(R)) = 1 и (p,D) = 1,
найти разложение многочлена (x)(p) на неприводимые множители
(x)(p) = ^i(x) ■ ... ■ ^r(x) и положить M = |^1(w),..., (w)}, K = r, P = p.
8. Для каждого i = 1,..., K решить сравнение f (x) = 0 (mod pi), где pi = (P, Mi). [см. замечание 1]
Если оно неразрешимо, то уравнение f (x) =0 неразрешимо в D.
Если оно разрешимо, то обозначим через Si множество решений сравнения, а через Si — их количество.
Выберем ровно по одному элементу ai € Si. Обозначим через Tk систему сравнений x = ak (mod pk), 1 ^ k ^ K.
9. Если K > 1, то с помощью китайской теоремы об остатках получить все решения сравнения f (x) = 0 (mod p), решив системы Tk, где 1 ^ k ^ K. [см. [5], гл. II §2]
10. Обозначим через S множество всех элементов из D, таких, что для каждого 5 € S
f (5) = 0 (mod p).
[при K = 1 такие элементы были получены на шаге 8, а при K > 1 — на шаге 9]
Выбрать 5 так, чтобы выполнялось ||£|| ^
11. Положить V = 1 + |_log2(logp(2CU))_|, где
C = d ■ max w j ,
KKd j 1
U = max [j ■ [Ymf-1 + 1.
0^j<m
Здесь wj — элементы базиса, взаимного к Q.
12. Найти решение No сравнения
N(R) -x = 1 (mod p),x € Z, для которого выполняется условие |No| ^ §.
13. Для каждого к = 1,..., V вычислить Nk € Z, такие, что
Nk = 2Nk-i- N(R)Nfc2-i (mod p2'), 2k
|Nk| ^.
14. Для каждого 5 € S выполнять следующие действия:
14.1. Положить 5о = 5.
14.2. Для каждого k = 1,... , V вычислить
5fc = 5fc-i - f (5fc_i)B(5fc_i)R'Nfc (mod p2 ),
5fc e®, ||5fc|| •
14.3. Проверить, удовлетворяет ли число 5у равенству
f (5v ) = 0.
Если равенство выполняется, то
S' = S' U |5у }•
15. Если S' = 0, то дать ответ, что уравнение f(ж) = 0 неразрешимо в
Замечание 1. Для того, чтобы решить сравнение f(ж) = 0 (mod p), где p = (p, ^(w)), достаточно решить уравнение f (ж) = 0 в поле Fpdeg. Алгоритмы нахождения корней многочленов в конечных полях можно найти в книге [6], гл. 3.
3. Обоснование шагов 5—7
Более подробно с теорией, изложенной в данном параграфе, можно ознакомиться в книгах [7] и [8]; определение символа Артина и формулировка теоремы 1 в более общем виде содержится в работе [9].
Теорема 1. Предположим, что справедлива расширенная гипотеза Римана. Пусть Ь Э Q — нормальное расширение степени п с дискриминантом Д. Тогда для произвольного элемента а € Са1(Ь/Г) существует простое число р, р \ А, удовлетворяющее условиям (^/р) = а и р ^ (4^ |Д| +2, 5п + 5)2.
Доказательство. См. [9], §8.8. □
Следствие 1. Предположим, что справедлива расширенная гипотеза Римана.
Если группа Галуа многочлена (ж) содержит цикл длины й = deg(ж), то найдется простое число р, удовлетворяющее условиям:
1. p { D
spl .
2. Многочлен ц,ш (ж)(р) неприводим в Fp.
3. p ^ (4 log |Dspi| +2, 5d + 5)2.
Через Ei(B) будем обозначать следующее множество:
Ei(B) = {g(x) =gixl + ... +gix + go € Z[x] | gi = 1, max(|go|,..., |giI) < B,
Gal(g/F) = Si}.
Теорема 2. Справедлива оценка
Ег(В) = О {ВН log Б).
Доказательство. См. [10]. □
Замечание 2. Заметим, что доля унитарных многочленов с целыми коэффициентами степени l, группа Галуа которых меньше, чем Si, а коэффициенты ограничены B, составляет O , а эта величина стремится к нулю при B ^ то. Таким образом, можно ожидать, что большое количество многочленов, возникающих в качестве цш(x), имеет группу Галуа Sd, откуда следует, что ad € Gal(^w/Q), и тогда при условии справедливости расширенной гипотезы Римана верны утверждения следствия 1. Тогда в алгоритме появляется возможность сократить количество вычислений, перепрыгнув с шага 6 сразу на шаг 8, а потом на шаг 10.
4. Обоснование подъема решений
Лемма 1. Существует R' € D такое, что N(R) = R ■ R'. Доказательство. См. [11], гл. 2 §2. □
Лемма 2. Существуют A(x),B(x) € D[x] такие, что R = A(x)f(x)+ B(x)f'(x). При этом многочлены A(x) и B(x) можно выписать в явном виде.
Доказательство. См. [12], гл. 5 §34. □
Лемма 3. При любом к ^ 0 для чисел Nk, определенных на шагах 12 и 13 алгоритма, выполняется сравнение
k
N(R) -Nk = 1 (mod p2 ).
Доказательство. Проведем доказательство индукцией по к. При к = 0 теорема верна по построению No. Пусть теперь к ^ 1, и сравнение выполнено для всех Ni при i < к.
Согласно предположению индукции,
N(R) ■ Nk-i — 1 = 0 (mod p2'-1).
Следовательно,
(N(R) ■ Nk-i — 1)2 = N(R) ■ (N(R) ■ — 2Nk-i) + 1 = = -N(R) ■ Nk + 1 = 0 (mod p2').
□
Теорема 3. При любом k ^ 0 для чисел 5k, определенных на шагах 14.1 и 14.2 алгоритма, выполняется следующее сравнение:
f (5k) — 0 (mod p2 )
Доказательство. Проведем доказательство индукцией по k. При k = 0 теорема верна по построению 5о. Пусть теперь k ^ 1, и сравнение выполнено для всех 5i при i < k.
Пусть A(x),B(ж) € ®[ж] - многочлены, построенные на шаге 3 алгоритма. Согласно предположению индукции, f (5k_i) — 0 (mod p2 *). Выполняется следующая цепочка сравнений по модулю p2 :
f (5k) — f (5k_i - f (5k_i)B(5k_i)R'Nk) — f (Vi - f —
- f (5k_i) - f'(5k_i)f (5k_NR5)k_i)R' = (R - f'(5k_i)B(5k_i)) =
= (f (N_^))2R'A(5k_i) -0 (mod p2k), так как по предположению индукции (f (5k_i))2 — 0 (mod (p2k *)2 =p2k). □
5. Оценка коэффициентов решения уравнения
Пусть a e ® - корень уравнения f (ж) = 0. Число а имеет вид а = £d=i aiwi, где ai € Z. В данном параграфе найдем оценку ||а|| через известные величины.
Лемма 4. Имеет место равенство lai ^ таХ|Уг<Г ^ +1, где ^ - коэффициенты
17 m I
многочлена f (x).
Доказательство. См. [13], гл. 9 §39. □ Теорема 4. Имеет место неравенство
INI < си,
где
C = d ■ max w' , U = max Гу7| ■ Rml"-1 + 1-
KKd1 П 0^J<m
Доказательство. Обозначим через Q' = {w',..., w'd} базис, взаимный к Q. Тогда
d
аг = Tr(aw' ) = V)(j). j=i
Следовательно,
d
|аг| < max |a(j)| V |(w' )(j )| -d -max |(w')(j)| = И ■ d ■ [W>i| ^ И ■ d ■ max [wjj. j=i
Здесь (w')(j\ 1 ^ i, j ^ d - числа, сопряженные с w', а 1 ^ j ^ d - чис-
(j) (j)
ла, сопряженные к а. Они являются корнями уравнений Ym xm + ■ ■ ■ + Y° =0, где
(j) (j)
Ym ,..., y0 сопряжены с Ym,..., Yo соответственно.
Так как Ym) - целое алгебраическое число и yMM = 0, то N (yM^ € Z\{0}. Следовательно,
1 < |n (Y(j) )| = |YmYi2)... Y(d) | < ь^га^
Таким образом, |Yj)| lYmIi-d. По лемме 4,
(J) ^ maX0^< |7|J)| + 1 ^ maxo, < Ы + , ^ +
|Y(j) | fYMli d °^<m
Следовательно,
|ai | ^ ( max [YTI ■ lYm |d-i + 1) ■ d ■ max wj ^ CU.
0^j<m' J 1 KKd1 j 1
□
6. Обоснование корректности работы алгоритма
Теорема 5. Алгоритм находит все решения уравнения f(x) = 0 в D и возвращает пустое множество, если данное уравнение неразрешимо.
Если а € D - корень многочлена f (x), то на шаге 6 найдется такое число ¿°, что /(¿о) = 0 (mod р), 5о = a (mod р) и ||<5о|| ^ Поскольку
¿k = ¿k-i - f (Sk-i)B(5k-i)R'Nk (mod p2') и f (¿k-i) = 0 (mod p2'-1)
при любом к ^ 1, то ¿у = ¿° = а (mod p). По теореме 3,
f (а) - f (¿у) = -f (¿у) = 0 (mod p2V). Левую часть сравнения можно представить в виде
m
f (а) - f (¿у) = (а - ¿у ) ^ YiK-i + аi-2¿у + ••• + (¿у )i-i).
i=i
Таким образом, выполняется сравнение
m
(а - ¿уYi(аi-1+аi-2¿у + ••• + (¿у)i-i) = 0 (mod p2") (1)
i=i
Разложим (p) в произведение простых идеалов:
(p) =Pi... Pr.
Заметим также, что все р различны, поскольку р { . Из формулы (1) следует, что
(а - 5у) ^ 7i(ai_i + ai_25y + ••• + (5v)i_i) — 0 (mod Pi2V), (2)
i=i
где 1 ^ i ^ r.
Так как 5V — a (mod p), то верно, что 5V — a (mod Pi), 1 ^ i ^ r, и, таким образом,
m
^T7i(ai_i + ai_25y + ••• + (5v)i_i) — f'(5v) (mod Pi).
i=i
По лемме 2, B(5V)f'(5V) — R (mod p), и, следовательно,
B(5v)f'(5v) — R (mod Pi), 1 < i < r. (3)
Докажем от противного, что R — 0 (mod Pi), 1 ^ i ^ r. Предположим, что это не так, и R € Pi. Но тогда и
N(R) € Pi• (4)
Однако N(R) — целое число, откуда и из условия (4) следует, что p | N(R). Но это противоречит выбору p. Таким образом, доказано, что R — 0 (mod Pi), 1 ^ i ^ r. Теперь из выражения (3) следует, что f'(5V) — 0 (mod Pi), 1 ^ i ^ r. Итак, Pi - простой идеал в При этом
m
(a - 5у) J]7i(ai_i + ai_25y + ••• + (5v)i_i) — 0 (mod Pi2 )
i=i
^7i(ai_i + ai_25y + ••• + (5v)i_i) — 0 (mod Pi).
i=i
Следовательно, a — 5y (mod Pi2V) для любого индекса 1 ^ i ^ r, и, таким образом, a — 5V (mod p2 ).
Оценим модуль коэффициентов разности a и 5у:
2V
||a - 5у || < ||a|| + ||5v|| < CU + ^ < p2^, так как V > log2(logp(2CU)).
Но каждый коэффициент a - 5у - целое число, делящееся наp2V. Следовательно, все коэффициенты равны нулю и 5у = a.
Таким образом, доказано, что каждый корень многочлена f (ж), лежащий в кольце содержится среди чисел, найденных на шаге 14.2 алгоритма. □
и
7. Оценка сложности работы алгоритма
Предположим, что целое алгебраическое число ш и порядок Э фиксированы. Тогда можно считать, что сложность вычислений, связанных с подсчетом Дш, Д5рг, фд(ж), Я, Я' и разложением (ж) на множители в конечном поле, является константой. Также в таком случае можно считать, что сложность арифметических операций в данном порядке поля алгебраических чисел составляет 0(1).
Будем вычислять сложность описанного алгоритма в зависимости от параметров многочлена /(ж) = а именно, его степени и коэффициентов.
Теорема 6. Существует хотя бы одно простое число р > 2, удовлетворяющее условию
<1{2т - 1)(1п т + \ 1п(2т - 1) + 1п(тах0<г<тГт^)) Р<-1-'
Для которого верно, что (р, N (Я)) = 1. Здесь А — константа, удовлетворяющая условию
П ? > еАР, (5)
9<Р
где произведение берется по всем простым числам д, меньшим р (см. [14, §22.2]).
Доказательство. Выполняется следующее равенство:
N (Я) = Я ■ Я(2)-... -Я^, (6)
где Я(г), 2 ^ г ^ I — числа, сопряженные с Я. Заметим, что Я можно записать в виде
т(т — 1)
Я = (-1) —з- Я(/,/' ), (7)
где Л(/, /') — это определитель матрицы размера (2т —1) х (2т —1), элементы которой ограничены числом т ■ тах0^т |7г|.
Таким образом, по неравенству Адамара (см. [15, гл. 8 §7] ) и формуле (7), получаем неравенство
|Д|Н(ВД/0)1<(™-тах Ы?т-1{1т-1Г-Ь. (8)
Аналогично можно показать, что верны соотношения
< (ш • тах |7г(Л|)2т"1(2т - 2 < ] < й, (9)
где — числа, сопряженные с 7г. Теперь из формул (6), (8) и (9) следует, что
|ЛГ(Д)| < (т2(2т - тах Ы{2т~1)Л■ (Ю)
Предположим теперь, что р — наименьшее простое число, удовлетворяющее условию р | N (Я). Тогда для него должно выполняться неравенство Пд<р 9 ^ N (Я). Применим
к вышеуказанному соотношению формулы (10) и (5). Получим следующую цепочку неравенств:
еЛр < ТТ q < N(R) < (m2(2m - l))d(-m~2) max p^2"1-1^,
q<p
откуда следует, что
d(2m - l)(lnm + i ln(2m - 1) + ln(max0sciscmi7il))
p<-A-•
□
Теорема 7. Наихудшая сложность алгоритма в зависимости от параметров многочлена f (ж) составляет
O(m4 + m3 ln m ln( max [Y£D + m3 ln( max fYl) ln ln( max [Y£D + +md lnln( max fYl))
O^i^m
арифметических операций.
Доказательство. Сложность шага 2 алгоритма равна количеству операций, требуемых для вычисления определителя матрицы размера (2m — 1) х (2m — 1) и поэтому равна
O(m3). (11)
Для шага 3 требуется вычислить m и m — 1 определителей такого же вида, откуда сложность шага 3 получается равной
O(m4). (12)
На шаге 6 требуется для каждого pi < W, где W — граница, зависящая только от исходного порядка, раскладывать на множители многочлены степени d. Следовательно, временная сложность шага 6 не зависит от многочлена f (ж).
На шаге 7 нужно, во-первых, найти такое простое число p > W, что p \ N(R) и p \ D. На это требуется
O(n(p) — n(W))
операций. Из теоремы 6 и оценок Чебышева следует, что на поиск числа p нужно не больше, чем
л / С3 \ d(2m - l)(lnm + ±ln(2m - 1)+1п(тах0^тЫ)) ,ЛоЛ
O UW 'C3 =-A- (13)
арифметических выражений. Выражение (13) можно преобразовать с учетом того, что, по предположению, порядок D фиксирован. Получим следующее:
O ( C3 \ _ о ( m ln m + m ln(maxQ^m ГтЛЛ (14)
\ ln C3J V ln m + ln ln(max0^i^m fYl) )
Во-вторых, на шаге 7 требуется разложить на неприводимые множители в конечном поле Fp многочлен (x)(p), причем deg(^w(x)(p)) = d. Здесь p — простое число, удовлетворяющее неравенству p < C3. Если пользоваться алгоритмом Берлекэмпа, для этого требуется не более, чем
O(d3 + d2p)
арифметических операций. Из теоремы 6 теперь можно получить, что на вторую часть шага 7 нужно не более
O(m ln m + m ln( max fYD) (15)
операций.
На шаге 8 требуется K раз (K < d) решить уравнение f (x) = 0 в полях вида Fp, где l < d. На выполнение вышеуказаннх действий требуется
O(m2plnp),p < C3
арифметических операций (см. [6, гл. 3 §3]). С учетом формулы (13) можно заключить, что сложность шага 12 составляет
O(m3(lnm)2 + m3 lnmln( max [YD + m3 ln( max [YD lnln( max [YD)- (16)
Поскольку по условию минимальный многочлен (x) фиксирован, то и на нахождение каждого решения системы Tk по китайской теореме об остатках на шаге 9 потребуется фиксированное время. Поскольку количество решений каждого уравнения на шаге 8 не превосходит m, то всего таких систем требуется решить не более чем mK, где K — количество неприводимых сомножителей при разложении многочлена (x)(p) на множители в Fp, K < d. Соответственно, в наихудшем случае сложность шага 9 составляет
O(md) (17)
арифметических операций.
Для оценки числа V, выбираемого на шаге 11, заметим, что из того, что p > 2, следует, что
V <1 + Llog2log3(2CU)J. (18)
Для выполнения шага 12 требуется применить обобщенный алгоритм Евклида для чисел N(R) и p. Таким образом, сложность шага 12 составляет
O(lnp) = O(ln m + ln ln( max [YD (19)
арифметических операций.
Шаги 13 и 14 выполняются за O(Vmd) операций. Из формулы (18) получаем, что
O(Vmd) = O(md ln ln( max fYD) (20)
операций.
Объединим выражения (11), (12), (14), (15), (16), (17), (19), (20). Получим, что суммарная сложность всего алгоритма составляет
0(т4 + m3 In т ln( max [YD + т31п( тах ГтП) ln ln( тах ГтП)+
О fiifijri Ofiifijn Ofiifijn
+mdlnln( max [YD)
Ofiifijn
арифметических операций. □
8. Заключение
Заметим, что если алгоритм попал в случай, описанный в замечании 2, то для решения сравнения f (x) =0 (mod p) в D достаточно будет решить уравнение f (x) = 0 в поле Fpd. В таком случае сложность алгоритма будет составлять
O(m4 + m3 ln m ln( max [YD + m3 ln( max [YD ln ln( max [Yil)
арифметических операций.
Таким образом, описанный алгоритм имеет полиномиальную сложность и может представлять практическую значимость.
СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ
1. Hensel K. Neue Grundlagen der Arithmetik //J. Reine Angew. Math. 1904. Vol. 127. P. 51-84.
2. Lenstra A. K., Lenstra H.W., Lovasz L. Factoring Polynomials with Rational Coefficients // Mathematische Annalen. 1982. Vol. 261. P. 515-534.
3. Dixon J. D. Exact Solution of Linear Equations Using P-Adic Expansions // Numerische Mathematik. 1982. Vol. 40. P. 137-141.
4. Зеленова М. Е. Решение полиномиальных уравнений в поле алгебраических чисел // Вестн. Моск. ун-та. Сер. 1. Матем., мех. 2014. № 1. С. 25-29.
5. Ленг С. Алгебра. М.: Мир, 1968. 564 с.
6. Герман О. Н., Нестеренко Ю. В. Теоретико-числовые методы в криптографии. М.: Академия, 2012. 272 с.
7. Постников М. М. Теория Галуа. М.: ГИФМЛ, 1963. 220 с.
8. Cox D. A. Galois Theory. Hoboken: Wiley, 2012. 602 p.
9. Bach E., Shallit J. Algorithmic Number Theory, vol. I: Efficient Algorithms. Cambridge, London: The MIT Press, 1996. 496 p.
10. Gallagher P. X. The Large Sieve and Probabilistic Galois Theory // Proceedings of Symposia in Pure Mathematics. 1973. Vol. 24. P. 91-101.
11. Боревич З. И., Шафаревич И. Р. Теория чисел. М.: Наука, 1972. 496 с.
12. ван дер Варден Б. Л. Алгебра. М.: Наука, 1976. 649 с.
13. Курош А. Г. Курс высшей алгебры. М.: Наука, 1965. 431 с.
14. Hardy G. H., Wright E. M. An Introduction to the Theory of Numbers. Oxford: Oxford University Press, 1985. 438 p.
15. Зорич В. А. Математический анализ, т. 1. М: ФАЗИС, 1997. 554 с.
REFERENCES
1. Hensel K. 1904, "Neue Grundlagen der Arithmetik" , J. Reine Angew. Math., vol. 127, pp. 51-84.
2. Lenstra A.K., Lenstra H.W. & Lovasz L. 1982, "Factoring Polynomials with Rational Coefficients" , Mathematische Annalen, vol. 261, pp. 515-534.
3. Dixon J.D. 1982, "Exact Solution of Linear Equations Using P-Adic Expansions", Numerische Mathematik, vol. 40, pp. 137-141.
4. Zelenova M.E. 2014, "Solution of Polynomial Equations in the Field of Algebraic Numbers" , Moscow University Mathematics Bulletin, no. 1, pp. 25-29.
5. Lang S. 1968, "Algebra" [Algebra], Mir, Moscow, 564 p.
6. German O.N. & Nesterenko Yu. V. 2012, "Teoretiko-chislovye metody v kriptografii" [Number Theoretic Algorithms in Cryptography], Akademia, Moscow, 272 p.
7. Postnikov M.M. 1963, "Teoriya Galua" [Galois Theory], GIFML, Moscow, 220 p.
8. Cox D. A. 2012, "Galois Theory" , Wiley, Hoboken, 602 p.
9. Bach E. & Shallit J. 1996, "Algorithmic Number Theory, vol. I: Efficient Algorithms" , The MIT Press, Cambridge, London. 496 p.
10. Gallagher P. X. 1973, "The Large Sieve and Probabilistic Galois Theory", Proc. Symp. Pure Math., vol. 24, pp. 91-101.
11. Borevich Z.I. & Shafarevich I.R. 1972, "Teoriya chisel" [Number Theory], Nauka, Moscow, 496 p.
12. van der Waerden B.L. 1976, "Algebra" [Algebra], Nauka, Moscow, 649 p.
13. Kurosh AG. 1965, "Kurs vyshej algebry" [Course of Higher Algebra], Nauka, Moscow, 431 p.
14. Hardy G.H. & Wright E. M. 1985, "An Introduction to the Theory of Numbers", Oxford University Press, Oxford, 438 p.
15. Zorich V. A. 1997, "Matematicheskij analiz, t. 1" [Mathematical Analysis I], FAZIS, Moscow, 554 p.
Московский государственный университет им. М. В. Ломоносова. Получено 20.04.2015