Linear Algebra Functions
Contents
Linear Algebra Functions#
NumPy has a submodule linalg
for functions related to linear algebra, but the base numpy
module also contains some linear algebra functions. Linear algebra in NumPy’s documentation provides a comprehensive list of functions. Here we only provide few examples.
import numpy as np
For mathematical definitions see Linear Algebra.
Vector Products#
For inner products use np.inner
. For outer products use np.cross
.
a = np.array([1, 2, 3])
b = np.array([1, 0, 2])
print(np.inner(a, b))
print(np.cross(a, b))
7
[ 4 1 -2]
Matrix Transpose#
The np.transpose
function yields the transpose of a matrix. Alternatively, a NumPy array’s member variable T
holds the transpose, too. The transpose is a view (not a copy) of the original matrix.
A = np.array([[1, 2, 3],
[4, 5, 6]])
print(np.transpose(A))
print(A.T)
[[1 4]
[2 5]
[3 6]]
[[1 4]
[2 5]
[3 6]]
Matrix Multiplication#
NumPy introduces the @
operator for matrix multiplication. It’s equivalent to calling np.matmul
.
A = np.array([[1, 2, 3],
[4, 5, 6]])
B = np.array([[1, 0],
[2, 1],
[1, 1]])
print(A @ B)
print(np.matmul(A, B))
[[ 8 5]
[20 11]]
[[ 8 5]
[20 11]]
Determinants and Inverses#
Determinants and inverses of square matrices can be computed with np.linalg.det
and np.linalg.inv
, respectively.
A = np.array([[2, 0],
[1, 1]])
print(np.linalg.det(A))
print(np.linalg.inv(A))
2.0
[[ 0.5 0. ]
[-0.5 1. ]]