[前][次][番号順一覧][スレッド一覧]

ruby-changes:13905

From: yugui <ko1@a...>
Date: Wed, 11 Nov 2009 02:18:46 +0900 (JST)
Subject: [ruby-changes:13905] Ruby:r25709 (trunk): * test/matrix/test_matrix.rb (TestMatrix#test_rank):

yugui	2009-11-11 02:18:31 +0900 (Wed, 11 Nov 2009)

  New Revision: 25709

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25709

  Log:
    * test/matrix/test_matrix.rb (TestMatrix#test_rank):
      added a test method for r24969.

  Modified files:
    trunk/ChangeLog
    trunk/test/matrix/test_matrix.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 25708)
+++ ChangeLog	(revision 25709)
@@ -1,3 +1,8 @@
+Wed Nov 11 02:14:48 2009  Yuki Sonoda (Yugui)  <yugui@y...>
+
+	* test/matrix/test_matrix.rb (TestMatrix#test_rank):
+	  added a test method for r24969.
+
 Tue Nov 10 08:23:21 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* process.c (rb_f_exec, rb_f_system, rb_f_spawn): mentioned abou
Index: test/matrix/test_matrix.rb
===================================================================
--- test/matrix/test_matrix.rb	(revision 25708)
+++ test/matrix/test_matrix.rb	(revision 25709)
@@ -46,4 +46,102 @@
     assert_equal @m1.hash, @m2.hash
     assert_equal @m1.hash, @m3.hash
   end
+
+  def test_rank
+    [
+      [[0]],
+      [[0], [0]],
+      [[0, 0], [0, 0]],
+      [[0, 0], [0, 0], [0, 0]],
+      [[0, 0, 0]],
+      [[0, 0, 0], [0, 0, 0]],
+      [[0, 0, 0], [0, 0, 0], [0, 0, 0]],
+      [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]],
+    ].each do |rows|
+      assert_equal 0, Matrix[*rows].rank
+    end
+
+    [
+      [[1], [0]],
+      [[1, 0], [0, 0]],
+      [[1, 0], [1, 0]],
+      [[0, 0], [1, 0]],
+      [[1, 0], [0, 0], [0, 0]],
+      [[0, 0], [1, 0], [0, 0]],
+      [[0, 0], [0, 0], [1, 0]],
+      [[1, 0], [1, 0], [0, 0]],
+      [[0, 0], [1, 0], [1, 0]],
+      [[1, 0], [1, 0], [1, 0]],
+      [[1, 0, 0]],
+      [[1, 0, 0], [0, 0, 0]],
+      [[0, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [0, 0, 0], [0, 0, 0]],
+      [[0, 0, 0], [1, 0, 0], [0, 0, 0]],
+      [[0, 0, 0], [0, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [1, 0, 0], [0, 0, 0]],
+      [[0, 0, 0], [1, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [0, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [1, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]],
+      [[1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]],
+      [[1, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0]],
+      [[1, 0, 0], [0, 0, 0], [1, 0, 0], [0, 0, 0]],
+      [[1, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 0]],
+      [[1, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [1, 0, 0], [0, 0, 0], [1, 0, 0]],
+      [[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]],
+
+      [[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, 1, 1], [1, 1, 1], [1, 1, 1]],
+      [[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]],
+    ].each do |rows|
+      matrix = Matrix[*rows]
+      assert_equal 1, matrix.rank
+      assert_equal 1, matrix.transpose.rank
+    end
+
+    [
+      [[1, 0], [0, 1]],
+      [[1, 0], [0, 1], [0, 0]],
+      [[1, 0], [0, 1], [0, 1]],
+      [[1, 0], [0, 1], [1, 1]],
+      [[1, 0, 0], [0, 1, 0]],
+      [[1, 0, 0], [0, 0, 1]],
+      [[1, 0, 0], [0, 1, 0], [0, 0, 0]],
+      [[1, 0, 0], [0, 0, 1], [0, 0, 0]],
+
+      [[1, 0, 0], [0, 0, 0], [0, 1, 0]],
+      [[1, 0, 0], [0, 0, 0], [0, 0, 1]],
+
+      [[1, 0], [1, 1]],
+      [[1, 2], [1, 1]],
+      [[1, 2], [0, 1], [1, 1]],
+    ].each do |rows|
+      m = Matrix[*rows]
+      assert_equal 2, m.rank
+      assert_equal 2, m.transpose.rank
+    end
+
+    [
+      [[1, 0, 0], [0, 1, 0], [0, 0, 1]],
+      [[1, 1, 0], [0, 1, 1], [1, 0, 1]],
+      [[1, 1, 0], [0, 1, 1], [1, 0, 1]],
+      [[1, 1, 0], [0, 1, 1], [1, 0, 1], [0, 0, 0]],
+      [[1, 1, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]],
+      [[1, 1, 1], [1, 1, 2], [1, 3, 1], [4, 1, 1]],
+    ].each do |rows|
+      m = Matrix[*rows]
+      assert_equal 3, m.rank
+      assert_equal 3, m.transpose.rank
+    end
+  end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]