import numpy.random as rd
import numpy as np
import numpy.linalg as alg

def A(n) :
    M = np.zeros((n,n))
    for i in range(n) :
        for j in range(i,n) :
            M[i,j] = rd.randint(1,11)
            M[j,i] = M[i,j]
    return M
    
for _ in range(5) :
    n = rd.randint(3,6)
    M = A(n)
    Sp,Vps = alg.eig(M)
    # recherche de l'indice de lambda_n
    l,i = Sp[0],0
    for k in range(n) :
        if Sp[k] > l :
            i = k
    print("A =",M,"vp =",Sp,"Xn =",Vps[:,i])
    
B = np.array([[1,2,3],[2,1,3],[3,3,0]])
print(alg.eigvals(B))
X = np.array([[1,1,1]]).T/np.sqrt(3)

def C(a) :
    M = np.zeros((4,4))
    for i in range(3):
        for j in range(3) :
            M[i,j] = B[i,j]
            M[3,j] = a
        M[i,3] = a
    return M
    
for _ in range(4) :
    print(alg.eigvals(C(rd.randint(1,10))))