malge 0.0.6 → 0.0.7

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.
@@ -1,8 +1,9 @@
1
1
  #! /usr/bin/env ruby
2
2
  #coding: utf-8
3
3
 
4
- require "test/unit"
5
- require "malge.rb"
4
+ require "helper"
5
+ #require "test/unit"
6
+ #require "malge.rb"
6
7
 
7
8
  TOLERANCE=1.0e-10
8
9
 
@@ -65,6 +66,16 @@ class TC_Malge < Test::Unit::TestCase
65
66
  results = Malge::LeastSquare.least_square_proportional(data_pairs)
66
67
  assert_equal(1, results.size)
67
68
  assert_in_delta(-1.5, results[0], TOLERANCE)
69
+
70
+ data_pairs =
71
+ [
72
+ [ 1.000, 0.000],
73
+ [ 2.000, 2.000],
74
+ ]
75
+ results = Malge::LeastSquare.least_square_proportional(data_pairs)
76
+ assert_equal(1, results.size)
77
+ assert_in_delta(0.8, results[0], TOLERANCE)
78
+
68
79
  end
69
80
 
70
81
 
@@ -1,9 +1,9 @@
1
1
  #! /usr/bin/ruby
2
2
 
3
3
  require "helper"
4
- require "test/unit"
5
- require "malge.rb"
6
- #require "malge/simultaneousequations.rb"
4
+ #require "test/unit"
5
+ #require "malge.rb"
6
+ ##require "malge/simultaneousequations.rb"
7
7
 
8
8
  class TC_SimultaneousEquations < Test::Unit::TestCase
9
9
  $tolerance = 10.0**(-10)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: malge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-16 00:00:00.000000000 Z
12
+ date: 2013-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdoc
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &84583970 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '3.12'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '3.12'
24
+ version_requirements: *84583970
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: bundler
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &84583690 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ~>
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: 1.2.2
38
33
  type: :development
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: 1.2.2
35
+ version_requirements: *84583690
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: jeweler
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &84583420 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ~>
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: 1.8.3
54
44
  type: :development
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: 1.8.3
46
+ version_requirements: *84583420
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: simplecov
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &84583130 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,28 +54,7 @@ dependencies:
69
54
  version: '0'
70
55
  type: :development
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: psych
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
57
+ version_requirements: *84583130
94
58
  description: ! "Mathematical library to deal with basic problems in algebla.\n "
95
59
  email: ippei94da@gmail.com
96
60
  executables: []
@@ -111,9 +75,9 @@ files:
111
75
  - lib/malge/errorfittedfunction/aexpbx.rb
112
76
  - lib/malge/errorfittedfunction/aexpbx32.rb
113
77
  - lib/malge/errorfittedfunction/axinv.rb
78
+ - lib/malge/errorfittedfunction/axinv2.rb
79
+ - lib/malge/errorfittedfunction/axinv3.rb
114
80
  - lib/malge/errorfittedfunction/axinv32.rb
115
- - lib/malge/errorfittedfunction/axinv32plusb.rb
116
- - lib/malge/errorfittedfunction/axinvplusb.rb
117
81
  - lib/malge/leastsquare.rb
118
82
  - lib/malge/matrix.rb
119
83
  - lib/malge/simultaneousequations.rb
@@ -124,9 +88,9 @@ files:
124
88
  - test/test_errorfittedfunction_aexpbx.rb
125
89
  - test/test_errorfittedfunction_aexpbx32.rb
126
90
  - test/test_errorfittedfunction_axinv.rb
91
+ - test/test_errorfittedfunction_axinv2.rb
92
+ - test/test_errorfittedfunction_axinv3.rb
127
93
  - test/test_errorfittedfunction_axinv32.rb
128
- - test/test_errorfittedfunction_axinv32plusb.rb
129
- - test/test_errorfittedfunction_axinvplusb.rb
130
94
  - test/test_leastsquare.rb
131
95
  - test/test_simultaneousequations.rb
132
96
  homepage: http://github.com/ippei94da/malge
@@ -144,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
108
  version: '0'
145
109
  segments:
146
110
  - 0
147
- hash: 684098349
111
+ hash: 511935667
148
112
  required_rubygems_version: !ruby/object:Gem::Requirement
149
113
  none: false
150
114
  requirements:
@@ -153,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
117
  version: '0'
154
118
  requirements: []
155
119
  rubyforge_project:
156
- rubygems_version: 1.8.23
120
+ rubygems_version: 1.8.11
157
121
  signing_key:
158
122
  specification_version: 3
159
123
  summary: Math ALGEbra library.
