rubysl-matrix 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE +25 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/lib/matrix.rb +1 -0
  9. data/lib/rubysl/matrix.rb +2 -0
  10. data/lib/rubysl/matrix/matrix.rb +1537 -0
  11. data/lib/rubysl/matrix/version.rb +5 -0
  12. data/rubysl-matrix.gemspec +27 -0
  13. data/spec/I_spec.rb +5 -0
  14. data/spec/build_spec.rb +75 -0
  15. data/spec/clone_spec.rb +26 -0
  16. data/spec/coerce_spec.rb +11 -0
  17. data/spec/collect_spec.rb +5 -0
  18. data/spec/column_size_spec.rb +14 -0
  19. data/spec/column_spec.rb +36 -0
  20. data/spec/column_vector_spec.rb +36 -0
  21. data/spec/column_vectors_spec.rb +25 -0
  22. data/spec/columns_spec.rb +45 -0
  23. data/spec/conj_spec.rb +7 -0
  24. data/spec/conjugate_spec.rb +7 -0
  25. data/spec/constructor_spec.rb +68 -0
  26. data/spec/det_spec.rb +6 -0
  27. data/spec/determinant_spec.rb +6 -0
  28. data/spec/diagonal_spec.rb +73 -0
  29. data/spec/divide_spec.rb +60 -0
  30. data/spec/each_spec.rb +77 -0
  31. data/spec/each_with_index_spec.rb +84 -0
  32. data/spec/eigenvalue_decomposition/eigenvalue_matrix_spec.rb +10 -0
  33. data/spec/eigenvalue_decomposition/eigenvalues_spec.rb +23 -0
  34. data/spec/eigenvalue_decomposition/eigenvector_matrix_spec.rb +23 -0
  35. data/spec/eigenvalue_decomposition/eigenvectors_spec.rb +25 -0
  36. data/spec/eigenvalue_decomposition/initialize_spec.rb +27 -0
  37. data/spec/eigenvalue_decomposition/to_a_spec.rb +19 -0
  38. data/spec/element_reference_spec.rb +24 -0
  39. data/spec/empty_spec.rb +69 -0
  40. data/spec/eql_spec.rb +12 -0
  41. data/spec/equal_value_spec.rb +10 -0
  42. data/spec/exponent_spec.rb +66 -0
  43. data/spec/find_index_spec.rb +147 -0
  44. data/spec/fixtures/classes.rb +7 -0
  45. data/spec/hash_spec.rb +14 -0
  46. data/spec/hermitian_spec.rb +37 -0
  47. data/spec/identity_spec.rb +5 -0
  48. data/spec/imag_spec.rb +7 -0
  49. data/spec/imaginary_spec.rb +7 -0
  50. data/spec/inspect_spec.rb +30 -0
  51. data/spec/inv_spec.rb +6 -0
  52. data/spec/inverse_from_spec.rb +5 -0
  53. data/spec/inverse_spec.rb +6 -0
  54. data/spec/lower_triangular_spec.rb +25 -0
  55. data/spec/lup_decomposition/determinant_spec.rb +24 -0
  56. data/spec/lup_decomposition/initialize_spec.rb +14 -0
  57. data/spec/lup_decomposition/l_spec.rb +19 -0
  58. data/spec/lup_decomposition/p_spec.rb +19 -0
  59. data/spec/lup_decomposition/solve_spec.rb +54 -0
  60. data/spec/lup_decomposition/to_a_spec.rb +36 -0
  61. data/spec/lup_decomposition/u_spec.rb +19 -0
  62. data/spec/map_spec.rb +5 -0
  63. data/spec/minor_spec.rb +90 -0
  64. data/spec/minus_spec.rb +45 -0
  65. data/spec/multiply_spec.rb +73 -0
  66. data/spec/new_spec.rb +7 -0
  67. data/spec/normal_spec.rb +27 -0
  68. data/spec/orthogonal_spec.rb +27 -0
  69. data/spec/permutation_spec.rb +33 -0
  70. data/spec/plus_spec.rb +45 -0
  71. data/spec/rank_spec.rb +24 -0
  72. data/spec/real_spec.rb +45 -0
  73. data/spec/rect_spec.rb +7 -0
  74. data/spec/rectangular_spec.rb +7 -0
  75. data/spec/regular_spec.rb +34 -0
  76. data/spec/round_spec.rb +24 -0
  77. data/spec/row_size_spec.rb +12 -0
  78. data/spec/row_spec.rb +37 -0
  79. data/spec/row_vector_spec.rb +33 -0
  80. data/spec/row_vectors_spec.rb +25 -0
  81. data/spec/rows_spec.rb +40 -0
  82. data/spec/scalar/Fail_spec.rb +5 -0
  83. data/spec/scalar/Raise_spec.rb +5 -0
  84. data/spec/scalar/divide_spec.rb +5 -0
  85. data/spec/scalar/exponent_spec.rb +5 -0
  86. data/spec/scalar/included_spec.rb +5 -0
  87. data/spec/scalar/initialize_spec.rb +5 -0
  88. data/spec/scalar/minus_spec.rb +5 -0
  89. data/spec/scalar/multiply_spec.rb +5 -0
  90. data/spec/scalar/plus_spec.rb +5 -0
  91. data/spec/scalar_spec.rb +66 -0
  92. data/spec/shared/collect.rb +29 -0
  93. data/spec/shared/conjugate.rb +21 -0
  94. data/spec/shared/determinant.rb +53 -0
  95. data/spec/shared/equal_value.rb +35 -0
  96. data/spec/shared/identity.rb +21 -0
  97. data/spec/shared/imaginary.rb +22 -0
  98. data/spec/shared/inverse.rb +42 -0
  99. data/spec/shared/rectangular.rb +20 -0
  100. data/spec/shared/trace.rb +14 -0
  101. data/spec/shared/transpose.rb +23 -0
  102. data/spec/singular_spec.rb +34 -0
  103. data/spec/spec_helper.rb +35 -0
  104. data/spec/square_spec.rb +29 -0
  105. data/spec/symmetric_spec.rb +30 -0
  106. data/spec/t_spec.rb +5 -0
  107. data/spec/to_a_spec.rb +5 -0
  108. data/spec/to_s_spec.rb +5 -0
  109. data/spec/tr_spec.rb +6 -0
  110. data/spec/trace_spec.rb +6 -0
  111. data/spec/transpose_spec.rb +5 -0
  112. data/spec/unit_spec.rb +5 -0
  113. data/spec/unitary_spec.rb +29 -0
  114. data/spec/upper_triangular_spec.rb +26 -0
  115. data/spec/vector/cross_product_spec.rb +25 -0
  116. data/spec/vector/each2_spec.rb +52 -0
  117. data/spec/vector/eql_spec.rb +17 -0
  118. data/spec/vector/inner_product_spec.rb +25 -0
  119. data/spec/vector/normalize_spec.rb +19 -0
  120. data/spec/zero_spec.rb +55 -0
  121. metadata +341 -0
