np.linalg.matrix_rank¶
- np.linalg.matrix_rank(x)[source]¶
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([[ 0, 4, 5, 22], [ 5, 25, 4, 16], [ 3, 8, 13, 12], [13, 23, 7, 29]], order=31) In [6]: A[:,2] = A[:,1] * GF(17); A Out[6]: GF([[ 0, 4, 6, 22], [ 5, 25, 22, 16], [ 3, 8, 12, 12], [13, 23, 19, 29]], 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, 29, 21, 17], [26, 27, 1, 4], [ 6, 18, 19, 22], [18, 19, 10, 6]], order=31) In [10]: A[3,:] = A[2,:] * GF(8); A Out[10]: GF([[14, 29, 21, 17], [26, 27, 1, 4], [ 6, 18, 19, 22], [17, 20, 28, 21]], order=31) In [11]: np.linalg.matrix_rank(A) Out[11]: 3