This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


Compute rank of matrix over Galois field


rk = gfrank(A,p)


    Note:   This function performs computations in GF(pm) where p is prime. If you are working 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.


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)])

The output is below.

Determinant = 3
Determinant mod p is 0
Rank over GF(p) is 2

More About

collapse all


gfrank uses an algorithm similar to Gaussian elimination.

Introduced before R2006a

Was this topic helpful?