@@ -0,0 +1,6 @@
1
+ require File.expand_path('../shared/trace', __FILE__)
2
+ require 'matrix'
3
+
4
+ describe "Matrix#tr" do
5
+ it_behaves_like(:trace, :tr)
6
+ end
@@ -0,0 +1,6 @@
1
+ require File.expand_path('../shared/trace', __FILE__)
2
+ require 'matrix'
3
+
4
+ describe "Matrix#trace" do
5
+ it_behaves_like(:trace, :trace)
6
+ end
@@ -0,0 +1,5 @@
1
+ require File.expand_path('../shared/transpose', __FILE__)
2
+
3
+ describe "Matrix#transpose" do
4
+ it_behaves_like(:matrix_transpose, :transpose)
5
+ end
@@ -0,0 +1,5 @@
1
+ require File.expand_path('../shared/identity', __FILE__)
2
+
3
+ describe "Matrix.unit" do
4
+ it_behaves_like(:matrix_identity, :unit)
5
+ end
@@ -0,0 +1,29 @@
1
+ require 'matrix'
2
+
3
+ ruby_version_is "1.9.3" do
4
+ describe "Matrix.unitary?" do
5
+ it "returns false for non unitary matrices" do
6
+ Matrix[[0, 1], [1, 2]].unitary?.should == false
7
+ Matrix[[0, Complex(0, 2)], [Complex(0, 2), 0]].unitary?.should == false
8
+ Matrix[[0, Complex(0, 1)], [Complex(0, -1), 0]].unitary?.should == false
9
+ Matrix[[1, 1, 0], [0, 1, 1], [1, 0, 1]].unitary?.should == false
10
+ end
11
+
12
+ it "returns true for unitary matrices" do
13
+ Matrix[[0, Complex(0, 1)], [Complex(0, 1), 0]].unitary?.should == true
14
+ end
15
+
16
+ it "raises an error for rectangular matrices" do
17
+ [
18
+ Matrix[[0], [0]],
19
+ Matrix[[0, 0]],
20
+ Matrix.empty(0, 2),
21
+ Matrix.empty(2, 0),
22
+ ].each do |rectangual_matrix|
23
+ lambda {
24
+ rectangual_matrix.unitary?
25
+ }.should raise_error(Matrix::ErrDimensionMismatch)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,26 @@
1
+ require 'matrix'
2
+
3
+ ruby_version_is "1.9.3" do
4
+ describe "Matrix.upper_triangular?" do
5
+ it "returns true for an upper triangular Matrix" do
6
+ Matrix[[1, 2, 3], [0, 2, 3], [0, 0, 3]].upper_triangular?.should be_true
7
+ Matrix.diagonal([1, 2, 3]).upper_triangular?.should be_true
8
+ Matrix[[1, 2], [0, 2], [0, 0], [0, 0]].upper_triangular?.should be_true
9
+ Matrix[[1, 2, 3, 4], [0, 2, 3, 4]].upper_triangular?.should be_true
10
+ end
11
+
12
+ it "returns false for a non upper triangular square Matrix" do
13
+ Matrix[[0, 0], [1, 0]].upper_triangular?.should be_false
14
+ Matrix[[1, 2, 3], [1, 2, 3], [1, 2, 3]].upper_triangular?.should be_false
15
+ Matrix[[0, 0], [0, 0], [0, 0], [0, 1]].upper_triangular?.should be_false
16
+ Matrix[[0, 0, 0, 0], [1, 0, 0, 0]].upper_triangular?.should be_false
17
+ end
18
+
19
+ it "returns true for an empty matrix" do
20
+ Matrix.empty(3,0).upper_triangular?.should be_true
21
+ Matrix.empty(0,3).upper_triangular?.should be_true
22
+ Matrix.empty(0,0).upper_triangular?.should be_true
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,25 @@
1
+ require 'matrix'
2
+
3
+ ruby_version_is "2.1.0" do
4
+ describe "Vector#cross_product" do
5
+ it "returns the cross product of a vector" do
6
+ Vector[1, 2, 3].cross_product(Vector[0, -4, 5]).should == Vector[-22, 5, 4]
7
+ end
8
+
9
+ it "accepts an array parameter" do
10
+ Vector[1, 2, 3].cross_product([0, -4, 5]).should == Vector[-22, 5, 4]
11
+ end
12
+
13
+ it "raises an error unless both vectors have dimension 3" do
14
+ lambda {
15
+ Vector[1, 2, 3].cross_product(Vector[0, -4])
16
+ }.should raise_error(Vector::ErrDimensionMismatch)
17
+ lambda {
18
+ Vector[1, 2].cross_product(Vector[0, 1, 2])
19
+ }.should raise_error(Vector::ErrDimensionMismatch)
20
+ lambda {
21
+ Vector[1, 2].cross_product(Vector[1, 2])
22
+ }.should raise_error(Vector::ErrDimensionMismatch)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,52 @@
1
+ require 'matrix'
2
+
3
+ describe "Vector.each2" do
4
+ before :all do
5
+ @v = Vector[1, 2, 3]
6
+ @v2 = Vector[4, 5, 6]
7
+ end
8
+
9
+ it "requires one argument" do
10
+ lambda { @v.each2(@v2, @v2){} }.should raise_error(ArgumentError)
11
+ lambda { @v.each2(){} }.should raise_error(ArgumentError)
12
+ end
13
+
14
+ describe "given one argument" do
15
+ it "accepts an Array argument" do
16
+ a = []
17
+ @v.each2([7, 8, 9]){|x, y| a << x << y}
18
+ a.should == [1, 7, 2, 8, 3, 9]
19
+ end
20
+
21
+ it "raises a DimensionMismatch error if the Vector size is different" do
22
+ lambda { @v.each2(Vector[1,2]){} }.should raise_error(Vector::ErrDimensionMismatch)
23
+ lambda { @v.each2(Vector[1,2,3,4]){} }.should raise_error(Vector::ErrDimensionMismatch)
24
+ end
25
+
26
+ it "yields arguments in sequence" do
27
+ a = []
28
+ @v.each2(@v2){|first, second| a << [first, second]}
29
+ a.should == [[1, 4], [2, 5], [3, 6]]
30
+ end
31
+
32
+ it "yield arguments in pairs" do
33
+ a = []
34
+ @v.each2(@v2){|*pair| a << pair}
35
+ a.should == [[1, 4], [2, 5], [3, 6]]
36
+ end
37
+
38
+ ruby_bug "to be submitted", "1.9.1" do
39
+ it "returns self when given a block" do
40
+ @v.each2(@v2){}.should equal(@v)
41
+ end
42
+ end
43
+
44
+ ruby_version_is "1.8.8" do
45
+ it "returns an enumerator if no block given" do
46
+ enum = @v.each2(@v2)
47
+ enum.should be_an_instance_of(enumerator_class)
48
+ enum.to_a.should == [[1, 4], [2, 5], [3, 6]]
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,17 @@
1
+ require 'matrix'
2
+
3
+ describe "Vector#eql?" do
4
+ before do
5
+ @vector = Vector[1, 2, 3, 4, 5]
6
+ end
7
+
8
+ it "returns true for self" do
9
+ @vector.eql?(@vector).should be_true
10
+ end
11
+
12
+ ruby_bug("[ruby-dev:36298]", "1.8.7") do
13
+ it "returns false when there are a pair corresponding elements which are not equal in the sense of Object#eql?" do
14
+ @vector.eql?(Vector[1, 2, 3, 4, 5.0]).should be_false
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ require 'matrix'
2
+
3
+ ruby_version_is "1.9.3" do
4
+ describe "Vector#inner_product" do
5
+ it "returns the inner product of a vector" do
6
+ Vector[1, 2, 3].inner_product(Vector[0, -4, 5]).should == 7
7
+ end
8
+
9
+ it "returns 0 for empty vectors" do
10
+ Vector[].inner_product(Vector[]).should == 0
11
+ end
12
+
13
+ it "raises an error for mismatched vectors" do
14
+ lambda {
15
+ Vector[1, 2, 3].inner_product(Vector[0, -4])
16
+ }.should raise_error(Vector::ErrDimensionMismatch)
17
+ end
18
+
19
+ ruby_bug "Bug #6967", "1.9.3" do
20
+ it "uses the conjugate of its argument" do
21
+ Vector[Complex(1,2)].inner_product(Vector[Complex(3,4)]).should == Complex(11, 2)
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ require 'matrix'
2
+
3
+ ruby_version_is "1.9.3" do
4
+ describe "Vector#normalize" do
5
+ it "returns a normalized copy of the vector" do
6
+ x = 0.2672612419124244
7
+ Vector[1, 2, 3].normalize.should == Vector[x, x * 2, x * 3]
8
+ end
9
+
10
+ it "raises an error for zero vectors" do
11
+ lambda {
12
+ Vector[].normalize
13
+ }.should raise_error(Vector::ZeroVectorError)
14
+ lambda {
15
+ Vector[0, 0, 0].normalize
16
+ }.should raise_error(Vector::ZeroVectorError)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,55 @@
1
+ require File.expand_path('../fixtures/classes', __FILE__)
2
+ require 'matrix'
3
+
4
+ describe "Matrix.zero" do
5
+ it "returns an object of type Matrix" do
6
+ Matrix.zero(3).should be_kind_of(Matrix)
7
+ end
8
+
9
+ it "creates a n x n matrix" do
10
+ m3 = Matrix.zero(3)
11
+ m3.row_size.should == 3
12
+ m3.column_size.should == 3
13
+
14
+ m8 = Matrix.zero(8)
15
+ m8.row_size.should == 8
16
+ m8.column_size.should == 8
17
+ end
18
+
19
+ it "initializes all cells to 0" do
20
+ size = 10
21
+ m = Matrix.zero(size)
22
+
23
+ (0...size).each do |i|
24
+ (0...size).each do |j|
25
+ m[i, j].should == 0
26
+ end
27
+ end
28
+ end
29
+
30
+ ruby_bug "redmine #5307", "1.9.3" do
31
+ describe "for a subclass of Matrix" do
32
+ it "returns an instance of that subclass" do
33
+ MatrixSub.zero(3).should be_an_instance_of(MatrixSub)
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ ruby_version_is "1.9.3" do
40
+ describe "Matrix.zero?" do
41
+ it "returns true for empty matrices" do
42
+ Matrix.empty.zero?.should == true
43
+ Matrix.empty(3,0).zero?.should == true
44
+ Matrix.empty(0,3).zero?.should == true
45
+ end
46
+
47
+ it "returns true for matrices with zero entries" do
48
+ Matrix.zero(2,3).zero?.should == true
49
+ end
50
+
51
+ it "returns false for matrices with non zero entries" do
52
+ Matrix[[1]].zero?.should == false
53
+ end
54
+ end
55
+ end
metadata ADDED
@@ -0,0 +1,341 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubysl-matrix
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Brian Shirai
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubysl-e2mmap
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.5'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubysl-prettyprint
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ description: Ruby standard library matrix.
84
+ email:
85
+ - brixen@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - .gitignore
91
+ - .travis.yml
92
+ - Gemfile
93
+ - LICENSE
94
+ - README.md
95
+ - Rakefile
96
+ - lib/matrix.rb
97
+ - lib/rubysl/matrix.rb
98
+ - lib/rubysl/matrix/matrix.rb
99
+ - lib/rubysl/matrix/version.rb
100
+ - rubysl-matrix.gemspec
101
+ - spec/I_spec.rb
102
+ - spec/build_spec.rb
103
+ - spec/clone_spec.rb
104
+ - spec/coerce_spec.rb
105
+ - spec/collect_spec.rb
106
+ - spec/column_size_spec.rb
107
+ - spec/column_spec.rb
108
+ - spec/column_vector_spec.rb
109
+ - spec/column_vectors_spec.rb
110
+ - spec/columns_spec.rb
111
+ - spec/conj_spec.rb
112
+ - spec/conjugate_spec.rb
113
+ - spec/constructor_spec.rb
114
+ - spec/det_spec.rb
115
+ - spec/determinant_spec.rb
116
+ - spec/diagonal_spec.rb
117
+ - spec/divide_spec.rb
118
+ - spec/each_spec.rb
119
+ - spec/each_with_index_spec.rb
120
+ - spec/eigenvalue_decomposition/eigenvalue_matrix_spec.rb
121
+ - spec/eigenvalue_decomposition/eigenvalues_spec.rb
122
+ - spec/eigenvalue_decomposition/eigenvector_matrix_spec.rb
123
+ - spec/eigenvalue_decomposition/eigenvectors_spec.rb
124
+ - spec/eigenvalue_decomposition/initialize_spec.rb
125
+ - spec/eigenvalue_decomposition/to_a_spec.rb
126
+ - spec/element_reference_spec.rb
127
+ - spec/empty_spec.rb
128
+ - spec/eql_spec.rb
129
+ - spec/equal_value_spec.rb
130
+ - spec/exponent_spec.rb
131
+ - spec/find_index_spec.rb
132
+ - spec/fixtures/classes.rb
133
+ - spec/hash_spec.rb
134
+ - spec/hermitian_spec.rb
135
+ - spec/identity_spec.rb
136
+ - spec/imag_spec.rb
137
+ - spec/imaginary_spec.rb
138
+ - spec/inspect_spec.rb
139
+ - spec/inv_spec.rb
140
+ - spec/inverse_from_spec.rb
141
+ - spec/inverse_spec.rb
142
+ - spec/lower_triangular_spec.rb
143
+ - spec/lup_decomposition/determinant_spec.rb
144
+ - spec/lup_decomposition/initialize_spec.rb
145
+ - spec/lup_decomposition/l_spec.rb
146
+ - spec/lup_decomposition/p_spec.rb
147
+ - spec/lup_decomposition/solve_spec.rb
148
+ - spec/lup_decomposition/to_a_spec.rb
149
+ - spec/lup_decomposition/u_spec.rb
150
+ - spec/map_spec.rb
151
+ - spec/minor_spec.rb
152
+ - spec/minus_spec.rb
153
+ - spec/multiply_spec.rb
154
+ - spec/new_spec.rb
155
+ - spec/normal_spec.rb
156
+ - spec/orthogonal_spec.rb
157
+ - spec/permutation_spec.rb
158
+ - spec/plus_spec.rb
159
+ - spec/rank_spec.rb
160
+ - spec/real_spec.rb
161
+ - spec/rect_spec.rb
162
+ - spec/rectangular_spec.rb
163
+ - spec/regular_spec.rb
164
+ - spec/round_spec.rb
165
+ - spec/row_size_spec.rb
166
+ - spec/row_spec.rb
167
+ - spec/row_vector_spec.rb
168
+ - spec/row_vectors_spec.rb
169
+ - spec/rows_spec.rb
170
+ - spec/scalar/Fail_spec.rb
171
+ - spec/scalar/Raise_spec.rb
172
+ - spec/scalar/divide_spec.rb
173
+ - spec/scalar/exponent_spec.rb
174
+ - spec/scalar/included_spec.rb
175
+ - spec/scalar/initialize_spec.rb
176
+ - spec/scalar/minus_spec.rb
177
+ - spec/scalar/multiply_spec.rb
178
+ - spec/scalar/plus_spec.rb
179
+ - spec/scalar_spec.rb
180
+ - spec/shared/collect.rb
181
+ - spec/shared/conjugate.rb
182
+ - spec/shared/determinant.rb
183
+ - spec/shared/equal_value.rb
184
+ - spec/shared/identity.rb
185
+ - spec/shared/imaginary.rb
186
+ - spec/shared/inverse.rb
187
+ - spec/shared/rectangular.rb
188
+ - spec/shared/trace.rb
189
+ - spec/shared/transpose.rb
190
+ - spec/singular_spec.rb
191
+ - spec/spec_helper.rb
192
+ - spec/square_spec.rb
193
+ - spec/symmetric_spec.rb
194
+ - spec/t_spec.rb
195
+ - spec/to_a_spec.rb
196
+ - spec/to_s_spec.rb
197
+ - spec/tr_spec.rb
198
+ - spec/trace_spec.rb
199
+ - spec/transpose_spec.rb
200
+ - spec/unit_spec.rb
201
+ - spec/unitary_spec.rb
202
+ - spec/upper_triangular_spec.rb
203
+ - spec/vector/cross_product_spec.rb
204
+ - spec/vector/each2_spec.rb
205
+ - spec/vector/eql_spec.rb
206
+ - spec/vector/inner_product_spec.rb
207
+ - spec/vector/normalize_spec.rb
208
+ - spec/zero_spec.rb
209
+ homepage: https://github.com/rubysl/rubysl-matrix
210
+ licenses:
211
+ - BSD
212
+ metadata: {}
213
+ post_install_message:
214
+ rdoc_options: []
215
+ require_paths:
216
+ - lib
217
+ required_ruby_version: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ version: 1.8.7
222
+ required_rubygems_version: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - '>='
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ requirements: []
228
+ rubyforge_project:
229
+ rubygems_version: 2.0.7
230
+ signing_key:
231
+ specification_version: 4
232
+ summary: Ruby standard library matrix.
233
+ test_files:
234
+ - spec/I_spec.rb
235
+ - spec/build_spec.rb
236
+ - spec/clone_spec.rb
237
+ - spec/coerce_spec.rb
238
+ - spec/collect_spec.rb
239
+ - spec/column_size_spec.rb
240
+ - spec/column_spec.rb
241
+ - spec/column_vector_spec.rb
242
+ - spec/column_vectors_spec.rb
243
+ - spec/columns_spec.rb
244
+ - spec/conj_spec.rb
245
+ - spec/conjugate_spec.rb
246
+ - spec/constructor_spec.rb
247
+ - spec/det_spec.rb
248
+ - spec/determinant_spec.rb
249
+ - spec/diagonal_spec.rb
250
+ - spec/divide_spec.rb
251
+ - spec/each_spec.rb
252
+ - spec/each_with_index_spec.rb
253
+ - spec/eigenvalue_decomposition/eigenvalue_matrix_spec.rb
254
+ - spec/eigenvalue_decomposition/eigenvalues_spec.rb
255
+ - spec/eigenvalue_decomposition/eigenvector_matrix_spec.rb
256
+ - spec/eigenvalue_decomposition/eigenvectors_spec.rb
257
+ - spec/eigenvalue_decomposition/initialize_spec.rb
258
+ - spec/eigenvalue_decomposition/to_a_spec.rb
259
+ - spec/element_reference_spec.rb
260
+ - spec/empty_spec.rb
261
+ - spec/eql_spec.rb
262
+ - spec/equal_value_spec.rb
263
+ - spec/exponent_spec.rb
264
+ - spec/find_index_spec.rb
265
+ - spec/fixtures/classes.rb
266
+ - spec/hash_spec.rb
267
+ - spec/hermitian_spec.rb
268
+ - spec/identity_spec.rb
269
+ - spec/imag_spec.rb
270
+ - spec/imaginary_spec.rb
271
+ - spec/inspect_spec.rb
272
+ - spec/inv_spec.rb
273
+ - spec/inverse_from_spec.rb
274
+ - spec/inverse_spec.rb
275
+ - spec/lower_triangular_spec.rb
276
+ - spec/lup_decomposition/determinant_spec.rb
277
+ - spec/lup_decomposition/initialize_spec.rb
278
+ - spec/lup_decomposition/l_spec.rb
279
+ - spec/lup_decomposition/p_spec.rb
280
+ - spec/lup_decomposition/solve_spec.rb
281
+ - spec/lup_decomposition/to_a_spec.rb
282
+ - spec/lup_decomposition/u_spec.rb
283
+ - spec/map_spec.rb
284
+ - spec/minor_spec.rb
285
+ - spec/minus_spec.rb
286
+ - spec/multiply_spec.rb
287
+ - spec/new_spec.rb
288
+ - spec/normal_spec.rb
289
+ - spec/orthogonal_spec.rb
290
+ - spec/permutation_spec.rb
291
+ - spec/plus_spec.rb
292
+ - spec/rank_spec.rb
293
+ - spec/real_spec.rb
294
+ - spec/rect_spec.rb
295
+ - spec/rectangular_spec.rb
296
+ - spec/regular_spec.rb
297
+ - spec/round_spec.rb
298
+ - spec/row_size_spec.rb
299
+ - spec/row_spec.rb
300
+ - spec/row_vector_spec.rb
301
+ - spec/row_vectors_spec.rb
302
+ - spec/rows_spec.rb
303
+ - spec/scalar/Fail_spec.rb
304
+ - spec/scalar/Raise_spec.rb
305
+ - spec/scalar/divide_spec.rb
306
+ - spec/scalar/exponent_spec.rb
307
+ - spec/scalar/included_spec.rb
308
+ - spec/scalar/initialize_spec.rb
309
+ - spec/scalar/minus_spec.rb
310
+ - spec/scalar/multiply_spec.rb
311
+ - spec/scalar/plus_spec.rb
312
+ - spec/scalar_spec.rb
313
+ - spec/shared/collect.rb
314
+ - spec/shared/conjugate.rb
315
+ - spec/shared/determinant.rb
316
+ - spec/shared/equal_value.rb
317
+ - spec/shared/identity.rb
318
+ - spec/shared/imaginary.rb
319
+ - spec/shared/inverse.rb
320
+ - spec/shared/rectangular.rb
321
+ - spec/shared/trace.rb
322
+ - spec/shared/transpose.rb
323
+ - spec/singular_spec.rb
324
+ - spec/spec_helper.rb
325
+ - spec/square_spec.rb
326
+ - spec/symmetric_spec.rb
327
+ - spec/t_spec.rb
328
+ - spec/to_a_spec.rb
329
+ - spec/to_s_spec.rb
330
+ - spec/tr_spec.rb
331
+ - spec/trace_spec.rb
332
+ - spec/transpose_spec.rb
333
+ - spec/unit_spec.rb
334
+ - spec/unitary_spec.rb
335
+ - spec/upper_triangular_spec.rb
336
+ - spec/vector/cross_product_spec.rb
337
+ - spec/vector/each2_spec.rb
338
+ - spec/vector/eql_spec.rb
339
+ - spec/vector/inner_product_spec.rb
340
+ - spec/vector/normalize_spec.rb
341
+ - spec/zero_spec.rb