diff test/test_matrix.m @ 5590:1ad66ea35fe5

[project @ 2006-01-06 00:24:05 by jwe]
author jwe
date Fri, 06 Jan 2006 00:24:06 +0000
parents
children 02c7e288f581
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/test/test_matrix.m
@@ -0,0 +1,446 @@
+%% Automatically generated from DejaGNU files
+
+%% test/octave.test/matrix/all-1.m
+%!test
+%! x = ones (3);
+%! x(1,1) = 0;
+%! assert((all (all (rand (3) + 1) == [1, 1, 1]) == 1
+%! && all (all (x) == [0, 1, 1]) == 1
+%! && all (x, 1) == [0, 1, 1]
+%! && all (x, 2) == [0; 1; 1]));
+
+%% test/octave.test/matrix/all-2.m
+%!error <... all:.*> all ();
+
+%% test/octave.test/matrix/all-3.m
+%!error <... all:.*> all (1, 2, 3);
+
+%% test/octave.test/matrix/any-1.m
+%!test
+%! x = zeros (3);
+%! x(3,3) = 1;
+%! assert((all (any (x) == [0, 0, 1]) == 1
+%! && all (any (ones (3)) == [1, 1, 1]) == 1
+%! && any (x, 1) == [0, 0, 1]
+%! && any (x, 2) == [0; 0; 1]));
+
+%% test/octave.test/matrix/any-2.m
+%!error <... any:.*> any ();
+
+%% test/octave.test/matrix/any-3.m
+%!error <... any:.*> any (1, 2, 3);
+
+%% test/octave.test/matrix/diff-1.m
+%!assert((diff ([1, 2, 3, 4]) == [1, 1, 1]
+%! && diff ([1, 3, 7, 19], 2) == [2, 8]
+%! && diff ([1, 2; 5, 4; 8, 7; 9, 6; 3, 1]) == [4, 2; 3, 3; 1, -1; -6, -5]
+%! && diff ([1, 2; 5, 4; 8, 7; 9, 6; 3, 1], 3) == [-1, -5; -5, 0]
+%! && isempty (diff (1))));
+
+%% test/octave.test/matrix/diff-2.m
+%!error diff ([1, 2; 3, 4], -1);
+
+%% test/octave.test/matrix/diff-3.m
+%!error diff ("foo");
+
+%% test/octave.test/matrix/diff-4.m
+%!error diff ();
+
+%% test/octave.test/matrix/diff-5.m
+%!error diff (1, 2, 3, 4);
+
+%% test/octave.test/matrix/find-1.m
+%!assert((find ([1, 0, 1, 0, 1]) == [1, 3, 5]
+%! && find ([1; 0; 3; 0; 1]) == [1; 3; 5]
+%! && find ([0, 0, 2; 0, 3, 0; -1, 0, 0]) == [3; 5; 7]));
+
+%% test/octave.test/matrix/find-2.m
+%!test
+%! [i, j, v] = find ([0, 0, 2; 0, 3, 0; -1, 0, 0]);
+%! 
+%! assert(i == [3; 2; 1] && j == [1; 2; 3] && v == [-1; 3; 2]);
+
+%% test/octave.test/matrix/find-3.m
+%!error <... find:.*> find ();
+
+%% test/octave.test/matrix/find-4.m
+%!error <... find:.*> find (1, 2);
+
+%% test/octave.test/matrix/fliplr-1.m
+%!assert((fliplr ([1, 2; 3, 4]) == [2, 1; 4, 3]
+%! && fliplr ([1, 2; 3, 4; 5, 6]) == [2, 1; 4, 3; 6, 5]
+%! && fliplr ([1, 2, 3; 4, 5, 6]) == [3, 2, 1; 6, 5, 4]));
+
+%% test/octave.test/matrix/fliplr-2.m
+%!error <usage.*fliplr> fliplr();
+
+%% test/octave.test/matrix/fliplr-3.m
+%!error fliplr (1, 2);
+
+%% test/octave.test/matrix/flipud-1.m
+%!assert((flipud ([1, 2; 3, 4]) == [3, 4; 1, 2]
+%! && flipud ([1, 2; 3, 4; 5, 6]) == [5, 6; 3, 4; 1, 2]
+%! && flipud ([1, 2, 3; 4, 5, 6]) == [4, 5, 6; 1, 2, 3]));
+
+%% test/octave.test/matrix/flipud-2.m
+%!error flipud ();
+
+%% test/octave.test/matrix/flipud-3.m
+%!error flipud (1, 2);
+
+%% test/octave.test/matrix/rot90-1.m
+%!test
+%! x1 = [1, 2;
+%! 3, 4];
+%! x2 = [2, 4;
+%! 1, 3];
+%! x3 = [4, 3;
+%! 2, 1];
+%! x4 = [3, 1;
+%! 4, 2];
+%! 
+%! assert((rot90 (x1)== x2 && rot90 (x1, 2) == x3 && rot90 (x1, 3) == x4
+%! && rot90 (x1, 4) == x1 && rot90 (x1, 5) == x2 && rot90 (x1, -1) == x4));
+
+%% test/octave.test/matrix/rot90-2.m
+%!error rot90 ();
+
+%% test/octave.test/matrix/rot90-3.m
+%!error rot90 (1, 2, 3);
+
+%% test/octave.test/matrix/reshape-1.m
+%!assert((size (reshape (rand (4, 4), 2, 8)) == [2, 8]
+%! && size (reshape (rand (4, 4), 8, 2)) == [8, 2]
+%! && size (reshape (rand (15, 4), 1, 60)) == [1, 60]
+%! && size (reshape (rand (15, 4), 60, 1)) == [60, 1]));
+
+%% test/octave.test/matrix/reshape-2.m
+%!test
+%! s.a = 1;
+%! fail("reshape (s, 2, 3)");
+
+%% test/octave.test/matrix/reshape-3.m
+%!error <... reshape:.*> reshape ();
+
+%% test/octave.test/matrix/reshape-4.m
+%!error reshape (1, 2, 3, 4);
+
+%% test/octave.test/matrix/shift-1.m
+%!test
+%! a = [1, 2, 3];
+%! b = [4, 5, 6];
+%! c = [7, 8, 9];
+%! 
+%! r = [a, b, c];
+%! m = [a; b; c];
+%! 
+%! assert((shift (r, 3) == [c, a, b]
+%! && shift (r, -6) == [c, a, b]
+%! && shift (r, -3) == [b, c, a]
+%! && shift (m, 1) == [c; a; b]
+%! && shift (m, -2) == [c; a; b]));
+
+%% test/octave.test/matrix/shift-2.m
+%!error shift ();
+
+%% test/octave.test/matrix/shift-3.m
+%!error shift (1, 2, 3, 4);
+
+%% test/octave.test/matrix/sort-1.m
+%!test
+%! a = [1, 2; 2, 3; 3, 1];
+%! s = [1, 1; 2, 2; 3, 3];
+%! i = [1, 3; 2, 1; 3, 2];
+%! [xs, xi] = sort (a);
+%! assert(sort (a) == s && xs == s && xi == i);
+
+%% test/octave.test/matrix/sort-2.m
+%!error <... sort:.*> sort ();
+
+%% test/octave.test/matrix/sort-3.m
+%!error <... sort:.*> sort (1, 2, 3, 4);
+
+%% test/octave.test/matrix/tril-1.m
+%!test
+%! a = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12];
+%! 
+%! l0 = [1, 0, 0; 4, 5, 0; 7, 8, 9; 10, 11, 12];
+%! l1 = [1, 2, 0; 4, 5, 6; 7, 8, 9; 10, 11, 12];
+%! l2 = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12];
+%! lm1 = [0, 0, 0; 4, 0, 0; 7, 8, 0; 10, 11, 12];
+%! lm2 = [0, 0, 0; 0, 0, 0; 7, 0, 0; 10, 11, 0];
+%! lm3 = [0, 0, 0; 0, 0, 0; 0, 0, 0; 10, 0, 0];
+%! lm4 = [0, 0, 0; 0, 0, 0; 0, 0, 0; 0, 0, 0];
+%! 
+%! assert((tril (a, -4) == lm4 && tril (a, -3) == lm3
+%! && tril (a, -2) == lm2 && tril (a, -1) == lm1
+%! && tril (a) == l0 && tril (a, 1) == l1 && tril (a, 2) == l2));
+
+%% test/octave.test/matrix/tril-2.m
+%!error tril ();
+
+%% test/octave.test/matrix/tril-3.m
+%!error tril (1, 2, 3);
+
+%% test/octave.test/matrix/triu-1.m
+%!test
+%! a = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12];
+%! 
+%! u0 = [1, 2, 3; 0, 5, 6; 0, 0, 9; 0, 0, 0];
+%! u1 = [0, 2, 3; 0, 0, 6; 0, 0, 0; 0, 0, 0];
+%! u2 = [0, 0, 3; 0, 0, 0; 0, 0, 0; 0, 0, 0];
+%! u3 = [0, 0, 0; 0, 0, 0; 0, 0, 0; 0, 0, 0];
+%! um1 = [1, 2, 3; 4, 5, 6; 0, 8, 9; 0, 0, 12];
+%! um2 = [1, 2, 3; 4, 5, 6; 7, 8, 9; 0, 11, 12];
+%! um3 = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12];
+%! 
+%! assert((triu (a, -3) == um3 && triu (a, -2) == um2
+%! && triu (a, -1) == um1 && triu (a) == u0 && triu (a, 1) == u1
+%! && triu (a, 2) == u2 && triu (a, 3) == u3));
+
+%% test/octave.test/matrix/triu-2.m
+%!error triu ();
+
+%% test/octave.test/matrix/triu-3.m
+%!error triu (1, 2, 3);
+
+%% test/octave.test/matrix/vec-1.m
+%!assert(vec ([1, 2; 3, 4]) == [1; 3; 2; 4] && vec ([1, 3, 2, 4]) == [1; 3; 2; 4]);
+
+%% test/octave.test/matrix/vec-2.m
+%!error vec ();
+
+%% test/octave.test/matrix/vec-3.m
+%!error vec (1, 2);
+
+%% test/octave.test/matrix/vech-1.m
+%!assert(all (vech ([1, 2, 3; 4, 5, 6; 7, 8, 9]) == [1; 4; 7; 5; 8; 9]));
+
+%% test/octave.test/matrix/vech-2.m
+%!error vech ();
+
+%% test/octave.test/matrix/vech-3.m
+%!error vech (1, 2);
+
+%% test/octave.test/matrix/eye-1.m
+%!test
+%! i33 = [1, 0, 0; 0, 1, 0; 0, 0, 1];
+%! i23 = [1, 0, 0; 0, 1, 0];
+%! assert((eye (3) == i33 && eye (size (i33)) == i33 && eye (3, 3) == i33
+%! && eye (2, 3) == i23 && eye (3, 2) == i23'));
+
+%% test/octave.test/matrix/eye-2.m
+%!error <... eye:.*> eye (1, 2, 3);
+
+%% test/octave.test/matrix/ones-1.m
+%!test
+%! x33 = [1, 1, 1; 1, 1, 1; 1, 1, 1];
+%! x23 = [1, 1, 1; 1, 1, 1];
+%! assert((ones (3) == x33 && ones (size (x33)) == x33 && ones (3, 3) == x33
+%! && ones (2, 3) == x23 && ones (3, 2) == x23'));
+
+%% test/octave.test/matrix/ones-2.m
+%!assert(all (size (ones (3, 4, 5)) == [3, 4, 5]));
+
+%% test/octave.test/matrix/zeros-1.m
+%!test
+%! x33 = [0, 0, 0; 0, 0, 0; 0, 0, 0];
+%! x23 = [0, 0, 0; 0, 0, 0];
+%! assert((zeros (3) == x33 && zeros (size (x33)) == x33 && zeros (3, 3) == x33
+%! && zeros (2, 3) == x23 && zeros (3, 2) == x23'));
+
+%% test/octave.test/matrix/zeros-2.m
+%!assert(all (size (zeros (3, 4, 5)) == [3, 4, 5]));
+
+%% test/octave.test/matrix/rand-1.m
+%!test
+%! rand ("seed", 0.5);
+%! r1 = rand (100);
+%! rand ("seed", 0.5);
+%! r2 = rand (100);
+%! assert(rand (100) < 1 && rand (100) > 0 && r1 == r2);
+
+%% test/octave.test/matrix/rand-2.m
+%!assert(all (size (rand (1, 2, 3)) == [1, 2, 3]));
+
+%% test/octave.test/matrix/randn-1.m
+%!test
+%! randn ("seed", 0.5);
+%! r1 = randn (100);
+%! randn ("seed", 0.5);
+%! r2 = randn (100);
+%! assert(all (all (r1 == r2)));
+
+%% test/octave.test/matrix/randn-2.m
+%!assert(all (size (randn (1, 2, 3)) == [1, 2, 3]));
+
+%% test/octave.test/matrix/diag-1.m
+%!test
+%! d = [1; 2; 3];
+%! 
+%! d0 = [1, 0, 0;
+%! 0, 2, 0;
+%! 0, 0, 3];
+%! 
+%! d1 = [0, 1, 0, 0;
+%! 0, 0, 2, 0;
+%! 0, 0, 0, 3;
+%! 0, 0, 0, 0];
+%! 
+%! d2 = [0, 0, 1, 0, 0;
+%! 0, 0, 0, 2, 0;
+%! 0, 0, 0, 0, 3;
+%! 0, 0, 0, 0, 0;
+%! 0, 0, 0, 0, 0];
+%! 
+%! dm1 = [0, 0, 0, 0;
+%! 1, 0, 0, 0;
+%! 0, 2, 0, 0;
+%! 0, 0, 3, 0];
+%! 
+%! dm2 = [0, 0, 0, 0, 0;
+%! 0, 0, 0, 0, 0;
+%! 1, 0, 0, 0, 0;
+%! 0, 2, 0, 0, 0;
+%! 0, 0, 3, 0, 0];
+%! 
+%! assert((diag (d) == d0 && diag (d, 1) == d1 && diag (d, 2) == d2
+%! && diag (d, -1) == dm1 && diag (d, -2) == dm2
+%! && diag (d0) == d && diag (d1, 1) == d && diag (dm1, -1) == d));
+
+%% test/octave.test/matrix/diag-2.m
+%!error <... diag:.*> diag ();
+
+%% test/octave.test/matrix/diag-3.m
+%!error <... diag:.*> diag (1, 2, 3);
+
+%% test/octave.test/matrix/linspace-1.m
+%!test
+%! x1 = linspace (1, 2);
+%! x2 = linspace (1, 2, 10);
+%! x3 = linspace (1, -2, 10);
+%! assert((size (x1) == [1, 100] && x1(1) == 1 && x1(100) == 2
+%! && size (x2) == [1, 10] && x2(1) == 1 && x2(10) == 2
+%! && size (x3) == [1, 10] && x3(1) == 1 && x3(10) == -2));
+
+%% test/octave.test/matrix/linspace-2.m
+%!test
+%! warn_fortran_indexing = 0;
+%! assert(all (linspace ([1, 2; 3, 4], 5, 6) == linspace (1, 5, 6)));
+
+%% test/octave.test/matrix/linspace-3.m
+%!error <... linspace:.*> linspace ();
+
+%% test/octave.test/matrix/linspace-4.m
+%!error <... linspace:.*> linspace (1, 2, 3, 4);
+
+%% test/octave.test/matrix/linspace-5.m
+%!test
+%! warn_fortran_indexing = 1;
+%! fail("linspace ([1, 2; 3, 4], 5, 6)","warning");
+
+%% test/octave.test/matrix/logspace-1.m
+%!test
+%! x1 = logspace (1, 2);
+%! x2 = logspace (1, 2, 10);
+%! x3 = logspace (1, -2, 10);
+%! x4 = logspace (1, pi, 10);
+%! assert((size (x1) == [1, 50] && x1(1) == 10 && x1(50) == 100
+%! && size (x2) == [1, 10] && x2(1) == 10 && x2(10) == 100
+%! && size (x3) == [1, 10] && x3(1) == 10 && x3(10) == 0.01
+%! && size (x4) == [1, 10] && x4(1) == 10 && abs (x4(10) - pi) < sqrt (eps)));
+
+%% test/octave.test/matrix/logspace-2.m
+%!error logspace ([1, 2; 3, 4], 5, 6);
+
+%% test/octave.test/matrix/logspace-3.m
+%!error logspace ();
+
+%% test/octave.test/matrix/logspace-4.m
+%!error logspace (1, 2, 3, 4);
+
+%% test/octave.test/matrix/sylvester_matrix-1.m
+%!assert((sylvester_matrix (1) == [1, 1; 1, -1]
+%! && (sylvester_matrix (2)
+%! == [1, 1, 1, 1; 1, -1, 1, -1; 1, 1, -1, -1; 1, -1, -1, 1])));
+
+%% test/octave.test/matrix/sylvester_matrix-2.m
+%!error sylvester_matrix ([1, 2; 3, 4]);
+
+%% test/octave.test/matrix/sylvester_matrix-3.m
+%!error sylvester_matrix ();
+
+%% test/octave.test/matrix/sylvester_matrix-4.m
+%!error sylvester_matrix (1, 2);
+
+%% test/octave.test/matrix/hankel-1.m
+%!assert((hankel (1) == 1 && hankel ([1, 2]) == [1, 2; 2, 0]
+%! && hankel ([1, 2], [2; -1; -3]) == [1, 2, -1; 2, -1, -3]));
+
+%% test/octave.test/matrix/hankel-2.m
+%!error hankel ([1, 2; 3, 4], [1, 2; 3, 4]);
+
+%% test/octave.test/matrix/hankel-3.m
+%!error hankel ();
+
+%% test/octave.test/matrix/hankel-4.m
+%!error hankel (1, 2, 3);
+
+%% test/octave.test/matrix/hilb-1.m
+%!assert((hilb (2) == [1, 1/2; 1/2, 1/3]
+%! && hilb (3) == [1, 1/2, 1/3; 1/2, 1/3, 1/4; 1/3, 1/4, 1/5]));
+
+%% test/octave.test/matrix/hilb-2.m
+%!error hilb ();
+
+%% test/octave.test/matrix/hilb-3.m
+%!error hilb (1, 2);
+
+%% test/octave.test/matrix/invhilb-1.m
+%!test
+%! result4 = [16, -120, 240, -140;
+%! -120, 1200, -2700, 1680;
+%! 240, -2700, 6480, -4200;
+%! -140, 1680, -4200, 2800];
+%! 
+%! assert((invhilb (1) == 1 && invhilb (2) == [4, -6; -6, 12]
+%! && invhilb (4) == result4
+%! && abs (invhilb (7) * hilb (7) - eye (7)) < sqrt (eps)));
+
+%% test/octave.test/matrix/invhilb-2.m
+%!error invhilb ([1, 2]);
+
+%% test/octave.test/matrix/invhilb-3.m
+%!error invhilb ();
+
+%% test/octave.test/matrix/invhilb-4.m
+%!error invhilb (1, 2);
+
+%% test/octave.test/matrix/toeplitz-1.m
+%!assert((toeplitz (1) == 1
+%! && toeplitz ([1, 2, 3], [1; -3; -5]) == [1, -3, -5; 2, 1, -3; 3, 2, 1]
+%! && toeplitz ([1, 2, 3], [1; -3i; -5i]) == [1, -3i, -5i; 2, 1, -3i; 3, 2, 1]));
+
+%% test/octave.test/matrix/toeplitz-2.m
+%!error toeplitz ([1, 2; 3, 4], 1);
+
+%% test/octave.test/matrix/toeplitz-3.m
+%!error toeplitz ();
+
+%% test/octave.test/matrix/toeplitz-4.m
+%!error toeplitz (1, 2, 3);
+
+%% test/octave.test/matrix/vander-1.m
+%!assert((vander (1) == 1 && vander ([1, 2, 3]) == vander ([1; 2; 3])
+%! && vander ([1, 2, 3]) == [1, 1, 1; 4, 2, 1; 9, 3, 1]
+%! && vander ([1, 2, 3]*i) == [-1, i, 1; -4, 2i, 1; -9, 3i, 1]));
+
+%% test/octave.test/matrix/vander-2.m
+%!error vander ([1, 2; 3, 4]);
+
+%% test/octave.test/matrix/vander-3.m
+%!error vander ();
+
+%% test/octave.test/matrix/vander-4.m
+%!error vander (1, 2);
+