clear all for n = 1:101 i1 = round(((n-1)*rand/3+1)); i2 = round(((n-1)*rand/3+1)); i3 = round(((n-1)*rand/3+1)); n = i1+i2+i3; T1 = triu(rand(i1))+i*triu(rand(i1)); X = rand(i1,i2); Y = rand(i1,i3); O1 = zeros(i2,i1); B = rand(i2,i2); Z = rand(i2,i3); O2 = zeros(i3,i1+i2); T2 = triu(rand(i3)); A = [T1 X Y;O1 B Z;O2 T2]; iperm = randperm(n); B = A(iperm,iperm); % norm(expm(B)-expmdemo1(B)) if (norm(expm(B)-expmdemo1(B)) ~= 0) n,i1,i2,i3 A B break end end