gf

Массив поля Галуа

Описание

пример

x_gf = gf(x) создает массив Поля Галуа (GF), GF (2), от матричного x.

пример

x_gf = gf(x,m) создает массив Поля Галуа из матричного x. Поле Галуа имеет 2m элементы, где m целое число от 1 до 16.

пример

x_gf = gf(x,m,prim_poly) создает массив Поля Галуа из матричного x при помощи примитивного полиномиального prim_poly.

Примеры

свернуть все

Задайте матрицу 0s и 1s.

x = [0 1 1; 0 1 0; 1 1 1];

Создайте GF (2) массив от x.

x_gf = gf(x)
 
x_gf = GF(2) array. 
 
Array elements = 
 
   0   1   1
   0   1   0
   1   1   1

Установите порядок Поля Галуа к 16, где порядок равняется 2m. Задайте матрицу элементов, которые лежат в диапазоне от 0 до 2m-1. Создайте массив Поля Галуа.

m = 4;
x = [3 2 9; 1 2 1];
y = gf(x,m)
 
y = GF(2^4) array. Primitive polynomial = D^4+D+1 (19 decimal)
 
Array elements = 
 
   3   2   9
   1   2   1

Создайте последовательность целых чисел. Создайте массив Поля Галуа в GF (25).

x = [17 8 11 27];
y = gf(x,5)
 
y = GF(2^5) array. Primitive polynomial = D^5+D^2+1 (37 decimal)
 
Array elements = 
 
   17    8   11   27

Определите все возможные примитивные полиномы для GF (25).

pp = primpoly(5,'all')
 
Primitive polynomial(s) = 
 
D^5+D^2+1
D^5+D^3+1
D^5+D^3+D^2+D^1+1
D^5+D^4+D^2+D^1+1
D^5+D^4+D^3+D^1+1
D^5+D^4+D^3+D^2+1
pp = 6×1

    37
    41
    47
    55
    59
    61

Создайте массив Поля Галуа с помощью примитивного полинома, который имеет десятичный эквивалент 59.

z = gf(x,5,'D5+D4+D3+D+1')
 
z = GF(2^5) array. Primitive polynomial = D^5+D^4+D^3+D+1 (59 decimal)
 
Array elements = 
 
   17    8   11   27

Входные параметры

свернуть все

Введите матрицу в виде матрицы со значениями, больше, чем или равный нулю. Функция использует это значение, чтобы создать массив GF.

  • Если вы не задаете prim_poly входной параметр, каждый элемент x должно быть целое число в области значений [0, 2m–1].

  • Если вы задаете prim_poly входной параметр, каждый элемент x должен быть 0 или 1.

Типы данных: double

Порядок примитивного полинома в виде положительного целого числа от 1 до 16. Функция использует это значение, чтобы вычислить отличное число элементов в GF.

Типы данных: double

Примитивный полином в виде одной из этих опций:

  • Вектор строки двоичных знаков — Этот вектор задает коэффициенты prim_poly в порядке возрастающих степеней.

  • Вектор символов или строковый скаляр — Это значение задают prim_poly в текстовом представлении. Для получения дополнительной информации обратитесь к полиномиальному вектору символов.

  • Положительное целое число — Это значение задает prim_poly в области значений [(2m + 1), (2m+1 – 1)].

Если prim_poly не задан, смотрите Примитивные Полиномы По умолчанию для списка примитивного полинома по умолчанию, используемого для каждого GF Поля Галуа массивов (2m).

Типы данных: double | char | string

Выходные аргументы

свернуть все

Массив поля Галуа, возвращенный как переменная, которую MATLAB распознает массивом Поля Галуа, а не массивом целых чисел. В результате, когда вы управляете переменной, MATLAB работает в Поле Галуа, которое задает переменная. Например, если вы применяете log функционируйте к массиву Галуа, MATLAB вычисляет логарифм в Поле Галуа для того массива Галуа а не в области вещественных или комплексных чисел.

Больше о

свернуть все

Примитивные полиномы по умолчанию

Эта таблица приводит примитивный полином по умолчанию, используемый для каждого GF Поля Галуа массивов (2m). Чтобы использовать различный примитивный полином, задайте prim_poly как входной параметр. prim_poly должен быть в области значений [(2m + 1), (2m+1 – 1)] и должен указать на неприводимый полином. Для получения дополнительной информации смотрите Примитивные Полиномы и Представления Элемента.

Значение mПримитивный полином по умолчаниюЦелочисленное представление
1D + 13
2D2 + D + 17
3D3 + D + 111
4D4 + D + 119
5D5 + D2 + 137
6D6 + D + 167
7D7 + D3 + 1137
8D8 + D4 + D3 + D2 + 1285
9D9 + D4 + 1529
10D10 + D3 + 11033
11D11 + D2 + 12053
12D12 + D6 + D4 + D + 14179
13D13 + D4 + D3 + D + 18219
14D14 + D10 + D6 + D + 117475
15D15 + D + 132771
16D16 + D12 + D3 + D + 169643

Расчеты Галуа

Эта таблица приводит операции, поддержанные для массивов Поля Галуа.

ОперацияОписание
+ -Сложение и вычитание массивов Галуа
* / \Умножение матриц и деление массивов Галуа
.* ./ .\Поэлементное умножение и деление массивов Галуа
^Матричное возведение в степень массива Галуа
.^Поэлементное возведение в степень массива Галуа
' .'Транспонируйте массива Галуа
==, ~=Операторы отношения для массивов Галуа
всеВерный, если все элементы вектора Галуа являются ненулевыми
любойВерный, если какой-либо элемент вектора Галуа является ненулевым
convСвертка векторов Галуа
convmtxМатрица свертки вектора Поля Галуа
deconvРазвертка и полиномиальное деление
detОпределитель квадрата матрица Галуа
dftmtxДискретная матрица преобразования Фурье в Поле Галуа
diagДиагональные матрицы Галуа и диагонали матрицы Галуа
fftДискретное преобразование Фурье
filter (gf)Одномерный цифровой фильтр по Полю Галуа
ifftОбратное дискретное преобразование Фурье
invИнверсия матрицы Галуа
длинаДлина вектора Галуа
logЛогарифм в Поле Галуа
лютецийФакторизация более низкой Верхней треугольной массива Галуа
minpolНайдите минимальный полином для элемента Галуа
mldivideМатричное левое деление \массивов Галуа
polyvalОцените полином в Поле Галуа
рангРанг массива Галуа
изменениеИзмените массив Галуа
корниНайдите полиномиальные корни через Поле Галуа
размерРазмер массива Галуа
trilИзвлеките нижнюю треугольную часть массива Галуа
triuИзвлеките верхнюю треугольную часть массива Галуа
Представлено до R2006a