gfdiv

Divide elements of Galois field

Syntax

quot = gfdiv(b,a)
quot = gfdiv(b,a,p)
quot = gfdiv(b,a,field)

Description

Note

This function performs computations in GF(pm), where p is prime. To work in GF(2m), apply the ./ operator to Galois arrays. For details, see Example: Division.

The gfdiv function divides elements of a Galois field. (To divide polynomials over a Galois field, use gfdeconv instead.)

quot = gfdiv(b,a) divides b by a in GF(2) element-by-element. a and b are scalars, vectors or matrices of the same size. Each entry in a and b represents an element of GF(2). The entries of a and b are either 0 or 1.

quot = gfdiv(b,a,p) divides b by a in GF(p) and returns the quotient. p is a prime number. If a and b are matrices of the same size, the function treats each element independently. All entries of b, a, and quot are between 0 and p-1.

quot = gfdiv(b,a,field) divides b by a in GF(pm) and returns the quotient. p is a prime number and m is a positive integer. If a and b are matrices of the same size, then the function treats each element independently. All entries of b, a, and quot are the exponential formats of elements of GF(pm) relative to some primitive element of GF(pm). field is the matrix listing all elements of GF(pm), arranged relative to the same primitive element. See Representing Elements of Galois Fields for an explanation of these formats.

In all cases, an attempt to divide by the zero element of the field results in a “quotient” of NaN.

Examples

The code below displays lists of multiplicative inverses in GF(5) and GF(25). It uses column vectors as inputs to gfdiv.

% Find inverses of nonzero elements of GF(5).
p = 5;
b = ones(p-1,1);
a = [1:p-1]';
quot1 = gfdiv(b,a,p);
disp('Inverses in GF(5):')
disp('element  inverse')
disp([a, quot1])

% Find inverses of nonzero elements of GF(25).
m = 2;
field = gftuple([-1:p^m-2]',m,p);
b = zeros(p^m-1,1); % Numerator is zero since 1 = alpha^0.
a = [0:p^m-2]';
quot2 = gfdiv(b,a,field);
disp('Inverses in GF(25), expressed in EXPONENTIAL FORMAT with')
disp('respect to a root of the default primitive polynomial:')
disp('element  inverse')
disp([a, quot2])