np.linalg.solve
- np.linalg.solve(x)
Solves the system of linear equations.
References
Examples
In [1]: GF = galois.GF(31) # Ensure A is full rank and invertible In [2]: while True: ...: A = GF.Random((4,4)) ...: if np.linalg.matrix_rank(A) == 4: ...: break ...: In [3]: A Out[3]: GF([[ 4, 10, 8, 9], [11, 4, 7, 25], [12, 20, 16, 27], [14, 7, 25, 4]], order=31) In [4]: b = GF.Random(4); b Out[4]: GF([ 3, 15, 16, 30], order=31) In [5]: x = np.linalg.solve(A, b); x Out[5]: GF([10, 27, 8, 7], order=31) In [6]: A @ x Out[6]: GF([ 3, 15, 16, 30], order=31)
In [7]: GF = galois.GF(31) # Ensure A is full rank and invertible In [8]: while True: ...: A = GF.Random((4,4)) ...: if np.linalg.matrix_rank(A) == 4: ...: break ...: In [9]: A Out[9]: GF([[16, 17, 4, 27], [24, 24, 25, 15], [20, 16, 5, 25], [14, 13, 16, 3]], order=31) In [10]: B = GF.Random((4,2)); B Out[10]: GF([[15, 10], [26, 7], [14, 16], [ 8, 8]], order=31) In [11]: X = np.linalg.solve(A, B); X Out[11]: GF([[23, 11], [ 1, 13], [ 0, 2], [15, 29]], order=31) In [12]: A @ X Out[12]: GF([[15, 10], [26, 7], [14, 16], [ 8, 8]], order=31)