primpoly

Функция получения пораждающих полиномов полей Галуа

Синтаксис:

pr = primpoly(m, [print]);
pr = primpoly(m,k, [print]);
pr = primpoly(m, str, [print]);

Аргументы:

Имя Тип данных Описание
m integer Целое число, значением от 2 до 16, задающее количество элементов поля Галуа как 2m
k integer Целое число, устанавливает, что будут получены только те порождающие полиномы, которые имеют k ненулевых членов
print boolean Опциональный аргумент двоичного типа, устанавливает нужно ли выводить в окно сообщений полученные полиномы в виде степеней D; по умолчанию имеет значение True, что означает, что полиномы будут выводить в окно сообщений
str string Строковая переменная, может иметь значения "min", "max", "all"; устанавливает что необходимо выводить полиномы с максимальным, минимальным или всеми возможными количествами ненулевых членов

Описание:

primpoly(m, [print]) – функция получает в десятичном виде маску битов, соответствующих коэффициентам при степенях D в воспроизводящем полиноме поля Галуа степени m; младший бит числа соответствует нулевой степени D в полиноме; опциональный аргумент print задает опцию вывода полинома в окно сообщений программы;

primpoly(m,k, [print]) - функция получает в десятичном виде маски битов пораждающих полиномов поля Галуа степени m, содержащих k ненулевых членов; опциональный аргумент print задает опцию вывода полученных полиномов в окно сообщений программы; младший бит каждого десятичного числа соответствует нулевой степени D в полиноме;

primpoly(m, str, [print]) - функция получает в десятичном виде маски битов пораждающих полиномов поля Галуа степени m, содержащих число ненулевых членов, соответствующее аргументу str:
  • если str = "max", то выводится пораждающий полином, содержащий максимальное количество ненулевых членов;
  • если str = "min", то выводится пораждающий полином, содержащий минимальное количество ненулевых членов;
  • если str = "all", то выводятся все пораждающие полиномы для элементов поля Галуа степени m.

Результат:

Имя Тип данных Описание
pr intarray Функция возвращает массив целых значений, каждое из которых соответствует битовой маске пораждающего полинома поля Галуа заданной степени.

Пример:

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 с разными опциями.

Дополнительные материалы

Нет.