'''Illustrates Perron's theorem by computing eigenvalues and eigenvectors of a random positive matrix.''' import numpy as np matrix = np.random.randint(1, 10, size=(6,6)) eigenvalues, eigenvectors = np.linalg.eig(matrix) # Print the matrix and its eigenvalues and eigenvectors print(" Matrix:\n", np.array2string(matrix, precision=2)) print("\n\n Eigenvalues:") for val in eigenvalues: print(f"{val:.2f}") print("\n\n Eigenvectors:") for i, vec in enumerate(eigenvectors.T): # Transpose for easier readability print(f"Vector {i+1}: {np.array2string(vec, precision=2)}")