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 (2 м), примените оператор .^ и функцию 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, где kth строка tp соответствует kth строке 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. kth строка expform является самым простым экспоненциальным форматом элемента, который представляет kth строка 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