Произведите полиномы генератора для циклического кода
pol = cyclpoly(n,k)
pol = cyclpoly(n,k,opt)
Для всех синтаксисов полином представлен как строка, содержащая коэффициенты в порядке возрастания степеней.
pol = cyclpoly(n,k) возвращает вектор-строку, представляющую один нетривиальный полином генератора для циклического кода, имеющего длину кодового слова n и длина сообщения k.
pol = cyclpoly(n,k, ищет один или несколько нетривиальных полиномов генератора для циклических кодов, имеющих длину кодового слова opt) n и длина сообщения k. Область выхода pol зависит от аргумента opt как показано в таблице ниже.
| выбрать | Значимость pol | Формат pol |
|---|---|---|
'min' | Один полином генератора, имеющий наименьший возможный вес | Вектор-строка, представляющий полином |
'max' | Один полином генератора, имеющий максимально возможный вес | Вектор-строка, представляющий полином |
'all' | Все полиномы генератора | Матрица, каждая строка которой представляет один такой полином |
| положительное целое число, L | Все полиномы генератора, имеющие L веса | Матрица, каждая строка которой представляет один такой полином |
Вес двоичного полинома является количеством ненулевых членов, которые он имеет. Если ни один полином генератора не удовлетворяет заданным условиям, выход pol пуст, отображается предупреждающее сообщение.
Если opt является 'min', 'max'или опущенные полиномы строятся путем преобразования десятичных целых чисел в базовые p. На основе десятичного упорядоченного расположения, gfprimfd возвращает первый полином, который он находит, удовлетворяющий соответствующим условиям. Этот алгоритм похож на тот, который используется в gfprimfd.