octave:11> octave:11> octave:11> A = randn(6,3) A = -0.22799266 0.06179318 0.00208280 2.04565241 -1.42076437 1.44044523 1.99542106 -2.89130797 0.75706679 1.47198113 -1.59067213 -0.93058509 0.27054055 0.85463400 -1.21354934 -0.00053170 2.52942299 -0.42379909 octave:12> [U S V] = svd(A); octave:13> U U = -0.031943 0.057699 -0.064397 0.906457 0.358321 -0.203582 0.483323 0.140083 0.694104 -0.020170 -0.091312 -0.506213 0.673774 -0.063093 0.028915 -0.014414 0.444736 0.585846 0.348677 -0.701102 -0.205262 0.240350 -0.532766 -0.056028 -0.157388 -0.624636 0.045805 -0.284608 0.610719 -0.359141 -0.406278 -0.302246 0.684841 0.197361 -0.093066 0.476410 octave:14> norm(U'*U-eye(6)) ans = 6.7437e-16 octave:15> V V = 0.527475 -0.525799 0.667312 -0.816830 -0.097918 0.568508 0.233579 0.844954 0.481137 octave:16> norm(V'*V-eye(3)) ans = 6.3912e-16 octave:17> octave:17> octave:17> S S = Diagonal Matrix 5.3298 0 0 0 2.0033 0 0 0 1.8015 0 0 0 0 0 0 0 0 0 octave:18> octave:18> octave:18> A A = -0.22799266 0.06179318 0.00208280 2.04565241 -1.42076437 1.44044523 1.99542106 -2.89130797 0.75706679 1.47198113 -1.59067213 -0.93058509 0.27054055 0.85463400 -1.21354934 -0.00053170 2.52942299 -0.42379909 octave:19> octave:19> octave:19> octave:19> [U1 D1] = eig(A*A'); octave:20> [V1 D2] = eig(A'*A); octave:21> octave:21> octave:21> U1'*A*V1 ans = 5.7592e-17 -1.1571e-16 -1.1594e-16 7.1049e-16 -2.1961e-16 -1.3820e-15 -2.3174e-16 -9.8697e-16 -5.8665e-16 -1.8015e+00 2.7756e-15 -2.7756e-16 -1.5543e-15 -2.0033e+00 -2.2204e-16 -1.1102e-16 -2.2204e-16 -5.3298e+00 octave:22> S=U1'*A*V1 S = 5.7592e-17 -1.1571e-16 -1.1594e-16 7.1049e-16 -2.1961e-16 -1.3820e-15 -2.3174e-16 -9.8697e-16 -5.8665e-16 -1.8015e+00 2.7756e-15 -2.7756e-16 -1.5543e-15 -2.0033e+00 -2.2204e-16 -1.1102e-16 -2.2204e-16 -5.3298e+00 octave:23> S = S .* (abs(S)>1.-03) S = 5.7592e-17 -1.1571e-16 -1.1594e-16 7.1049e-16 -2.1961e-16 -1.3820e-15 -2.3174e-16 -9.8697e-16 -5.8665e-16 -1.8015e+00 2.7756e-15 -2.7756e-16 -1.5543e-15 -2.0033e+00 -2.2204e-16 -1.1102e-16 -2.2204e-16 -5.3298e+00 octave:24> abs(S)>0.001 ans = 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 octave:25> S = S .* (abs(S)>1.e-03) S = 0.00000 -0.00000 -0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -1.80150 0.00000 -0.00000 -0.00000 -2.00329 -0.00000 -0.00000 -0.00000 -5.32980 octave:26> octave:26> octave:26> octave:26> diary off