As usual run Maple and load all the linear algebra progams. Create a 3 by 3 matrix by evaluating: > A:=<<9, 6, -4>|<-9, -6, 6>|<-3, -3, 5 >>; Use Maple to check the determinant of A and then form the matrix from which we will get the eigenvalues: > A1:=A-lambda*IdentityMatrix(3); ColumnOperation works in just the same way as RowOperation does. Use a pair of determinant row and column operations to create two zeros such that you could do a Laplace expansion with two zeros as coefficients. Repeat with a different row/column pair to identify a different factor. We can find the polynomial whose roots are the eigenvalues using: > pA:=Determinant(A1); which is the so-called characteristic polynomial of A. Note that the coefficient of pA without any lambda in is the determinant of A. To manipulate polynomials you can use factor, expand, sort, etc. > factor(pA); Verify that both of the different linear polynomials in lambda are included. You can also plot pA to see the locations of the eigenvalues using > plot(pA,lambda=1.5..4); We can also get the system of equations to solve using this matrix: > Aj:=>; Pivot this matrix to create a row of zeros and read off the solution. Compare what you just got with this vector solution: > v1:=LinearSolve(subs(lambda=2,A1),<0,0,0>,free=s); and verify that v1 when multiplied by A on the left gives the expected result (for any s). Find two different eigenvectors of the eigenvalue lambda=3 similarly and check them. 3 is an eigenvalue of multiplicity 2 since it has two different vector solutions. What are the homogeneous solutions if you try to substitute a non eigenvalue into A1? Try to repeat the row and column operations procedure for > B:=<<32, -36, -18>|<27, -31, -18>|<-6, 6, 2 >>; > B1:=B-lambda*IdentityMatrix(3); Some row/column operations give two easy zeros but some don't. Find one which works. Now try with this matrix > C:= <<-6, 2, -3>|<-13, 15, -15>|<-2, 8, -7>>; > C1:=C-lambda*IdentityMatrix(3); but note that each way you try to do operations on C1 no easy cancellation occurs. Use > Eigenvalues(C); to note what kind of factors you should get and try to create one. If after 5 minutes if you have failed to create two zeros in a row, just evaluate > db:=factor(Determinant(C1)); to reassure yourself the answers Maple gave are indeed correct. Find one of the three eigenvectors in C using RowOperation and/or Pivot and check for it or a multiple of it in the columns of P in > (v,P):=Eigenvectors(C); Extract another eigenvector from P and check it has the expected eigenvalue. Make a diagonal matrix of eigenvalues using > D1:=DiagonalMatrix(v); Check that P and D1 multiplied is the same as C and P multiplied in that order. Create a matrix which has the eigenvalues from matrix w as follows: > randomise():w:=RandomVector(3,generator=rand(1..9)); > Dw:=DiagonalMatrix(w); > Q:=RandomMatrix(3,3,generator=rand(-3..4)); We choose Q as a random matrix for the eigenvectors and (if Q is non-singular) use diagonalisation to make J from Dw as follows: > J:=Multiply(Multiply(Q,Dw),MatrixInverse(Q)); Check that the eigenvalues and eigenvectors of J are as you expect. Maple can create the kth power of a matrix automatically: > Jk:=MatrixPower(J,k); > Dk:=MatrixPower(Dw,k); Check that when you use k=2 you get the same as > Multiply(Dw,Dw); Multiply P and a diagonal matrix of the powers of the eigenvalues, and the inverse of P to get Bk, the kth power of B. > Bk:=Multiply(Multiply(Q,MatrixPower(DiagonalMatrix(w),k)),MatrixInverse(Q)); This should be something like Jk, but might be a bit different in some ways. You can see they are the same using > simplify(Jk-Bk); Check that Jk and Bk are the same for small values of k: > subs(k=2,Bk); subs(k=2,Jk); Multiply(J,J); Check that this holds also for k=-1 and 0, giving the inverse and the identity.