rubysl-matrix 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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