% eigen2.m demonstrate more eigenvalue testing format compact e1=1+j*4; % desired eigenvalues, complex e2=2+j*3; e3=3+j*2; e4=4+j*1; P=poly([e1 e2 e3 e4]) % make polynomial from roots r=roots(P) % check that roots come back A=zeros(4); A(1,1)=-P(2); % build matrix A A(1,2)=-P(3); A(1,3)=-P(4); A(1,4)=-P(5); A(2,1)=1; A(3,2)=1; A(4,3)=1 Q=randn(4) B=Q*A*inv(Q) B=B.*(5+j*6) % scale then unscale eigenvalues [v e]=eig(B) % compute eigenvectors and eigenvalues ee=e./(5+j*6) % expect e1, e2, e3, e4 I=eye(4); % identity matrix for i=1:4 z1=det(B-I.*e(i,i)) % should be near zero end for i=1:4 z2=B*v(:,i)-e(i,i)*v(:,i) % note columns, near zero end z3=trace(B)-trace(e) % should be near zero