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

Редуцированные базисы решетки. Редуцирование базиса в решетке

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >

Реализация полученных формул описывается следующим алгоритмом:

А36. АЛГОРИТМ (переставить- k -ый-элемент-базиса- b - с - (k - 1) -м).

\begin{equation*}   
\text{Дано:\quad $k\in\mathbb Z $, }  \\
          \text{\qquad $L$ -  решетка,  } \\
          \text{\qquad $\mu$ -  нижняя треугольная матрица  коэффициентов,  вычисляемых
            по  формулам (19.1) и (19.2),} }   \\
          \text{\qquad $B$ -  вектор элементов типа вещественное число  с  индексом  $1..n$. }\\
           \text{Элементы вектора   $B$ -  это квадраты длин соответствующих векторов из} \\
          \text{ортогонального базиса $b1$, вычисляемого по формулам
(19.1) и (19.2).}   \\
\text{Надо:\qquad  $L, \mu , B$ }  \\
        \text{\qquad В векторе $L$.базис поменялись местами два элемента.  }  \\
       \text{ \qquad Соответствующие изменения
произошли с элементами матрицы $\mu$ и вектора $B$.}   } \\
\text{Обозначения:\quad $n == L$.ранг  }  \\
                        \text{\qquad $b == L$.базис    }\\
\text{Переменные:\quad \qquad $BB, \mu\mu$ -  вещественные числа }   \\
\text{Начало}   \\
\text{$\mu \mu  := \mu [k,k-1]$ }  \\
\text{$BB := B[k] + \mu\mu^2 \cdot B[k-1]$}   \\
\text{$\mu [k,k-1] :=\dfrac{\mu\mu \cdot B[k-1]}{BB}$}   \\
\text{$B[k] :=\dfrac{B[k-1]\cdot B[k]}{BB}$ }  \\
\text{$B[k-1] := BB$  } \\
\text{$\begin{pmatrix}
     b[k-1]    \\ b[k]\end{pmatrix} :=  \begin{pmatrix}
     b[k]      \\ b[k-1]\end{pmatrix}$ }  \\
\text{цикл для $i$ от $1$ до $k-2$ }  \\
\text{\qquad $\begin{pmatrix}
    \mu [k-1,i]    \\ \mu [k,i] \end{pmatrix} :=  \begin{pmatrix}
    \mu [k,i]    \\ \mu [k-1,i] \end{pmatrix}$  } \\
\text{конец цикла }  \\
\text{цикл для $i$ от $k+1$ до $n$ }  \\
\text{\qquad $\begin{pmatrix}
    \mu [i,k-1]    \\ \mu [i,k] \end{pmatrix} :=  \begin{pmatrix}
    1 & \mu [k,k-1]    \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 0 & 1
   \\ 1 & -\mu\mu  \end{pmatrix}
$
}
\text{$\begin{pmatrix} \mu [i,k-1]    \\ \mu [i,k] \end{pmatrix}$  } \\
\text{конец цикла}   \\
\text{Конец}
\end{equation*}

Переходим к обоснованию алгоритма A33 построения редуцированного базиса решетки. Оно состоит из доказательства двух утверждений. Во-первых, докажем, что если алгоритм завершит свою работу, то в результате получим редуцированный базис данной решетки. Во-вторых, докажем, что для любого исходного базиса решетки алгоритм после конечного числа шагов закончит работу.

Для доказательства первого утверждения заметим, что мы выполняем над элементами базиса только элементарные преобразования, которые переводят базис \mathbb Z -модуля в другой базис того же самого \mathbb Z -модуля, т. к. и перестановка элементов базиса и прибавление к одному из элементов целого кратного другого - обратимые операции. Таким образом, в любой момент времени b представляет собой базис исходной решетки. Элементы этого базиса с 1-го по (k-1) -ый представляют собой редуцированный базис подрешетки, порожденной этими элементами, т. к. для них выполнены условия (19.4) и (19.5). Когда мы производим преобразования вектора b[k], направленные на то, чтобы для него выполнялись условия (19.4), эти преобразования никак не отражаются на векторах с 1-го по (k-1) -ый, а если мы производим перестановку k -го элемента базиса с (k-1) -ым, то уменьшаем длину редуцированной части базиса на 1 (если она больше 1; меньше 1 длина редуцированной части базиса быть не может) и одновременно уменьшаем значение k. Для векторов с 1-го по (k-1) -ый снова выполнены условия (19.4) и (19.5). Таким образом, если алгоритм завершил свою работу, то получившийся базис - редуцированный базис исходной решетки L.

Прежде чем перейти к доказательству второго утверждения, приведем несколько определений и задач различной степени сложности.

20.1. УПРАЖНЕНИЕ. Пусть m(L) =\min \{ | x| ^2: x \in L, x\neq
0\}. Показать, что для любой решетки L выполняется неравенство m(L) >
0.

Введем обозначение

\begin{equation}
  d_i  =\det ((b_j , b_l ))_{1\leq j,l\leq i }\text { для }  0 \leq  i \leq  n. \end{equation} ( 20.12)

20.2. УПРАЖНЕНИЕ. Показать, что для всех i от 1 до n выполняется равенство d_i =\prod\limits_{j=1 }^i| b_j^*| ^2.

Для всех i  >  0 числа d_i могут быть интерпретированы как квадраты детерминантов решеток ранга i, порожденных векторами b_1,\dots,  b_i в векторных пространствах \sum\limits _{j=1 }^i Rb_j.

20.3. УПРАЖНЕНИЕ. Показать, что каждая такая решетка содержит ненулевой вектор x, удовлетворяющий неравенству

\begin{equation*}
       | x| ^2 \leq  (4/3)^{(i-1)/2}\cdot d_i^{1/i}.
\end{equation*}

Переходим теперь к доказательству второй части утверждения о корректности алгоритма построения редуцированного базиса. Пусть

\begin{equation*}
  D=\prod\limits_{j=1}^{n-1}d_i.
\end{equation*}

Из упражнения 20.2 следует, что значение D меняется только тогда, когда изменяется хотя бы один из векторов b_i^*. Это может произойти только при перестановке двух векторов базиса. При этом новое значение | b_{i-1 }^* 
| равно | b_i^* + \mu _{i\,i-1 }b_{i-1 }^* |, что по условию меньше, чем 3/4 от прежнего значения этой величины. Таким образом, при каждой выполняемой перестановке элементов базиса значение величины D умножается на положительное число, меньшее 3/4. Из упражнений 20.1-20.3 следует, что D ограничено снизу некоторой положительной величиной, следовательно, перестановка элементов выполняется в алгоритме только конечное число раз, обозначим его m. При каждом выполнении перестановки значение i уменьшается на 1, при выполнении команд, следующих за ключевым словом "иначе" в алгоритме, значение i увеличивается на 1. Начальное значение i равно 2, алгоритм продолжает работу до тех пор, пока i \leq n, следовательно, ситуация "иначе" встречается m+n-1 раз, т.е. тело цикла "пока" выполняется конечное число раз. Таким образом, алгоритм завершает работу после выполнения конечного числа шагов. Ниже мы оценим это число для случая, когда все координаты исходного базиса решетки - целые числа.

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

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

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