# np.linalg.matrix_rank¶

np.linalg.matrix_rank(x)

Returns the rank of a Galois field matrix.

References

Examples

```In [1]: GF = galois.GF(31)

In [2]: A = GF.Identity(4); A
Out[2]:
GF([[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]], order=31)

In [3]: np.linalg.matrix_rank(A)
Out[3]: 4
```

One column is a linear combination of another.

```In [4]: GF = galois.GF(31)

In [5]: A = GF.Random((4,4)); A
Out[5]:
GF([[16,  8,  2, 12],
[29, 17, 12, 16],
[18, 19, 25, 27],
[ 4,  7, 15, 10]], order=31)

In [6]: A[:,2] = A[:,1] * GF(17); A
Out[6]:
GF([[16,  8, 12, 12],
[29, 17, 10, 16],
[18, 19, 13, 27],
[ 4,  7, 26, 10]], order=31)

In [7]: np.linalg.matrix_rank(A)
Out[7]: 3
```

One row is a linear combination of another.

```In [8]: GF = galois.GF(31)

In [9]: A = GF.Random((4,4)); A
Out[9]:
GF([[14, 23, 23, 18],
[11, 18,  8,  0],
[25, 17, 30, 18],
[14, 19, 11,  7]], order=31)

In [10]: A[3,:] = A[2,:] * GF(8); A
Out[10]:
GF([[14, 23, 23, 18],
[11, 18,  8,  0],
[25, 17, 30, 18],
[14, 12, 23, 20]], order=31)

In [11]: np.linalg.matrix_rank(A)
Out[11]: 3
```