Communications Toolbox | ![]() ![]() |
Compute the rank of a matrix over a Galois field
Syntax
Description
Note
This function performs computations in GF(pm) where p is odd. To work in GF(2m), use the rank function with Galois arrays. For details, see Computing Ranks.
|
rk = gfrank(A,p)
calculates the rank of the matrix A
in GF(p
), where p
is a prime number.
Algorithm
gfrank
uses an algorithm similar to Gaussian elimination.
Examples
In the code below, gfrank
says that the matrix A
has less than full rank. This conclusion makes sense because the determinant of A
is zero mod p
.
A = [1 0 1; 2 1 0; 0 1 1]; p = 3; det_a = det(A); % Ordinary determinant of A detmodp = rem(det(A),p); % Determinant mod p rankp = gfrank(A,p); disp(['Determinant = ',num2str(det_a)]) disp(['Determinant mod p is ',num2str(detmodp)]) disp(['Rank over GF(p) is ',num2str(rankp)])
![]() | gfprimfd | gfrepcov | ![]() |