from numpy import * # ligne suivante seulement pour ipython %matplotlib inline import matplotlib as plt import pylab as pl A = array([[ 0.00356101, 0.53584758], [ 0.33824661, 0.02571842]]) theta = linspace(0,2*pi,200) v = array([cos(theta), sin(theta)]) for i in range(0,50): # on itere Av/||v|| v = dot(A,v) # 1 produit Av mv = max(linalg.norm(v,axis=0)) v = v/mv # plot un r sur 10 if i % 10 == 0: pl.plot(v[0,:],v[1,:]) pl.show() vk = v[:,0] rv = dot(vk.T,dot(A,vk))/dot(vk.T,vk) print "vecteur propre {v}\nvaleur propre {w}\n".format(v = vk, w = rv) ws, vs = linalg.eig(A) print "linalg.eig(A):\nvecteurs propres {v}\nvaleurs propres {w}".format(v = vs, w = ws)