In [1]:
import numpy as np
import numpy.linalg as linalg

Linear Algebra with NumPy

With Numpy it's also easy to generate matrices and perform operations on them.

Generating a Matrix


In [2]:
A = np.matrix([[1,2], [3,4]])
A


Out[2]:
matrix([[1, 2],
        [3, 4]])

Inverting a Matrix


In [3]:
A_inv = linalg.inv(A)
A_inv


Out[3]:
matrix([[-2. ,  1. ],
        [ 1.5, -0.5]])

Multiplying Matrices


In [4]:
A * A_inv


Out[4]:
matrix([[  1.00000000e+00,   0.00000000e+00],
        [  8.88178420e-16,   1.00000000e+00]])

Linalg

The linalg library provides a number of useful linear algebra routines.

Computing Eigenvalues and Vectors


In [5]:
eigenvalues, eigenvectors = linalg.eig(A)
eigenvalues


Out[5]:
array([-0.37228132,  5.37228132])

In [6]:
eigenvectors


Out[6]:
matrix([[-0.82456484, -0.41597356],
        [ 0.56576746, -0.90937671]])

Solving Linear Systems

$3 \times x_0 + x_1 = 9$

$x_0 + 2 \times x_1 = 8$


In [7]:
a = np.array([[3, 1], [1,2]])
b = np.array([9,8])
np.linalg.solve(a,b)


Out[7]:
array([ 2.,  3.])