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.
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.10
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-01-17 00:00:00.000000000 Z
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
- - MIT
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: '0'
350
+ version: 1.3.1
345
351
  requirements: []
346
352
  rubyforge_project:
347
353
  rubygems_version: 2.5.1