#!/usr/bin/env python
# coding: utf-8

# In[1]:


from numpy import array
from scipy.linalg import eig
A = array([[5, 1], [2, 4]])


# In[3]:


l, v = eig(A)


# In[4]:


l


# In[5]:


v


# In[9]:


#power method for finding eigenvector with largest (in abs value) eigenvalue
def pm(A, v0, n):
    from numpy import sqrt, sum
    v = v0
    for i in range(n):
        v = A@v
        v = v / sqrt(sum(v**2)) #normalize to length (2-norm) of 1
        print(v)
    return v
    


# In[12]:


A = array([[7, 4], [2, 5]])
v = array([1, 1])
v = pm(A, v, 5)


# In[14]:


A@v / v #entries will converge to largest eigenvalue


# In[22]:





# In[ ]:




