Introduction to NumPy and Matplotlib
Chapter 8: NumPy recap and exercises
Solve linear equations
Another linear algebra question!
Challenge #2
Use NumPy
and matrix multiplication to solve the following linear equations:
- 2x_0 + 4x_1 = 8
- 3x_0 - 2x_1 = 8
If you remember your linear algebra, then this is a matter of representing the equation in matrix form:
\begin{bmatrix}2 & 4\\3 & -2\end{bmatrix}\begin{bmatrix}x_0\\x_1\end{bmatrix}= \begin{bmatrix}8\\8\end{bmatrix}
Solving the equation is a matter of inverting the matrix with your coefficients.
\begin{bmatrix}x_0\\x_1\end{bmatrix}= \begin{bmatrix}2 & 4\\3 & -2\end{bmatrix}^{-1}\begin{bmatrix}8\\8\end{bmatrix}
See the documentation for np.linalg
to find a function to compute the inverse of a matrix.
import numpy as np
a = np.array([[2, 4], [3, -2]])
b = np.array([8, 8])
x = ????
assert np.all(x == np.array([3. , 0.5]))
import numpy as np
a = np.array([[2, 4], [3, -2]])
b = np.array([8, 8])
x = np.linalg.inv(a) @ b
# or use np.matmul()
x = np.matmul(np.linalg.inv(a), b)