Опубликован: 04.03.2008 | Доступ: свободный | Студентов: 1626 / 46 | Оценка: 4.56 / 3.67 | Длительность: 30:07:00
ISBN: 978-5-9556-0099-4
Специальности: Программист, Математик

Лекция 10: Алгоритмы факторизации, основанные на выборе малого вектора в решетке

< Лекция 9 || Лекция 10: 12345 || Лекция 11 >

Рассмотрим на кольце многочленов \mathbb R [x] фильтрацию по степеням многочленов, т.е. для любого неотрицательного целого s векторное пространство, состоящее из многочленов степени не выше s, обозначается \mathbb R _s [x]. Введенная фильтрация индуцирует фильтрацию на кольце \mathbb Z [x]: \mathbb Z _s [x] = \mathbb Z [x] \bigcap \mathbb R _s [x]. \mathbb R _s [x] образует вещественное линейное пространство размерности s+1, а \mathbb Z _s  [x] является в нем решеткой (свободным \mathbb Z -модулем максимального ранга).

Рассмотрим целое число m \geq l. Через L = L(m,k) обозначим множество всех многочленов в кольце \mathbb Z [x], которые делятся на h(x) по модулю p^k и степень которых не превосходит m, т.е. L(m,k)  =  \mathbb Z _m  [x]
\bigcap \varphi_k^{-1} ((\varphi_k (h))). Другими словами, L состоит из тех многочленов, коэффициенты остатков от деления которых на h(x) в p - адической метрике не превосходят p^{-k-1}, т.е. являются малыми величинами. Легко видеть, что базис решетки L образует следующее множество многочленов

\begin{equation}
  \{ p^k x^i \mid 0 \leq i < l\} \cup \{ h\cdot x^j \mid 0 \leq j\leq
m-l\}.
\end{equation} ( 21.25)
В качестве базиса всего вещественного пространства многочленов степени не выше m удобно выбрать одночлены x^i, 0\leq
i\leq m. Длиной многочлена назовем евклидову длину этого многочлена в выбранном базисе, который мы предполагаем ортонормированным. Oтождествляем многочлен с вектором его коэффициентов в выделенном базисе. Матрица коэффициентов базиса (21.25) имеет в этом базисе треугольную форму и легко видеть, что d(L) = p^{kl}. Покажем, что элементы решетки L с малой длиной лежат в главном идеале, порожденном многочленом h_0 (x) в \mathbb Z [x].

21.4. ПРЕДЛОЖЕНИЕ. Предположим, что многочлен b  \in 
L удовлетворяет неравенству

\begin{equation}
 p^{kl}   > |f|^m \cdot |b|^n .
\end{equation} ( 21.26)
Тогда b делится на h_0 (x) в кольце \mathbb Z [x], в частности, {НОД(f,b)\neq 1}.

ДОКАЗАТЕЛЬСТВО. Можно считать, что b\neq 0. Положим g= 
НОД(f,  b). Достаточно показать, как следует из предыдущего предложения, что \varphi(g)   \in   (\varphi(h)). Предположим противное. Пользуясь неприводимостью \varphi(h) и эпиморфностью гомоморфизма \varphi, получаем существование многочленов u,v,w \in \mathbb Z [x], таких, что

\begin{equation}
    u\cdot h + v\cdot g = 1 - p\cdot w.
\end{equation} ( 21.27)

Напомним, что l=\deg (h), n =\deg (f), m+1 - размерность решетки L. Положим m' =\deg (b) и e =\deg (g).

Очевидно, что 0 \leq  e \leq  m' \leq  m. Положим s  =
 n+m'-e-1.

