import numpy as np from scipy.linalg import eig A = np.array( [ [4.0, 1.0, -2.0], [0.0, 3.0, 1.0], [0.0, 0.0, 2.0], ] ) w, vr = eig(A) residuals = np.linalg.norm(A @ vr - vr * w, axis=0) np.set_printoptions(precision=6, suppress=True) print("matrix rows:") for row in A: print(row) print("eigenvalues:", w) print("right eigenvectors by row:") for row in vr: print(row) print("residuals:", residuals) print("max_residual:", residuals.max()) print("verified:", bool(np.all(residuals < 1e-10)))