https://medium.com/@abhishekmishra13k/getting-started-with-eigenvalues-and-eigenvectors-an-introduction-for-beginners-7116a73b9b4f