ruby-eigen 0.0.10 → 0.0.11.pre1
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.
- checksums.yaml +4 -4
- data/COPYING.LGPLv3 +165 -0
- data/LICENSE +10 -18
- data/README.md +16 -0
- data/ext/eigen/eigen3/COPYING.LGPL +502 -0
- data/ext/eigen/eigen3/Eigen/OrderingMethods +66 -0
- data/ext/eigen/eigen3/Eigen/SparseCholesky +47 -0
- data/ext/eigen/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +478 -0
- data/ext/eigen/eigen3/Eigen/src/OrderingMethods/Ordering.h +154 -0
- data/ext/eigen/eigen_wrap.cxx +21814 -10373
- data/lib/eigen.rb +35 -0
- metadata +11 -5
data/lib/eigen.rb
CHANGED
@@ -16,6 +16,7 @@ module Eigen::MatrixConstructor
|
|
16
16
|
ret = new(row_size, col_size)
|
17
17
|
col_ind = 0
|
18
18
|
ms.each{|m|
|
19
|
+
raise Eigen::EigenRuntimeError, "row sizes are different" unless row_size == m.rows
|
19
20
|
ret[0,col_ind] = m
|
20
21
|
col_ind += m.cols
|
21
22
|
}
|
@@ -28,6 +29,7 @@ module Eigen::MatrixConstructor
|
|
28
29
|
ret = new(row_size, col_size)
|
29
30
|
row_ind = 0
|
30
31
|
ms.each{|m|
|
32
|
+
raise Eigen::EigenRuntimeError, "col sizes are different" unless col_size == m.cols
|
31
33
|
ret[row_ind,0] = m
|
32
34
|
row_ind += m.rows
|
33
35
|
}
|
@@ -168,3 +170,36 @@ class Eigen::VectorComplex
|
|
168
170
|
extend Eigen::VectorConstructor
|
169
171
|
include Eigen::VectorCommon
|
170
172
|
end
|
173
|
+
|
174
|
+
module Eigen::SpMatrixCommon
|
175
|
+
|
176
|
+
def setFromTriplet(arry)
|
177
|
+
arry0 = arry.sort{|a, b|
|
178
|
+
ret = a[1] <=> b[1]
|
179
|
+
ret == 0 ? a[0] <=> b[0] : ret
|
180
|
+
}
|
181
|
+
each_col_size = Array.new(cols(), 0)
|
182
|
+
arry0.slice_when{|a, b| a[1] != b[1] }.each{|e|
|
183
|
+
each_col_size[ e[0][1] ] = e.size
|
184
|
+
}
|
185
|
+
reserve( each_col_size )
|
186
|
+
arry0.each{|e|
|
187
|
+
__insert__(e[0], e[1], e[2])
|
188
|
+
}
|
189
|
+
end
|
190
|
+
|
191
|
+
def reserve( arg )
|
192
|
+
if arg.respond_to?(:to_int)
|
193
|
+
return __reserve__( arg )
|
194
|
+
end
|
195
|
+
raise Eigen::EigenRuntimeError unless arg.size == cols()
|
196
|
+
__reserve__( arg )
|
197
|
+
end
|
198
|
+
|
199
|
+
end
|
200
|
+
|
201
|
+
|
202
|
+
class Eigen::SpMatrixDouble
|
203
|
+
include Eigen::SpMatrixCommon
|
204
|
+
private "__reserve__", "__insert__"
|
205
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-eigen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi Tamura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|
@@ -32,9 +32,11 @@ extensions:
|
|
32
32
|
- ext/eigen/extconf.rb
|
33
33
|
extra_rdoc_files: []
|
34
34
|
files:
|
35
|
+
- COPYING.LGPLv3
|
35
36
|
- LICENSE
|
36
37
|
- README.md
|
37
38
|
- ext/eigen/eigen3/COPYING.BSD
|
39
|
+
- ext/eigen/eigen3/COPYING.LGPL
|
38
40
|
- ext/eigen/eigen3/COPYING.MPL2
|
39
41
|
- ext/eigen/eigen3/COPYING.README
|
40
42
|
- ext/eigen/eigen3/Eigen/Array
|
@@ -52,6 +54,7 @@ files:
|
|
52
54
|
- ext/eigen/eigen3/Eigen/LU
|
53
55
|
- ext/eigen/eigen3/Eigen/LeastSquares
|
54
56
|
- ext/eigen/eigen3/Eigen/MetisSupport
|
57
|
+
- ext/eigen/eigen3/Eigen/OrderingMethods
|
55
58
|
- ext/eigen/eigen3/Eigen/PaStiXSupport
|
56
59
|
- ext/eigen/eigen3/Eigen/PardisoSupport
|
57
60
|
- ext/eigen/eigen3/Eigen/QR
|
@@ -59,6 +62,7 @@ files:
|
|
59
62
|
- ext/eigen/eigen3/Eigen/SPQRSupport
|
60
63
|
- ext/eigen/eigen3/Eigen/SVD
|
61
64
|
- ext/eigen/eigen3/Eigen/Sparse
|
65
|
+
- ext/eigen/eigen3/Eigen/SparseCholesky
|
62
66
|
- ext/eigen/eigen3/Eigen/SparseCore
|
63
67
|
- ext/eigen/eigen3/Eigen/SparseLU
|
64
68
|
- ext/eigen/eigen3/Eigen/SparseQR
|
@@ -234,6 +238,7 @@ files:
|
|
234
238
|
- ext/eigen/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
|
235
239
|
- ext/eigen/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
|
236
240
|
- ext/eigen/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
|
241
|
+
- ext/eigen/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
|
237
242
|
- ext/eigen/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
|
238
243
|
- ext/eigen/eigen3/Eigen/src/Jacobi/Jacobi.h
|
239
244
|
- ext/eigen/eigen3/Eigen/src/LU/Determinant.h
|
@@ -245,6 +250,7 @@ files:
|
|
245
250
|
- ext/eigen/eigen3/Eigen/src/MetisSupport/MetisSupport.h
|
246
251
|
- ext/eigen/eigen3/Eigen/src/OrderingMethods/Amd.h
|
247
252
|
- ext/eigen/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h
|
253
|
+
- ext/eigen/eigen3/Eigen/src/OrderingMethods/Ordering.h
|
248
254
|
- ext/eigen/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h
|
249
255
|
- ext/eigen/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h
|
250
256
|
- ext/eigen/eigen3/Eigen/src/QR/ColPivHouseholderQR.h
|
@@ -325,7 +331,7 @@ files:
|
|
325
331
|
- lib/eigen.rb
|
326
332
|
homepage: https://github.com/ruby-eigen/ruby-eigen
|
327
333
|
licenses:
|
328
|
-
-
|
334
|
+
- LGPL
|
329
335
|
metadata: {}
|
330
336
|
post_install_message:
|
331
337
|
rdoc_options:
|
@@ -339,9 +345,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
339
345
|
version: 2.2.0
|
340
346
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
341
347
|
requirements:
|
342
|
-
- - "
|
348
|
+
- - ">"
|
343
349
|
- !ruby/object:Gem::Version
|
344
|
-
version:
|
350
|
+
version: 1.3.1
|
345
351
|
requirements: []
|
346
352
|
rubyforge_project:
|
347
353
|
rubygems_version: 2.5.1
|