In [1]:
import matplotlib
import numpy as np
import scipy.linalg as la
import matplotlib.pyplot as plt
%matplotlib inline
np.random.seed(42)
In [2]:
Nx = 18
Nw = 7500
dxdw = np.random.normal(size=(Nx, Nw))
matrix = np.dot(dxdw.T, dxdw)
matrix.shape
Out[2]:
In [3]:
vals, vecs = la.eigh(matrix, eigvals=(Nw - Nx - 2, Nw - 1))
vals.shape, vecs.shape
Out[3]:
In [4]:
# The first 2 values of vals should be zero, essentially!
print(vals)
In [ ]: