octave:2> A=rand(5,4) A = 0.674598 0.408114 0.097660 0.258174 0.366781 0.109197 0.993910 0.243163 0.019315 0.631170 0.360829 0.982821 0.638268 0.648709 0.551368 0.895568 0.823260 0.542932 0.968697 0.614144 octave:3> [Q,R]=qr(A) Q = -0.5212202 -0.1052662 0.5722106 0.3632100 -0.5078406 -0.2833890 -0.2253988 -0.7603992 -0.0269404 -0.5384732 -0.0149237 0.9213814 -0.1743274 0.3142057 -0.1473712 -0.4931505 0.2922147 0.1227294 -0.8101426 0.0044400 -0.6360818 -0.0614918 -0.2211687 0.3351067 0.6560538 R = -1.29427 -0.91834 -1.22603 -1.05044 0.00000 0.67015 0.19971 1.04750 0.00000 0.00000 -0.90937 -0.23442 0.00000 0.00000 0.00000 -0.12371 0.00000 0.00000 0.00000 0.00000 octave:4> pwd ans = /home/accounts/personale/clrmrc90/aa1819/calcolo_numerico2 octave:5> [Q,R,P]=qr(A) Q = -0.0634373 0.1843405 0.7566060 0.3628217 -0.5078406 -0.6456178 -0.4655814 -0.2661253 -0.0750706 -0.5384732 -0.2343850 0.7095050 -0.4930796 0.4205003 -0.1473712 -0.3581537 0.4887782 0.2203983 -0.7643472 0.0044400 -0.6292400 -0.0833728 0.2549936 0.3188693 0.6560538 R = -1.53947 -1.11092 -1.03075 -0.81830 0.00000 1.01823 0.21063 0.74402 0.00000 0.00000 0.75387 0.24992 0.00000 0.00000 0.00000 0.08257 0.00000 0.00000 0.00000 0.00000 P = Permutation Matrix 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 octave:6> Q*R ans = 0.097660 0.258174 0.674598 0.408114 0.993910 0.243163 0.366781 0.109197 0.360829 0.982821 0.019315 0.631170 0.551368 0.895568 0.638268 0.648709 0.968697 0.614144 0.823260 0.542932 octave:7> A*P ans = 0.097660 0.258174 0.674598 0.408114 0.993910 0.243163 0.366781 0.109197 0.360829 0.982821 0.019315 0.631170 0.551368 0.895568 0.638268 0.648709 0.968697 0.614144 0.823260 0.542932 octave:8> Q*R-A*P ans = 1.9429e-16 1.1102e-16 -1.1102e-16 -5.5511e-17 0.0000e+00 -5.5511e-17 -5.5511e-17 6.9389e-17 5.5511e-17 0.0000e+00 -1.0061e-16 -1.1102e-16 0.0000e+00 0.0000e+00 0.0000e+00 -1.1102e-16 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 octave:9> [1;2]*[3,4,5] ans = 3 4 5 6 8 10 octave:10> A=randn(4,4) A = 0.37285 0.87927 0.34192 -0.42948 -1.36675 -0.36751 1.22546 -0.85950 -1.29016 -1.39359 0.10830 -1.95765 -0.88394 0.40678 0.24723 0.29816 octave:11> x=A(:,1); octave:12> w=x; octave:13> w(1)=w(1)+norm(x); octave:14> Qw1=(eye(4)-2/norm(w)^2*w*w'); octave:15> norm('ciao') error: xnorm: wrong type argument 'sq_string' octave:15> Qw1*A ans = -2.11018 -1.07503 0.90308 -1.55281 -0.00000 0.70821 0.91657 -0.24118 -0.00000 -0.37815 -0.18328 -1.37397 0.00000 1.10250 0.04746 0.69806 octave:16> norm(x) ans = 2.1102 octave:17> x x = 0.37285 -1.36675 -1.29016 -0.88394 octave:18> A=rand(5,4) A = 0.964954 0.494297 0.661506 0.978876 0.981082 0.350553 0.300913 0.074751 0.673105 0.110455 0.719415 0.995500 0.837830 0.287923 0.511582 0.543348 0.388067 0.999809 0.746049 0.618160 octave:19> rank(A) ans = 4 octave:20> b=rand(4,1) b = 0.30405 0.26679 0.30560 0.95817 octave:21> b=rand(5,1) b = 0.2124092 0.7196887 0.1696698 0.8694812 0.0044695 octave:22> rank([A,b]) ans = 5 octave:23> [U,S,V]=svd(A) U = -0.563560 -0.081401 -0.147460 0.803307 0.093415 -0.314688 -0.511146 0.663862 -0.197230 0.400111 -0.467018 -0.104144 -0.646594 -0.495075 0.328428 -0.402143 -0.268800 0.055303 -0.200342 -0.850195 -0.451161 0.805608 0.341175 -0.174817 0.022084 S = Diagonal Matrix 2.82992 0 0 0 0 0.78327 0 0 0 0 0.71838 0 0 0 0 0.13909 0 0 0 0 V = -0.593269 -0.718402 0.351512 0.091488 -0.355956 0.634693 0.620069 0.293214 -0.475557 0.230991 -0.111535 -0.841456 -0.543298 0.166452 -0.692469 0.444531 octave:24> d=U'*b; octave:25> d d = -0.77709 -0.63294 0.38635 -0.23029 -0.37561 octave:26> y=d(1:4)./diag(S) y = -0.27460 -0.80808 0.53782 -1.65573 octave:27> S*y ans = -0.77709 -0.63294 0.38635 -0.23029 0.00000 octave:28> d d = -0.77709 -0.63294 0.38635 -0.23029 -0.37561 octave:29> x=V*y x = 0.78100 -0.56714 1.27717 -1.09376 octave:30> A\b ans = 0.78100 -0.56714 1.27717 -1.09376 octave:31> A*x ans = 0.247497 0.869974 0.293030 0.550141 0.012764 octave:32> b b = 0.2124092 0.7196887 0.1696698 0.8694812 0.0044695 octave:33> b-A*x ans = -0.0350874 -0.1502850 -0.1233602 0.3193402 -0.0082948 octave:34> A=rand(4,5) A = 0.424402 0.092890 0.665690 0.237042 0.761909 0.257222 0.764269 0.820520 0.700611 0.739325 0.308907 0.157899 0.011314 0.413012 0.180173 0.102266 0.102141 0.370926 0.076825 0.830017 octave:35> b=rand(4,1) b = 0.91486 0.53172 0.70075 0.94109 octave:36> [Q,R,P]=qr(A) Q = -0.56039 0.18369 0.34476 -0.73031 -0.54378 -0.62325 0.36087 0.43086 -0.13252 -0.56451 -0.72046 -0.38040 -0.61049 0.50907 -0.48151 0.36918 R = -1.35960 -0.61545 -1.04718 -0.48107 -0.55093 0.00000 -0.58715 -0.20667 -0.20468 -0.49640 0.00000 0.00000 0.33884 -0.03266 0.14488 0.00000 0.00000 0.00000 -0.27888 0.23910 P = Permutation Matrix 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 octave:37> octave:37> Q'*b ans = -1.469213 -0.079845 -0.450723 -0.358179 octave:38> R R = -1.35960 -0.61545 -1.04718 -0.48107 -0.55093 0.00000 -0.58715 -0.20667 -0.20468 -0.49640 0.00000 0.00000 0.33884 -0.03266 0.14488 0.00000 0.00000 0.00000 -0.27888 0.23910 octave:39> y=[R(1:4,1:4)\(Q'*b);0] y = 1.50424 0.11289 -1.20639 1.28437 0.00000 octave:40> R*y ans = -1.469213 -0.079845 -0.450723 -0.358179 octave:41> Q'*b ans = -1.469213 -0.079845 -0.450723 -0.358179 octave:42> x=P*y x = 1.28437 0.00000 -1.20639 0.11289 1.50424 octave:43> A*x,b ans = 0.91486 0.53172 0.70075 0.94109 b = 0.91486 0.53172 0.70075 0.94109 octave:44> x_oct=A\b x_oct = 0.86109 -0.49370 -1.03609 0.61790 1.49430 octave:45> x x = 1.28437 0.00000 -1.20639 0.11289 1.50424 octave:46> A*x_oct,b ans = 0.91486 0.53172 0.70075 0.94109 b = 0.91486 0.53172 0.70075 0.94109 octave:47> norm(x_oct) ans = 2.1618 octave:48> norm(x) ans = 2.3196 octave:49> diary off