Skip to content

Linear Algebra with NumPy

Why linear algebra is useful

Linear algebra appears in:

  • Regression
  • Optimization
  • Dimensionality reduction
  • Correlation and covariance

NumPy provides numpy.linalgnumpy.linalg for common operations.

Dot product

dot
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.dot(a, b))  # 1*4 + 2*5 + 3*6
dot
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.dot(a, b))  # 1*4 + 2*5 + 3*6

Matrix multiplication

matmul
import numpy as np
 
A = np.array([[1, 2], [3, 4]])
B = np.array([[10, 20], [30, 40]])
 
print(A @ B)
print(np.matmul(A, B))
matmul
import numpy as np
 
A = np.array([[1, 2], [3, 4]])
B = np.array([[10, 20], [30, 40]])
 
print(A @ B)
print(np.matmul(A, B))

Transpose

transpose
import numpy as np
 
A = np.array([[1, 2], [3, 4]])
print(A.T)
transpose
import numpy as np
 
A = np.array([[1, 2], [3, 4]])
print(A.T)

Determinant and inverse

det-inv
import numpy as np
 
A = np.array([[1, 2], [3, 4]])
 
det = np.linalg.det(A)
inv = np.linalg.inv(A)
 
print("det:", det)
print("inv:\n", inv)
det-inv
import numpy as np
 
A = np.array([[1, 2], [3, 4]])
 
det = np.linalg.det(A)
inv = np.linalg.inv(A)
 
print("det:", det)
print("inv:\n", inv)

Solve a system of equations

Solve A x = bA x = b:

solve
import numpy as np
 
A = np.array([[2, 1], [1, 3]])
b = np.array([8, 13])
 
x = np.linalg.solve(A, b)
print(x)
solve
import numpy as np
 
A = np.array([[2, 1], [1, 3]])
b = np.array([8, 13])
 
x = np.linalg.solve(A, b)
print(x)

Eigenvalues and eigenvectors

eig
import numpy as np
 
A = np.array([[2, 0], [0, 3]])
vals, vecs = np.linalg.eig(A)
 
print("eigenvalues:", vals)
print("eigenvectors:\n", vecs)
eig
import numpy as np
 
A = np.array([[2, 0], [0, 3]])
vals, vecs = np.linalg.eig(A)
 
print("eigenvalues:", vals)
print("eigenvectors:\n", vecs)

Norms (vector length)

norm
import numpy as np
 
v = np.array([3, 4])
print(np.linalg.norm(v))  # 5
norm
import numpy as np
 
v = np.array([3, 4])
print(np.linalg.norm(v))  # 5

Next

Continue to: Statistical Functions in NumPy for mean/median/std/percentiles and basic descriptive analytics.

๐Ÿงช Try It Yourself

Exercise 1 โ€“ Create a NumPy Array

Exercise 2 โ€“ Array Shape and Reshape

Exercise 3 โ€“ Array Arithmetic

If this helped you, consider buying me a coffee โ˜•

Buy me a coffee

Was this page helpful?

Let us know how we did