test echo on a=[1 2;3 6] a = 1 2 3 6 [u,t]=schur(a) u = -0.8944 -0.4472 0.4472 -0.8944 t = 0 -1 0 7 norm(u'*u-eye(2)) ans = 1.1102e-16 n=3 n = 3 a1=round(10*randn(n)+i*10*randn(n)) a1 = -22.0000 -10.0000i 6.0000 6.0000 -19.0000i -1.0000 5.0000 - 3.0000i -6.0000 + 4.0000i -10.0000 17.0000 +11.0000i 4.0000 + 9.0000i [u1,t1]=schur(a1) u1 = 0.0462 - 0.9682i -0.2278 - 0.0025i -0.0322 - 0.0861i -0.0659 - 0.0300i 0.2954 + 0.0548i 0.6268 - 0.7153i -0.1274 - 0.1972i 0.7033 - 0.6027i 0.0331 + 0.2933i t1 = -23.3303 -15.0039i 10.1569 + 0.4105i 0.0790 +13.0826i 0 6.0855 +19.6916i 10.6361 + 5.9732i 0 0 4.2448 - 8.6877i u1'*u1 ans = 1.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i 1.0000 -0.0000 - 0.0000i -0.0000 -0.0000 + 0.0000i 1.0000 - 0.0000i norm(u1'*u1-eye(n)) ans = 1.3467e-15 n=5 n = 5 d2=round(10*randn(n,1)); p=randn(n); a2=p*diag(d2)*inv(p); [u2,t2]=schur(a2) u2 = -0.4946 -0.6708 0.1708 0.2537 -0.4603 -0.5824 0.0707 0.4488 -0.0292 0.6734 0.6141 -0.4212 0.6454 -0.0947 0.1412 -0.1313 -0.3285 -0.2301 -0.9059 0.0350 -0.1473 0.5096 0.5477 -0.3243 -0.5599 t2 = 0.0000 -4.8681 1.6250 -3.0532 -104.9332 0 6.0000 0.0000 0.1478 -4.3439 0 -0.0000 6.0000 -0.3519 -2.9825 0 0 0 7.0000 -0.0000 0 0 0 0 7.0000 u2'*u2 ans = 1.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 1.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 1.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 1.0000 -0.0000 -0.0000 0.0000 0.0000 -0.0000 1.0000 norm(u2'*u2-eye(n)) ans = 1.3889e-15 diary off