Пожалуйста, проясните ситуацию. Был выбран курс " Компьютерная алгебра" для самостоятельного изучения. Как теперь записаться на этот курс с целью получения диплома о повышении квалификации? На данный момент он имеет статус " изучаю". Если я пройду экзаменационный тест в таком статусе без оформления документов и оплаты диплома, придется ли еще раз регистрироваться на этот курс и заново проходить тестирование? |
Редуцированные базисы решетки. Редуцирование базиса в решетке
Редуцирование базиса в решетке
В этом параграфе рассмотрим алгоритм построения редуцированного базиса решетки, полученный в работе [ 24 ] . Определение решетки и редуцированного базиса приведены в параграфе 19. Там же описаны основные свойства редуцированных базисов, которые понадобятся нам в алгоритмах факторизации многочленов.
Ниже сформулирован и обоснован алгоритм построения редуцированного базиса решетки. Построение редуцированного базиса ведем, последовательно присоединяя очередной ( -ый) элемент исходного базиса решетки и редуцируя базис подрешетки, натянутой на векторы с 1-го по -ый. Алгоритм содержит два основных шага: на одном из них мы из присоединяемого вектора вычитаем целые кратные векторов, уже включенных в редуцированный базис, чтобы обеспечить выполнение условия (19.4). При этом длина редуцированной части базиса не меняется. Второй шаг, направленный на выполнение условия 19.5, сводится к перестановке добавляемого вектора с последним вектором, уже включенным в редуцированный базис, при такой перестановке длина редуцированной части базиса уменьшается на 1. Переменная указывает номер элемента, который пытаемся присоединить к редуцированной части базиса, т.е. редуцированная часть базиса содержит в каждый момент вектор. Начальное значение равно 2, т. к. любой базис решетки, порождаемой одним вектором, является редуцированным (условия (19.4) и (19.5) выполняются автоматически, поскольку нет различных индексов).
В описании алгоритма редуцирования базиса пользуемся типом данных "решетка". В отличие от принятых ранее обозначений, здесь значения индексов принадлежат отрезку (а не ), т.е.
А33. АЛГОРИТМ (редуцирование-базиса).
Элементы вектора представляют собой квадраты длин соответствующих векторов из ортогонального базиса , вычисляемого по формулам (19.1) и (19.2).
Детализируем предложенный алгоритм.
А34. АЛГОРИТМ (начальная-установка).
Отметим, что в предлагаемой версии алгоритма переменная (двумерный массив, соответствующий ортогональному базису ) локальна, в остальной части алгоритма этот базис в явном виде не используется. Применяется вектор , элементы которого представляют собой квадраты длин ортогонального базиса, что позволяет значительно экономить память, используемую основной программой (вместо двумерного массива хранится одномерный). При этом нужно проследить, как изменяются компоненты вектора при различных выполняемых преобразованиях, что сделано при описании соответствующих предписаний.
А35. АЛГОРИТМ (обеспечить-выполнение-условия-(19.4)).
Элементы нижней треугольной матрицы вычисляются по формулам (19.2). В данном алгоритме меняем только вектор с индексом . При этом меняется только -ая строка матрицы , из нее вычитается -ая строка матрицы , умноженная на . ( - единичная матрица.)
Прежде чем переходить к формулировке алгоритма перестановки -го элемента базиса с -м, выведем соответствующие формулы. Пусть - текущий базис, ему соответствует ортогональный базис и нижняя треугольная матрица . Элементы нового базиса обозначим буквой с соответствующим индексом, соответствующий ортогональный базис - , нижнюю треугольную матрицу - . Вычислить элементы базиса не представляет труда:
( 20.1) |
Переходим к вычислению ортогонального базиса. Как отмечалось выше, левая часть равенства (19.5) представляет собой квадрат длины ортогонального дополнения -го вектора к подпространству, порожденному векторами с 1-го по -ой.
Таким образом,
( 20.2) |
Для вычисления спроектируем на ортогональное дополнение к . Получим
( 20.3) |
( 20.4) |
( 20.5) |
Для вычисления коэффициентов нам понадобится выразить старый ортогональный базис через новый. Из соотношений (20.2), (20.3) и (20.4) получаем
( 20.6) |
( 20.7) |
Подставив соотношения (20.1)-(20.7)в формулу (19.1) и приведя подобные члены, получим для
( 20.8) |
( 20.9) |
Наконец,
( 20.10) |
( 20.11) |