gftuple

Упростите или преобразуйте форматирование элемента Поля Галуа

Синтаксис

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), отношения ниже верны.

α0=1+0α+0α2α1=0+1α+0α20+0α+0α2+α3=2+α+0α2

Алгоритмы

gftuple использует рекурсивные коллбэки, чтобы определить экспоненциальный формат.

Смотрите также

| | | | |

Представлено до R2006a