@@ -1,32 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # coding: utf-8
3
-
4
- #Assumed y = a[0] + a[1]/x^{3/2}
5
- #
6
- #NOTE: @coefficients[0] might become negative value.
7
- # Need discussion for dealing?
8
- class Malge::ErrorFittedFunction::AXInv32PlusB < Malge::ErrorFittedFunction
9
-
10
- def fit
11
- inv32_pairs =
12
- @diff_abs_pairs.map {|pair| [1.0/(pair[0] ** (3.0/2.0)), pair[1]]}
13
- @coefficients = Malge::LeastSquare.least_square_1st_degree(inv32_pairs)
14
- end
15
-
16
- def expected_error(x)
17
- @coefficients[0] + @coefficients[1] * (1.0/(x** (3.0/2.0)))
18
- end
19
-
20
- # y = a[0] + a[1]/x
21
- # y - a[0] = a[1]/x
22
- # x = a[1] / (y - a[0])
23
- def x(y)
24
- return (@coefficients[1] / (y - @coefficients[0])) ** (2.0/3.0)
25
- end
26
-
27
- def finest_y
28
- @raw_pairs.max_by { |pair| pair[0] }[1]
29
- end
30
-
31
- end
32
-
@@ -1,32 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # coding: utf-8
3
-
4
- #Assumed y = a[0] + a[1]/x
5
- #
6
- #NOTE: @coefficients[0] might become negative value.
7
- # Need discussion for dealing?
8
- class Malge::ErrorFittedFunction::AXInvPlusB < Malge::ErrorFittedFunction
9
-
10
- def fit
11
- inv_pairs = @diff_abs_pairs.map {|pair| [1.0/pair[0], pair[1]]}
12
- @coefficients = Malge::LeastSquare.least_square_1st_degree(inv_pairs)
13
- end
14
-
15
- def expected_error(x)
16
- #@coefficients[0] + @coefficients[1] * x
17
- @coefficients[0] + @coefficients[1] * (1.0/x)
18
- end
19
-
20
- # y = a[0] + a[1]/x
21
- # y - a[0] = a[1]/x
22
- # x = a[1] / (y - a[0])
23
- def x(y)
24
- return @coefficients[1] / (y - @coefficients[0])
25
- end
26
-
27
- def finest_y
28
- @raw_pairs.max_by { |pair| pair[0] }[1]
29
- end
30
-
31
- end
32
-
@@ -1,67 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # coding: utf-8
3
-
4
- require "test/unit"
5
- require "malge.rb"
6
- #require "malge/errorfittedfunction.rb"
7
-
8
- class TC_ErrorFittedFunction_AXInv32PlusB < Test::Unit::TestCase
9
- TOLERANCE = 1.0E-10
10
-
11
- def setup
12
- @axi00 = Malge::ErrorFittedFunction::AXInv32PlusB.new(
13
- [
14
- [ 1, 164.0],
15
- [ 4, 108.0],
16
- [16, 101.0],
17
- [64, 100.0],
18
- ]
19
- )
20
-
21
- @axi01 = Malge::ErrorFittedFunction::AXInv32PlusB.new(
22
- [
23
- [ 1, 164.0],
24
- [ 4, 92.0],
25
- [16, 101.0],
26
- [64, 100.0],
27
- ]
28
- )
29
-
30
- end
31
-
32
- #def test_initialize
33
- #end
34
-
35
- def test_fit
36
- corrects = [0.0, 64.0]
37
- results = @axi00.coefficients
38
- assert_in_delta(corrects[0], results[0], TOLERANCE)
39
- assert_in_delta(corrects[1], results[1], TOLERANCE)
40
- end
41
-
42
- def test_expected_error
43
- assert_equal(64.0, @axi00.expected_error(1.0))
44
- assert_equal( 8.0, @axi00.expected_error(4.0))
45
- assert_equal( 1.0, @axi00.expected_error(16.0))
46
-
47
- assert_equal(64.0, @axi01.expected_error(1.0))
48
- assert_equal( 8.0, @axi01.expected_error(4.0))
49
- assert_equal( 1.0, @axi01.expected_error(16.0))
50
- end
51
-
52
- def test_finest_y
53
- assert_equal(100.0, @axi00.finest_y)
54
- assert_equal(100.0, @axi01.finest_y)
55
- end
56
-
57
- def test_variance
58
- assert_equal( 0.0, @axi00.variance)
59
- assert_equal( 0.0, @axi01.variance)
60
- end
61
-
62
- def test_x
63
- assert_in_delta(16.0, @axi00.x(1.0), TOLERANCE)
64
- end
65
-
66
- end
67
-
@@ -1,50 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # coding: utf-8
3
-
4
- require "test/unit"
5
- require "malge.rb"
6
- require "malge/errorfittedfunction.rb"
7
-
8
- class TC_ErrorFittedFunction_AXInvPlusB < Test::Unit::TestCase
9
- def setup
10
- @axi01 = Malge::ErrorFittedFunction::AXInvPlusB.new(
11
- [
12
- [1.0, 8.0],
13
- [2.0, 6.0],
14
- [4.0, 5.0],
15
- [8.0, 3.0],
16
- ]
17
- )
18
- end
19
-
20
- #def test_initialize
21
- #end
22
-
23
- def test_fit
24
- assert_equal(1.0, @axi01.coefficients[0])
25
- assert_equal(4.0, @axi01.coefficients[1])
26
- end
27
-
28
- def test_expected_error
29
- assert_equal(5.0, @axi01.expected_error(1.0))
30
- assert_equal(3.0, @axi01.expected_error(2.0))
31
- assert_equal(2.0, @axi01.expected_error(4.0))
32
- assert_equal(1.5, @axi01.expected_error(8.0))
33
- end
34
-
35
- def test_finest_y
36
- assert_equal(3.0, @axi01.finest_y)
37
- end
38
-
39
- def test_variance
40
- assert_equal( 0.0, @axi01.variance)
41
- #diff_abs = [4,1]
42
- #expected = [1,3]
43
- end
44
-
45
- def test_x
46
- assert_equal(4.0, @axi01.x(2.0))
47
- end
48
-
49
- end
50
-