>>>% octave This is free software; see the source code for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, type 'warranty'. Octave was configured for "x86_64-redhat-linux-gnu". Additional information about Octave is available at https://www.octave.org. Please contribute if you find this software useful. For more information, visit https://www.octave.org/get-involved.html Read https://www.octave.org/bugs.html to learn how to submit bug reports. For information about changes from previous versions, type 'news'. octave:1> A=[2 -1 0 1; 0 3 -1 0; 0 1 1 0; 0 -1 0 3] A = 2 -1 0 1 0 3 -1 0 0 1 1 0 0 -1 0 3 octave:2> eig(A) ans = 2.0000 3.0000 2.0000 2.0000 octave:3> B=A-2*eye(4) B = 0 -1 0 1 0 1 -1 0 0 1 -1 0 0 -1 0 1 octave:4> rref(B) ans = 0 1 0 -1 0 0 1 -1 0 0 0 0 0 0 0 0 octave:5> rref(B^2) ans = 0 1.0000 -0.5000 -0.5000 0 0 0 0 0 0 0 0 0 0 0 0 octave:6> rref(B^3) ans = 0 1.0000 -0.5000 -0.5000 0 0 0 0 0 0 0 0 0 0 0 0 octave:7> v1=[0 1 0 2]' v1 = 0 1 0 2 octave:8> v2=B*v1 v2 = 1 1 1 1 octave:9> B*v2 ans = 0 0 0 0 octave:10>