A toolbox for simple finite field operation

This is a toolbox providing simple operations (+,-,*,/,.*,./,inv) for finite field.
808 Downloads
Updated 4 Sep 2012

View License

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)

Cite As

Samuel Cheng (2024). A toolbox for simple finite field operation (https://www.mathworks.com/matlabcentral/fileexchange/32872-a-toolbox-for-simple-finite-field-operation), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Error Detection and Correction in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3.0.0

Added new functionality to manipulate polynomials.

1.1.0.0

Oops, found two silly bugs. First, an error check condition was corrected.

Second, I guess it is probably the safest to run a separate script to setup path and so I extracted that part out.

1.0.0.0