Логарифм в Поле Галуа
y = log(x)
y = log(x) вычисляет логарифм каждого элемента в массиве Галуа x. y является целочисленным массивом, который решает уравнение A.^y = x, где A является примитивным элементом, используемым, чтобы представлять элементы в x. Более явным образом основным A логарифма является gf(2,x.m) или gf(2,x.m,x.prim_poly). Все элементы в x должны быть ненулевыми, потому что логарифм нуля не определен.
Код ниже иллюстрирует, как операция логарифма инвертирует возведение в степень.
m = 4; x = gf([8 1 6; 3 5 7; 4 9 2],m); y = log(x); primel = gf(2,m); % Primitive element in the field z = primel .^ y; % This is now the same as x. ck = isequal(x,z)
Вывод
ck =
1
Код ниже показов, что логарифмом 1 является 0 и что логарифмом основы (primel) является 1.
m = 4; primel = gf(2,m); yy = log([1, primel])
Вывод
yy =
0 1