А Х будет всегда примитивным элементом? И можно ли всегда последовательно строить поля( искать его элементы) так как я предложил?
Мне какбы нужен алгоритм поиска этих элементов.
Для того, чтобы корень неприводимого полинома, с помощью которого задается поле, был примитивным элементом, необходимо и достаточно, чтобы этот неприводимый полином сам был примитивным, т.е.
должно быть наименьшим показателем, при котором
делится на этот полином.
О том как строить такие полиномы можно почитать в первом томе монографии Лидла и Нидеррайтера "Конечные поля".
Впрочем, если вы задаете поле с помощью неприводимого полинома, не являющегося примитивным, найти в нем примитивный элемент совсем не сложно. Достаточно возвести "подозреваемого" во все степени с показателями
, где
пробегает все простые делители
. Учитывая, что бинарный алгоритм возведения в степень по модулю полинома над
пишется очень просто и работает очень быстро, это не проблема. Чтобы элемент был примитивным, нужно чтобы при этих возведениях ни разу не получилась 1.