Упростите или преобразуйте форматирование элемента Поля Галуа
tp = gftuple(a,m)
tp = gftuple(a,prim_poly)
tp = gftuple(a,m,p)
tp = gftuple(a,prim_poly,p)
tp = gftuple(a,prim_poly,p,prim_ck)
[tp,expform] = gftuple(...)
Примечание
Эта функция выполняет расчеты в GF (pm), где p является главным. Выполнять эквивалентные расчеты в GF (2m), примените .^
оператор и log
функционируйте к массивам Галуа. Для получения дополнительной информации смотрите Пример: Возведение в степень и Пример: Поэлементный Логарифм.
gftuple
подачи, чтобы упростить полиномиальный или экспоненциальный формат элементов Поля Галуа или преобразовать от одного формата до другого. Для объяснения форматов, что gftuple
использование, смотрите Элементы Представления Полей Галуа.
В этом обсуждении, формате элемента GF (pm) называется “самым простым”, если все экспоненты примитивного элемента
Между 0 и m-1 для полиномиального формата
Любой -Inf
, или между 0 и pm-2, для экспоненциального формата
Для всех синтаксисов, a
матрица, каждая строка которой представляет элемент Поля Галуа. Формат a
определяет, как MATLAB интерпретирует его:
Если a
столбец целых чисел, MATLAB интерпретирует каждую строку как экспоненциальный формат элемента. Отрицательные целые числа эквивалентны -Inf
в этом они все представляют нулевой элемент поля.
Если a
имеет больше чем один столбец, MATLAB интерпретирует каждую строку как полиномиальный формат элемента. (Каждая запись a
должно быть целое число между 0 и p
-1.)
Экспоненциальные или полиномиальные упомянутые выше форматы являются всеми относительно примитивного элемента, указанного вторым входным параметром. Второй аргумент описан ниже.
tp = gftuple(a,m)
возвращает самый простой полиномиальный формат элементов что a
представляет, где k-ая строка tp
соответствует k-ой строке a
. Форматы относительно корня примитивного полинома по умолчанию для GF (2^m
), где m
положительное целое число.
tp = gftuple(a,prim_poly)
совпадает с синтаксисом выше, за исключением того, что prim_poly
полиномиальный вектор символов или вектор-строка, который перечисляет коэффициенты степени m
примитивный полином для GF (2^m
) в порядке возрастающих экспонент.
tp = gftuple(a,m,p)
совпадает с tp = gftuple(a,m)
за исключением того, что 2 заменяется простым числом p
.
tp = gftuple(a,prim_poly,p)
совпадает с tp = gftuple(a,prim_poly)
за исключением того, что 2 заменяется простым числом p
.
tp = gftuple(a,prim_poly,p,prim_ck)
совпадает с tp = gftuple(a,prim_poly,p)
за исключением того, что gftuple
проверки, ли prim_poly
представляет полином, который действительно примитивен. В противном случае затем gftuple
генерирует ошибку и tp
не возвращен. Входной параметр prim_ck
может быть любой номер или вектор символов; только его вопросы существования.
[tp,expform] = gftuple(...)
возвращает дополнительный матричный expform
. K-ая строка expform
самый простой экспоненциальный формат элемента что k-ая строка a
представляет. Все другие функции как описано в началах этого раздела “Description”, в зависимости от входных параметров.
Как другой пример, gftuple
команда ниже генерирует список элементов GF (p^m
), расположенный относительно корня примитивного полинома по умолчанию. Некоторые функции в этом тулбоксе используют такой список в качестве входного параметра.
p = 5; % Or any prime number m = 4; % Or any positive integer field = gftuple([-1:p^m-2]',m,p);
Наконец, эти две команды ниже иллюстрируют влияние формы входной матрицы. В первой команде вектор-столбец обработан как последовательность элементов, описанных в экспоненциальном формате. Во второй команде вектор-строка обработан как один элемент, описанный в полиномиальном формате.
tp1 = gftuple([0; 1],3,3) tp2 = gftuple([0, 0, 0, 1],3,3)
Выход ниже.
tp1 = 1 0 0 0 1 0 tp2 = 2 1 0
Выходные параметры отражают что, согласно примитивному полиному по умолчанию для GF (33), отношения ниже верны.
gftuple
использует рекурсивные коллбэки, чтобы определить экспоненциальный формат.