Пусть M_f  = \mathbb Z _s [x] \cap  (f), M_b   = \mathbb Z _s [x] \cap  (b), и M =M_f + M_b, т.е. M является \mathbb Z -модулем, состоящим из всех многочленов вида u\cdot f + v\cdot b, где u \in \mathbb Z _{m'-e-1}    [x], v \in \mathbb Z _{n-e-1}[x].

Покажем, что множество элементов

\begin{equation}
  \left\{ x^i f\mid 0\leq i<m'-e\} \cup\{x^j b\mid 0\leq
j<n-e\right\}
\end{equation} ( 21.28)
образует базис \mathbb Z -модуля M. Очевидно, что они порождают M, остается только показать, что выписанная система многочленов линейно независима над \mathbb Z . Предположим, что u\cdot  f  +  v\cdot  b  = 
0, где \deg(u)  < 
m'-e,\deg(v) < n-e. Разделим это соотношение на g. Получим, u\cdot
(f/g) + v\cdot (b/g) = 0. Пользуясь взаимной простотой многочленов f/g и b/g и ограничениями на степени u и v, получаем, что u=v=0.

Рассмотрим проекцию

\begin{equation}
 \pi\colon \mathbb R _s [x] \to \mathbb R _s [x]/\mathbb R _{e-1}[x].
\end{equation} ( 21.29)

Пусть M' =\pi (M). Покажем, что M' - решеткa в \mathbb R _s [x]/\mathbb R _{e-1} [x]. Для этого достаточно показать, что M \cap \ker \pi = 0, т.е. M
 \cap
\mathbb Z _{e-1} [x] = 0. Пусть w \in M \cap \mathbb Z _{e-1} [x], тогда w = u\cdot f
+ v\cdot b по определению M, следовательно, w делится на g (=
НОД(f,b)). Поскольку \deg (w) <\deg (g), получаем w  =  0. Учитывая линейную независимость элементов множества (21.28) над \mathbb Z , получаем, что эти элементы образуют базис решетки M'. Неравенство Адамара (19.3) утверждает, что d(M') \leq |f|^{m'-e} \cdot |b|^{n-e} \leq  |f|^m  \cdot
|b|^n. Пользуясь предположением теоремы, получаем d(M') <
p^{kl}.

Для получения желаемого противоречия, покажем, что из (21.27) следует обратное неравенство d(M') \geq p^{kl}.

Покажем, что для любого элемента \mu\in  M, если \deg\mu<e+l, то \varphi_k (\mu) = 0, т.е. \mu \in p^k \mathbb Z . Домножим соотношение (21.27) на \mu/g\times (1+pw+\dots+ p^{k-1} w^{k-1} ). Получим u_1\cdot h+v_1\cdot\mu\equiv
\mu/g\pmod{p^k \mathbb Z [x]}, где u_1, v_1 - некоторые многочлены из кольца \mathbb Z [x]. Поскольку\break \mu\in M, \varphi
(\mu) делится на \varphi_k  (h), следовательно, \varphi_k  (\mu  /g) также делится на \varphi_k  (h). Сравнивая степени, получаем, что \varphi_k (\mu) = 0.

Для завершения доказательства достаточно теперь показать, что базис b_e
,b_{e+1} ,\dots,b_{n+m'-e-1} решетки M' можно выбрать таким образом, что \deg(b_j) = j. Это упражнение на приведение невырожденной целочисленной матрицы к треугольному виду оставляется читателю. При таком выборе базиса, старшие коэффициенты первых l многочленов делятся на p^k. Значит d(M'), который в полученном базисе равен произведению старших коэффициентов, удовлетворяет неравенству d(M')  \geq  p^{kl}, что завершает доказательство теоремы.

Следующий результат позволяет находить неприводимый делитель многочлена f.

21.5. ПРЕДЛОЖЕНИЕ. Пусть f, p, k, n, h, l выбраны так, как предполагалось в начале параграфа, L - решетка, заданная базисом (21.25). Предположим, что b_1,\dots, b_{m+1} - редуцированный базис решетки L и что выполняется неравенство

\begin{equation}
  p^{kl}>2^{mn/2}{\binom{2m}{m}}^{n/2} |f|^{m+n}.
\end{equation} ( 21.30)

Если h_0 - неприводимый над \mathbb Z многочлен, делящийся на h, то \deg
(h_0 )\leq m тогда и только тогда, когда

\begin{equation}
  |b_1 | < \genfrac(){}{}{p^{kl}}{|f|^m}^{1/n}   .
\end{equation} ( 21.31)

ДОКАЗАТЕЛЬСТВО. Если условие (21.31) выполнено, то по предложению 21.4 многочлен b_1 делится на h_0. Решетка L выбрана так, что \deg  b
\leq m для любого b \in L, следовательно, \deg (h_0
)\leq m.

Предположим теперь, что \deg (h_0 ) \leq  m. Тогда h_0 \in L по предложению 21.4.

Полагая x=h_0 в предложении 19.9, получим |b_1 |
\leq 2^{m/2  \cdot |h_0 |.

Теперь из задачи 7.6 следует неравенство b_1  \leq  2^{m/2} \cdot  {\binom{2m}m}^{1/2} \cdot
|f|. Подставляя сюда (21.30), получим (21.31).

Теперь можно сформулировать следующий алгоритм нахождения неприводимого в \mathbb Z [x] многочлена, делящегося по модулю p на неприводимый по модулю p многочлен h(x).

< Лекция 9 || Лекция 10: 12345 || Лекция 11 >
Марина Подлевских
Марина Подлевских

Пожалуйста, проясните ситуацию. Был выбран курс " Компьютерная алгебра" для самостоятельного изучения. Как теперь записаться на этот курс с целью получения диплома о повышении квалификации? На данный момент он имеет статус " изучаю". Если я пройду экзаменационный тест в таком статусе без оформления документов и оплаты диплома, придется ли еще раз регистрироваться на этот курс и заново проходить тестирование?