$Post:=If[MatrixQ[#],MatrixForm[#],#]& Exercise 3.5.1 A=Table[If[i==j,i+j-1,i+j+1],{i,5},{j,5}] ES=Eigensystem[A]; lambda=ES[[1]] Q=ES[[2]]//Together; Q//N We observe that there are 5 nonzero, linearly independent eigenvectors, so A is diagonalizable. (The mention "nonzero" from above could be considered redundant, since in general we only consider nonzero eigenvectors - the zero vector being a trivial eigenvector for any eigenvalue and any square matrix of matching size. However, if the number of linearly independent eigenvectors does not match the multiplicity of an eigenvalue, Mathematica inserts a number of null eigenvectors up to that multiplicity.) P=Transpose[Q]; P//TableForm We will use floating point calculations because of the radicals which would make the memory fill up. P=P//N; T=Inverse[P].A.P; T=Table[If[Abs[T[[i,j]]]>0.0000001,T[[i,j]],0],{i,5},{j,5}] Exercise 3.5.2 A=Table[If[i>j,1,0],{i,4},{j,4}] ES=Eigensystem[A]; lambda=ES[[1]] Q=ES[[2]] Only one nonzero eigenvector ==> A is not diagonalizable. Exercise 3.5.3 A=Table[If[i==j,2,1],{i,5},{j,5}] ES=Eigensystem[A]; lambda=ES[[1]] Q=ES[[2]] A is diagonalizable. P=Transpose[Q] T=Inverse[P].A.P Exercise 3.5.4 A=Table[i+j-1,{i,5},{j,5}] ES=Eigensystem[A]; lambda=ES[[1]] Q=ES[[2]]//Together; Q//N A is diagonalizable. P=Transpose[Q]; P//TableForm P=P//N; T=Inverse[P].A.P; T=Table[If[Abs[T[[i,j]]]>0.0000001,T[[i,j]],0],{i,5},{j,5}] Exercise 3.5.5 A=Table[i+j,{i,5},{j,5}] ES=Eigensystem[A]; lambda=ES[[1]] Q=ES[[2]]//Together; Q//N A is diagonalizable. P=Transpose[Q]; P//TableForm P=P//N; T=Inverse[P].A.P; T=Table[If[Abs[T[[i,j]]]>0.0000001,T[[i,j]],0],{i,5},{j,5}] Exercise 3.5.6 A=Table[If[i>j,1,0],{i,4},{j,4}] ES=Eigensystem[A]; ES[[2]] M=NullSpace[ES[[2]]] P=Transpose[Join[{ES[[2,1]]},M]] T=Inverse[P].A.P Exercise 3.5.7 A=Table[Mod[i+j,2],{i,4},{j,4}] ES=Eigensystem[A]; ES[[2]] M=NullSpace[ES[[2]]] P=Transpose[ES[[2]]] T=Inverse[P].A.P Exercise 3.5.8 A=Table[If[i<=2,2,0],{i,4},{j,4}] ES=Eigensystem[A]; ES[[2]] M=NullSpace[ES[[2]]] P=Transpose[ES[[2]]] T=Inverse[P].A.P Exercise 3.5.9 A=Table[If[i==j,0,1],{i,4},{j,4}] ES=Eigensystem[A]; ES[[2]] M=NullSpace[ES[[2]]] P=Transpose[ES[[2]]] T=Inverse[P].A.P