This toolbox can handle simple operations (+,-,*,/,.*,./,inv) of GF(p^n) for any p and n. Examples are given below (also documented in gf_test.m).
If you find any bug or have any concern/comment, please contact me.
% setup path
java_path_setup;
% create gf class of 3^2
gf9=gf(3,2);
%%%%
% Eg. 1
a=[2 1;1 0]
% compute rank
gf9.rank(a)
% compute inverse
inva = gf9.inv(a)
% Check inverse
a_times_ainva=gf9.mult(a,inva)
% matrix divide
gf9.div(a,a)
%%%%%
% Eg. 2
b=[1 2 1;1 0 1];
c=[1 1 0;2 1 1];
% compute summation
gf9.add(b,c)
% compute subtraction
gf9.sub(b,c)
% compute dot multiplication
gf9.dmult(b,c)
% compute dot division
gf9.ddiv(b,c)
% output the primitive polynomial
gf9.return_primitive_polynomial % x^2 + 1
% show polynomial representation
gf9.return_poly_representation(5) % x + 2
%%%%
% Eg. 3
% manipulating polynomials.
a=[1 2 1 1];
b=[1 3 1];
gf9.conv(a,b)
[q,rem]=gf9.deconv(a,b)
|