Функция получения пораждающих полиномов полей Галуа
pr = primpoly(m, [print]); pr = primpoly(m,k, [print]); pr = primpoly(m, str, [print]);
m - целое число, значением от 2 до 16, задающее количество элементов поля Галуа как 2m;
k - целое число, устанавливает, что будут получены только те порождающие полиномы, которые имеют k ненулевых членов;
str - строковая переменная, может иметь значения "min", "max", "all"; устанавливает что необходимо выводить полиномы с максимальным, минимальным или всеми возможными количествами ненулевых членов;
print - опциональный аргумент двоичного типа, устанавливает нужно ли выводить в окно сообщений полученные полиномы в виде степеней D; по умолчанию имеет значение True, что означает, что полиномы будут выводить в окно сообщений.
primpoly(m, [print]) – функция получает в десятичном виде маску битов, соответствующих коэффициентам при степенях D в воспроизводящем полиноме поля Галуа степени m; младший бит числа соответствует нулевой степени D в полиноме; опциональный аргумент print задает опцию вывода полинома в окно сообщений программы;
primpoly(m,k, [print]) - функция получает в десятичном виде маски битов пораждающих полиномов поля Галуа степени m, содержащих k ненулевых членов; опциональный аргумент print задает опцию вывода полученных полиномов в окно сообщений программы; младший бит каждого десятичного числа соответствует нулевой степени D в полиноме;
Функция возвращает массив целых значений, каждое из которых соответствует битовой маске пораждающего полинома поля Галуа заданной степени.
pr1 = primpoly(6); // воспроизводящий полином поля Галуа 2^6 pr2 = primpoly(6,3); // воспроизводящие полиномы поля Галуа 2^6 с тремя значащими степенями D pr3 = primpoly(6, "min"); // воспроизводящий полином поля Галуа 2^6 с минимальным количеством значащих степеней D pr4 = primpoly(6, "max"); // воспроизводящий полином поля Галуа 2^6 с максимальным количеством значащих степеней D pr5 = primpoly(6, "all"); // все воспроизводящие полиномы поля Галуа 2^6 pr6 = primpoly(6, false); // то же, что pr1, только без вывода полинома в консоль pr7 = primpoly(6,3, false); // то же, что pr2, только без вывода полиномов в консоль pr8 = primpoly(6, "min", false); // то же, что pr3, только без вывода полиномов в консоль pr9 = primpoly(6, "max", false); // то же, что pr4, только без вывода полиномов в консоль pr10 = primpoly(6, "all", false); // то же, что pr5, только без вывода полиномов в консоль
В скрипте примера происходит получение воспроизводящих полиномов поля Галуа степени 6 с разными опциями.