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