Примитивный многочлен (теория поля)

редактировать

Сорт минимального многочлена расширения конечных полей

В теории поля, ветвь математики, примитивный многочлен - это минимальный многочлен примитивного элемента конечного поле расширения GF (p). Другими словами, многочлен F (X) с коэффициентами в GF (p) = Z/pZявляется примитивным многочленом, если его степень равна m и у него есть корень α в GF (p) такой, что {0, 1, α, α, α,..., α} - все поле GF (p). Это также означает, что α является примитивным (p - 1) -корнем единицы в GF (p).

Содержание
  • 1 Свойства
  • 2 Использование
    • 2.1 Представление элемента поля
    • 2.2 Генерация псевдослучайных битов
    • 2.3 Коды CRC
  • 3 Примитивные трехчлены
  • 4 Ссылки
  • 5 Внешние ссылки
Свойства

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

Примитивный многочлен должен иметь ненулевой постоянный член, иначе он будет делиться на x. По GF (2), x + 1 является примитивным многочленом, а все другие примитивные многочлены имеют нечетное число членов, поскольку любой многочлен по модулю 2 с четным числом членов делится на x + 1 (он имеет 1 в качестве корня).

неприводимый многочлен F (x) степени m над GF (p), где p простое число, является примитивным многочленом, если наименьшее положительное целое число n такое, что F (x) делит x - 1 равно n = p - 1.

Над GF (p) имеется ровно φ (p - 1) / m примитивных многочленов степени m, где φ - функция Эйлера.

Примитивный многочлен степени m имеет m различных корней в GF (p), все из которых имеют порядок p - 1. Это означает, что если α - такой корень, то α = 1 и α ≠ 1 для 0 < i < p − 1.

Примитивный многочлен F (x) степени m примитивного элемента α в GF (p) имеет явный вид F (x) = (x - α) (x - α) (x - α) ⋅⋅⋅ (х - α).

Использование

Представление элемента поля

Примитивные полиномы используются в представлении элементов конечного поля. Если α в GF (p) является корнем примитивного многочлена F (x), то, поскольку порядок α равен p - 1, это означает, что все ненулевые элементы GF (p) могут быть представлены как последовательные степени α:

GF (pm) = {0, 1, α, α 2,…, α pm - 2}. {\ displaystyle \ mathrm {GF} (p ^ {m}) = \ {0,1, \ alpha, \ alpha ^ {2}, \ ldots, \ alpha ^ {p ^ {m} -2} \}. }{\ displaystyle \ mathrm {GF} (p ^ {m}) = \ {0,1, \ alpha, \ alpha ^ {2}, \ ldots, \ alpha ^ {p ^ {m} -2} \}.}

Когда эти элементы сокращаются по модулю F (x), они обеспечивают полиномиальное представление всех элементов поля.

Поскольку мультипликативная группа конечного поля всегда является циклической группой, примитивный многочлен f - это многочлен, такой что x является генератором мультипликативной группы в GF (p) [x] / f (x)

Генерация псевдослучайных битов

Примитивные полиномы над GF (2), полем с двумя элементами, могут использоваться для генерация псевдослучайных битов. Фактически, каждый регистр сдвига с линейной обратной связью с максимальной длиной цикла (которая составляет 2 - 1, где n - длина сдвигового регистра с линейной обратной связью) может быть построен из примитивного полинома.

Например, учитывая примитивный полином x + x + 1, мы начинаем с заданного пользователем ненулевого 10-битного начального числа, занимающего позиции битов с 1 по 10, начиная с младшего значащего бита. (Семя необязательно выбирать случайным образом, но это возможно). Затем мы берем 10-й и 3-й биты и создаем новый 0-й бит, так что xor из трех битов равен 0. Затем начальное число сдвигается влево на одну позицию, так что 0-й бит перемещается в позицию 1. Этот процесс можно повторить для генерации 2 - 1 = 1023 псевдослучайных битов.

В общем, для примитивного полинома степени m над GF (2) этот процесс будет генерировать 2–1 псевдослучайный бит перед повторением той же последовательности.

Коды CRC

Проверка циклическим избыточным кодом (CRC) - это код обнаружения ошибок, который работает, интерпретируя строку битов сообщения как коэффициенты полинома над GF (2) и делением на фиксированный образующий многочлен также над GF (2); см. Математика CRC. Примитивные полиномы или их кратные числа иногда являются хорошим выбором для порождающих полиномов, поскольку они могут надежно обнаруживать две битовые ошибки, которые возникают далеко друг от друга в битовой строке сообщения, на расстоянии 2 - 1 для примитивного полинома степени n.

Примитивные трехчлены

Полезным классом примитивных многочленов являются примитивные трехчлены, имеющие только три ненулевых члена: x + x + 1. Их простота делает особенно маленькими и быстрыми линейными регистры сдвига обратной связи. Ряд результатов дает методы для обнаружения и проверки примитивности трехчленов.

Для многочленов над GF (2), где 2-1 является простым числом Мерсенна, многочлен степени r примитивен тогда и только тогда, когда он неприводим. (Учитывая неприводимый многочлен, он не примитивен, только если период x является нетривиальным множителем 2-1. Простые числа не имеют нетривиальных множителей.) Хотя Mersenne Twister псевдослучайное число генератор не использует трехчлен, он использует это преимущество.

Ричард Брент составлял таблицы примитивных трехчленов этой формы, например x + x + 1. Это можно использовать для создания генератора псевдослучайных чисел с огромным периодом 2 - 1 ≈ 3 × 10.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-02 06:05:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте