1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import numpy as np
x=np.array([1.,-3.,2.,-2.,2.])
N=len(x)
M=np.ones((N,N), dtype=float)
M[0,:]=x
def matrice_nor(x):
for i in range(1,N):
M[i,:]=x
print(M)
#print(matrice_nor(x))
def roll(x):
x1=np.roll(x,4)
M[1,:]=x1
x2=np.roll(x1,4)
M[2,:]=x2
x3=np.roll(x2,4)
M[3,:]=x3
x4=np.roll(x3,4)
M[4,:]=x4
for i in range(1,N):
M[i,:]=M[i,:]**(i+1)
print(M)
e=np.min(sl.eigvals(M, homogeneous_eigvals=True)[0]) #la valeur propre réelle plus petite
v=np.min(sl.eigvals(M, homogeneous_eigvals=True)[1]) #le vecteur propre correspondant de la matrice
return(e,v)
(e, v) =roll(x)
print(e,v) |
Partager