octave:2> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 octave:3> A(1,:) ans = 1 2 3 octave:4> A(:,2) ans = 2 5 8 octave:5> A(1:2,1:2) ans = 1 2 4 5 octave:6> v=[1;2;3] v = 1 2 3 octave:7> A*v ans = 14 32 50 octave:8> v v = 1 2 3 octave:9> w=[3;2;1] w = 3 2 1 octave:10> v*w error: operator *: nonconformant arguments (op1 is 3x1, op2 is 3x1) error: evaluating binary operator `*' near line 10, column 2 octave:10> v'*w ans = 10 octave:11> v.*w ans = 3 4 3 octave:12> i ans = 0 + 1i octave:13> i' ans = 0 - 1i octave:14> i.' ans = 0 + 1i octave:15> v.' ans = 1 2 3 octave:16> A A = 1 2 3 4 5 6 7 8 9 octave:17> A^2 ans = 30 36 42 66 81 96 102 126 150 octave:18> A*A ans = 30 36 42 66 81 96 102 126 150 octave:19> A A = 1 2 3 4 5 6 7 8 9 octave:20> A.^2 ans = 1 4 9 16 25 36 49 64 81 octave:21> diag([1,2,3,4]) ans = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 octave:22> A=diag([1,2,3,4]) A = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 octave:23> diag(A) ans = 1 2 3 4 octave:24> A=diag([5,6,7],1) A = 0 5 0 0 0 0 6 0 0 0 0 7 0 0 0 0 octave:25> A=diag([5,6,7],-2) A = 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 octave:26> diag([1,2,3,4,5])+diag([5,6,7],-2) ans = 1 0 0 0 0 0 2 0 0 0 5 0 3 0 0 0 6 0 4 0 0 0 7 0 5 octave:27> toeplitz([0 1/5 0 0],[0 4/5 0 0]) ans = 0.00000 0.80000 0.00000 0.00000 0.20000 0.00000 0.80000 0.00000 0.00000 0.20000 0.00000 0.80000 0.00000 0.00000 0.20000 0.00000 octave:28> error: stdin is not a tty! octave:3> A=toeplitz([0 1/5 0 0],[0 4/5 0 0]) A = 0.00000 0.80000 0.00000 0.00000 0.20000 0.00000 0.80000 0.00000 0.00000 0.20000 0.00000 0.80000 0.00000 0.00000 0.20000 0.00000 octave:4> b=A*ones(4,1) b = 0.80000 1.00000 1.00000 0.20000 octave:5> x=A\b x = 1.00000 1.00000 1.00000 1.00000 octave:6> format long e octave:7> x=A\b x = 1.00000000000000e-00 1.00000000000000e+00 1.00000000000000e+00 1.00000000000000e+00 octave:8> A\b' error: operator \: nonconformant arguments (op1 is 4x4, op2 is 1x4) error: evaluating binary operator `\' near line 8, column 2 octave:8> b'/A ans = Columns 1 through 3: 1.18750000000000e+00 4.00000000000000e+00 2.50000000000000e-01 Column 4: -1.10000000000000e+01 octave:9> c=ones(1,4)*A c = Columns 1 through 3: 2.00000000000000e-01 1.00000000000000e+00 1.00000000000000e+00 Column 4: 8.00000000000000e-01 octave:10> c/A ans = Columns 1 through 3: 1.00000000000000e+00 1.00000000000000e+00 1.00000000000000e+00 Column 4: 1.00000000000000e-00 octave:11> format short octave:12> c/A ans = 1.00000 1.00000 1.00000 1.00000 octave:13> help mrdivide -- Built-in Function: mrdivide (X, Y) This function is equivalent to `x / y'. mrdivide is a built-in function Additional help for built-in functions and operators is available in the on-line version of the manual. Use the command `doc ' to search the manual index. Help and information about Octave is also available on the WWW at http://www.octave.org and via the help@octave.org mailing list. octave:14> help mldivide -- Built-in Function: mldivide (X, Y) This function is equivalent to `x \ y'. mldivide is a built-in function Additional help for built-in functions and operators is available in the on-line version of the manual. Use the command `doc ' to search the manual index. Help and information about Octave is also available on the WWW at http://www.octave.org and via the help@octave.org mailing list. octave:15> A=rand(4) A = 0.6952663 0.0092810 0.9443329 0.0591935 0.1820003 0.5086748 0.3501612 0.0411956 0.1598011 0.8970856 0.0308952 0.1239567 0.5463597 0.0476161 0.1241457 0.1286272 octave:16> [V,D]=eig(A') V = 0.471946 -0.386671 0.132418 -0.288330 0.671936 0.909626 -0.755367 0.778889 0.560162 -0.150791 0.623203 -0.486887 0.109486 -0.018139 -0.153308 0.270441 D = 1.27081 0.00000 0.00000 0.00000 0.00000 0.35507 0.00000 0.00000 0.00000 0.00000 -0.22341 0.00000 0.00000 0.00000 0.00000 -0.03900 octave:17> A'*V ans = 0.5997540 -0.1372943 -0.0295840 0.0112450 0.8539034 0.3229785 0.1687593 -0.0303769 0.7118589 -0.0535411 -0.1392321 0.0189888 0.1391356 -0.0064406 0.0342511 -0.0105473 octave:18> V*D ans = 0.5997540 -0.1372943 -0.0295840 0.0112450 0.8539034 0.3229785 0.1687593 -0.0303769 0.7118589 -0.0535411 -0.1392321 0.0189888 0.1391356 -0.0064406 0.0342511 -0.0105473 octave:19> A'*V==V*D ans = 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 octave:20> norm(A'*V-V*D) ans = 5.7886e-16 octave:21> abs(A'*V-V*D) ans = 0.0000e+00 2.7756e-17 4.0246e-16 2.9317e-16 0.0000e+00 2.7756e-16 1.1102e-16 1.1102e-16 0.0000e+00 4.1633e-17 2.2204e-16 9.0206e-17 0.0000e+00 5.2042e-17 4.1633e-17 4.6838e-17 octave:22> abs(A'*V-V*D)>1e-15 ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 octave:23> abs(A'*V-V*D)<1e-15 ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 octave:24> [V,D]=eig(A') V = 0.471946 -0.386671 0.132418 -0.288330 0.671936 0.909626 -0.755367 0.778889 0.560162 -0.150791 0.623203 -0.486887 0.109486 -0.018139 -0.153308 0.270441 D = 1.27081 0.00000 0.00000 0.00000 0.00000 0.35507 0.00000 0.00000 0.00000 0.00000 -0.22341 0.00000 0.00000 0.00000 0.00000 -0.03900 octave:25> P=[1/3,2/3;1/2,1/2] P = 0.33333 0.66667 0.50000 0.50000 octave:26> sum(P) ans = 0.83333 1.16667 octave:27> sum(P,1) ans = 0.83333 1.16667 octave:28> sum(P,2) ans = 1 1 octave:29> [V,D]=eig(P') V = -0.70711 -0.60000 0.70711 -0.80000 D = -0.16667 0.00000 0.00000 1.00000 octave:30> v=V(:,2)' v = -0.60000 -0.80000 octave:31> v=-v v = 0.60000 0.80000 octave:32> v=v/sum(v) v = 0.42857 0.57143 octave:33> sum(v) ans = 1 octave:34> norm(v,1) ans = 1 octave:35> P=[0 1/3 0 1/3 1/3;1/3 0 1/3 0 1/3;0 1/3 0 1/3 1/3;1/3 0 1/3 0 1/3;1/4 1/4 1/4 1/4 0] P = 0.00000 0.33333 0.00000 0.33333 0.33333 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.33333 0.33333 0.00000 0.33333 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 0.00000 octave:36> sum(P,2) ans = 1 1 1 1 1 octave:37> P P = 0.00000 0.33333 0.00000 0.33333 0.33333 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.33333 0.33333 0.00000 0.33333 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 0.00000 octave:38> k=[3,3,3,3,4] k = 3 3 3 3 4 octave:39> K=sum(k) K = 16 octave:40> v=k/K v = 0.18750 0.18750 0.18750 0.18750 0.25000 octave:41> v' ans = 0.18750 0.18750 0.18750 0.18750 0.25000 octave:42> repmat(v',1,5) ans = 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.18750 0.25000 0.25000 0.25000 0.25000 0.25000 octave:43> repmat(v',1,5).*P==repmat(v,5,1).*P' ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 octave:44> [V,D]=eig(P') V = -4.1603e-01 -7.0711e-01 5.0000e-01 -2.2361e-01 -3.2551e-01 -4.1603e-01 -2.4502e-17 -5.0000e-01 -2.2361e-01 -6.2773e-01 -4.1603e-01 7.0711e-01 5.0000e-01 -2.2361e-01 3.2551e-01 -4.1603e-01 1.4680e-16 -5.0000e-01 -2.2361e-01 6.2773e-01 -5.5470e-01 2.7353e-17 2.6613e-16 8.9443e-01 -2.4907e-18 D = 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 -0.66667 0.00000 0.00000 0.00000 0.00000 0.00000 -0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 octave:45> diary off