$Post:=If[MatrixQ[#],MatrixForm[#],#]& Exercise 3.4.1 A=Table[If[i>j,1,0],{i,4},{j,4}] Id[4]=IdentityMatrix[4]; p=Det[x Id[4]-A] lambda=x/.Solve[p==0,x] S=NullSpace[lambda[[1]]Id[4]-A] M=NullSpace[S] P=Transpose[Join[S,M]] T=Inverse[P].A.P Exercise 3.4.2 A=Table[Mod[i+j,2],{i,4},{j,4}] p=Det[x Id[4]-A] lambda=x/.Solve[p==0,x] Clear[S] Do[S[i]=NullSpace[lambda[[i]]Id[4]-A],{i,4}] {S[1],S[2],S[4]} P=Transpose[Join[S[1],S[2],S[4]]] T=Inverse[P].A.P Exercise 3.4.3 A=Table[If[i<=2,2,0],{i,4},{j,4}] p=Det[x Id[4]-A] lambda=x/.Solve[p==0,x] Do[S[i]=NullSpace[lambda[[i]]Id[4]-A],{i,4}] {S[1],S[4]} P=Transpose[Join[S[1],S[4]]] T=Inverse[P].A.P Exercise 3.4.4 A=Table[If[i==j,0,1],{i,4},{j,4}] p=Det[x Id[4]-A] lambda=x/.Solve[p==0,x] Do[S[i]=NullSpace[lambda[[i]]Id[4]-A],{i,4}] {S[1],S[4]} P=Transpose[Join[S[1],S[4]]] T=Inverse[P].A.P