malge 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES ADDED
@@ -0,0 +1,9 @@
1
+ = vasputils changelog
2
+
3
+ == Master (for 0.0.3)
4
+
5
+ == Version 0.0.2
6
+ - Change indent style from tab char to two spaces.
7
+ - Add lib/malge/leastsquare.rb for Malge::LeastSquare::least_square_1st_degree
8
+
9
+ == Version 0.0.1
data/Gemfile CHANGED
@@ -7,7 +7,8 @@ source "http://rubygems.org"
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
9
  gem "rdoc", "~> 3.12"
10
- gem "bundler", "~> 1.1.3"
10
+ gem "bundler", "~> 1.2.2"
11
11
  gem "jeweler", "~> 1.8.3"
12
12
  gem "simplecov", ">= 0"
13
+ gem "psych", ">= 0"
13
14
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
data/lib/malge.rb CHANGED
@@ -1,2 +1,6 @@
1
- require "malge/simultaneousequations.rb"
1
+ class Malge; end
2
2
 
3
+ require "malge/simultaneousequations.rb"
4
+ require "malge/leastsquare.rb"
5
+ require "malge/matrix.rb"
6
+ require "malge/vector.rb"
@@ -0,0 +1,38 @@
1
+ #! /usr/bin/env ruby
2
+ # coding: utf-8
3
+
4
+ #
5
+ #
6
+ #
7
+ module Malge::LeastSquare
8
+ # Argument 'data_pairs' should be Array of Array's. For example,
9
+ # [
10
+ # [ 1.0, 2.0],
11
+ # [ 2.0, 4.0],
12
+ # [ 3.0, 6.0],
13
+ # ]
14
+ # return values of [a_0, a_1] in y = a_0 x^0 + a_1 x^1.
15
+ # Note that not [a, b] in y = ax + b.
16
+ def self.least_square_1st_degree(data_pairs)
17
+ #pp data_pairs
18
+ a = 0.0 #x^2
19
+ #b = 0.0 #y^2
20
+ c = 0.0 #x^1
21
+ d = 0.0 #x*y
22
+ e = 0.0 #y^1
23
+ n = data_pairs.size
24
+ data_pairs.each do |pairs|
25
+ x = pairs[0].to_f
26
+ y = pairs[1].to_f
27
+ a += x**2
28
+ #b += y**2
29
+ c += x
30
+ d += x*y
31
+ e += y
32
+ end
33
+ a_1 = (n*d - c*e) / (n*a - c**2)
34
+ a_0 = (a*e - c*d) / (n*a - c**2)
35
+ [a_0, a_1]
36
+ end
37
+ end
38
+
@@ -0,0 +1,9 @@
1
+ require "matrix"
2
+ require "malge.rb"
3
+
4
+ class Malge::Matrix < Matrix
5
+ def []=(i,j,x)
6
+ @rows[i][j]=x
7
+ end
8
+ end
9
+
@@ -1,62 +1,51 @@
1
- require 'matrix'
1
+ require "malge.rb"
2
2
 
3
3
  # Solve simultatneous equations with Cramer\'s formula.
4
4
  #
5
5
  # if you need to solve simultaneous equations,
6
- # (a_11 ... a_1n) (x_1) (c_1)
7
- # (.... ... ....) (...) = (...)
8
- # (a_n1 ... a_nn) (x_n) (c_n)
6
+ # (a_11 ... a_1n) (x_1) (c_1)
7
+ # (.... ... ....) (...) = (...)
8
+ # (a_n1 ... a_nn) (x_n) (c_n)
9
9
  # command
10
10
  # % #{$0} a_11 ... a_1n ... a_n1 ... a_nn c_1 ... c_n
11
11
  #
12
12
 
13
- class Matrix
14
- def []=(i,j,x)
15
- @rows[i][j]=x
16
- end
17
- end
18
-
19
- class Vector
20
- def []=(i,x)
21
- @elements[i]=x
22
- end
23
- end
24
-
25
13
  # 連立1次方程式を表現するクラス。
26
- class SimultaneousEquations
27
-
28
- # Solve equation by Cramer's.
29
- # matrix は2重配列で与える。
30
- # 返されるのは、解の値を格納した配列。
31
- def self.cramer( matrix, values )
32
- matrix = Matrix.rows( matrix )
33
- raise "Matrix is not squre: #{matrix.row_size} x #{matrix.column_size}." if ( ! matrix.square? )
34
- raise "Matrix size (#{matrix.row_size}) and values size (#{values.size}) mismatched." if ( matrix.row_size != values.size )
35
- raise "Matrix is not regular. Degree of freedom is #{matrix.column_size - matrix.rank}.\n" if ( ! matrix.regular? )
36
-
37
- results = Array.new
38
- n = matrix.column_size
39
- n.times do |i|
40
- tmp = Marshal.load( Marshal.dump( matrix ) )
41
- n.times do |j|
42
- tmp[ j, i ] = values[ j ]
43
- end
44
- results[i] = tmp.determinant / ( matrix.determinant )
45
- end
46
- results
47
- end
48
-
49
- # matrix は左辺の行列、values は右辺の値の配列
50
- # ともに配列で与える。
51
- def initialize( matrix, values )
52
- @matrix = matrix
53
- @values = values
54
- end
55
-
56
- # Cramer's formula で解く。
57
- def cramer
58
- SimultaneousEquations.cramer( @matrix, @values )
59
- end
14
+ class Malge::SimultaneousEquations
15
+
16
+ # Solve equation by Cramer's.
17
+ # matrix は2重配列で与える。
18
+ # 返されるのは、解の値を格納した配列。
19
+ def self.cramer( matrix, values )
20
+ matrix = Malge::Matrix.rows( matrix )
21
+ raise "Matrix is not squre: #{matrix.row_size} x #{matrix.column_size}." if ( ! matrix.square? )
22
+ raise "Matrix size (#{matrix.row_size}) and values size (#{values.size}) mismatched." if ( matrix.row_size != values.size )
23
+ raise "Matrix is not regular. Degree of freedom is #{matrix.column_size - matrix.rank}.\n" if ( ! matrix.regular? )
24
+
25
+ results = Array.new
26
+ n = matrix.column_size
27
+ n.times do |i|
28
+ tmp = Marshal.load( Marshal.dump( matrix ) )
29
+ #pp tmp
30
+ n.times do |j|
31
+ tmp[ j, i ] = values[ j ]
32
+ end
33
+ results[i] = tmp.determinant / ( matrix.determinant )
34
+ end
35
+ results
36
+ end
37
+
38
+ # matrix は左辺の行列、values は右辺の値の配列
39
+ # ともに配列で与える。
40
+ def initialize( matrix, values )
41
+ @matrix = matrix
42
+ @values = values
43
+ end
44
+
45
+ # Cramer's formula で解く。
46
+ def cramer
47
+ Malge::SimultaneousEquations.cramer( @matrix, @values )
48
+ end
60
49
 
61
50
  end
62
51
 
@@ -0,0 +1,7 @@
1
+ require "malge.rb"
2
+
3
+ class Malge::Vector
4
+ def []=(i,x)
5
+ @elements[i]=x
6
+ end
7
+ end
data/malge.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "malge"
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["ippei94da"]
12
- s.date = "2012-04-04"
12
+ s.date = "2013-02-02"
13
13
  s.description = "Mathematical library to deal with basic problems in algebla.\n "
14
14
  s.email = "ippei94da@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -18,21 +18,26 @@ Gem::Specification.new do |s|
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ "CHANGES",
21
22
  "Gemfile",
22
23
  "LICENSE.txt",
23
24
  "README.rdoc",
24
25
  "Rakefile",
25
26
  "VERSION",
26
27
  "lib/malge.rb",
28
+ "lib/malge/leastsquare.rb",
29
+ "lib/malge/matrix.rb",
27
30
  "lib/malge/simultaneousequations.rb",
31
+ "lib/malge/vector.rb",
28
32
  "malge.gemspec",
29
33
  "test/helper.rb",
34
+ "test/test_leastsquare.rb",
30
35
  "test/test_simultaneousequations.rb"
31
36
  ]
32
37
  s.homepage = "http://github.com/ippei94da/malge"
33
38
  s.licenses = ["MIT"]
34
39
  s.require_paths = ["lib"]
35
- s.rubygems_version = "1.8.21"
40
+ s.rubygems_version = "1.8.11"
36
41
  s.summary = "Math ALGEbra library."
37
42
 
38
43
  if s.respond_to? :specification_version then
@@ -40,20 +45,23 @@ Gem::Specification.new do |s|
40
45
 
41
46
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
47
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
43
- s.add_development_dependency(%q<bundler>, ["~> 1.1.3"])
48
+ s.add_development_dependency(%q<bundler>, ["~> 1.2.2"])
44
49
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
45
50
  s.add_development_dependency(%q<simplecov>, [">= 0"])
51
+ s.add_development_dependency(%q<psych>, [">= 0"])
46
52
  else
47
53
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
48
- s.add_dependency(%q<bundler>, ["~> 1.1.3"])
54
+ s.add_dependency(%q<bundler>, ["~> 1.2.2"])
49
55
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
50
56
  s.add_dependency(%q<simplecov>, [">= 0"])
57
+ s.add_dependency(%q<psych>, [">= 0"])
51
58
  end
52
59
  else
53
60
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
54
- s.add_dependency(%q<bundler>, ["~> 1.1.3"])
61
+ s.add_dependency(%q<bundler>, ["~> 1.2.2"])
55
62
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
56
63
  s.add_dependency(%q<simplecov>, [">= 0"])
64
+ s.add_dependency(%q<psych>, [">= 0"])
57
65
  end
58
66
  end
59
67
 
@@ -0,0 +1,49 @@
1
+ #! /usr/bin/env ruby
2
+ # coding: utf-8
3
+
4
+ require "test/unit"
5
+ require "malge.rb"
6
+
7
+ TOLERANCE=1.0e-10
8
+
9
+ class TC_Malge < Test::Unit::TestCase
10
+ #def setup
11
+ # @k = Malge.new
12
+ #end
13
+
14
+ def test_least_square_1st_degree
15
+ data_pairs =
16
+ [
17
+ [-10.000, -12.067],
18
+ [ -9.000, -11.490],
19
+ [ -8.000, -10.034],
20
+ [ -7.000, -9.196],
21
+ [ -6.000, -7.571],
22
+ [ -5.000, -6.606],
23
+ [ -4.000, -6.299],
24
+ [ -3.000, -5.004],
25
+ [ -2.000, -3.858],
26
+ [ -1.000, -3.497],
27
+ [ 0.000, -2.484],
28
+ [ 1.000, -1.079],
29
+ [ 2.000, -0.425],
30
+ [ 3.000, 0.915],
31
+ [ 4.000, 2.031],
32
+ [ 5.000, 3.438],
33
+ [ 6.000, 4.012],
34
+ [ 7.000, 5.258],
35
+ [ 8.000, 5.695],
36
+ [ 9.000, 6.645],
37
+ [ 10.000, 7.962],
38
+ ]
39
+ #should be below, confirmed by Excel
40
+ a0 = -2.0787619047619
41
+ a1 = 1.00077142857143
42
+
43
+ results=Malge::LeastSquare.least_square_1st_degree(data_pairs)
44
+ assert_equal(2, results.size)
45
+ assert_in_delta(a0, results[0], TOLERANCE)
46
+ assert_in_delta(a1, results[1], TOLERANCE)
47
+ end
48
+ end
49
+
@@ -1,103 +1,104 @@
1
1
  #! /usr/bin/ruby
2
2
 
3
- require 'helper'
4
- require 'test/unit'
5
- require 'malge/simultaneousequations.rb'
3
+ require "helper"
4
+ require "test/unit"
5
+ require "malge.rb"
6
+ #require "malge/simultaneousequations.rb"
6
7
 
7
8
  class TC_SimultaneousEquations < Test::Unit::TestCase
8
- $tolerance = 10.0**(-10)
9
- def setup
10
- @se00 = SimultaneousEquations.new(
11
- [ [ 1.0, 2.0, -3.0 ],
12
- [ 2.0, 1.0, -2.0 ],
13
- [ 3.0, 2.0, 1.0 ] ],
14
- [ 1.0, 2.0, -1.0]
15
- )
9
+ $tolerance = 10.0**(-10)
10
+ def setup
11
+ @se00 = Malge::SimultaneousEquations.new(
12
+ [ [ 1.0, 2.0, -3.0 ],
13
+ [ 2.0, 1.0, -2.0 ],
14
+ [ 3.0, 2.0, 1.0 ] ],
15
+ [ 1.0, 2.0, -1.0]
16
+ )
16
17
 
17
- @se01 = SimultaneousEquations.new(
18
- [ [ 1.0, 1.0, 1.0 ],
19
- [ 0.0, 1.0, 1.0 ],
20
- [ 0.0, 0.0, 1.0 ] ],
21
- [ 3.0, 2.0, 1.0]
22
- )
18
+ @se01 = Malge::SimultaneousEquations.new(
19
+ [ [ 1.0, 1.0, 1.0 ],
20
+ [ 0.0, 1.0, 1.0 ],
21
+ [ 0.0, 0.0, 1.0 ] ],
22
+ [ 3.0, 2.0, 1.0]
23
+ )
23
24
 
24
- #実数の行列を前提としても良さそうだ。
25
- #@se02 = SimultaneousEquations.new(
26
- # [ [ 1, 2, -3 ],
27
- # [ 2, 1, -2 ],
28
- # [ 3, 2, 1 ] ],
29
- # [ 1, 2, -1]
30
- #)
25
+ #実数の行列を前提としても良さそうだ。
26
+ #@se02 = Malge::SimultaneousEquations.new(
27
+ # [ [ 1, 2, -3 ],
28
+ # [ 2, 1, -2 ],
29
+ # [ 3, 2, 1 ] ],
30
+ # [ 1, 2, -1]
31
+ #)
31
32
 
32
- @se03 = SimultaneousEquations.new(
33
- [ [ 1, 1, 1 ],
34
- [ 0, 1, 1 ],
35
- [ 0, 0, 1 ] ],
36
- [ 3, 2, 1]
37
- )
38
- end
33
+ @se03 = Malge::SimultaneousEquations.new(
34
+ [ [ 1, 1, 1 ],
35
+ [ 0, 1, 1 ],
36
+ [ 0, 0, 1 ] ],
37
+ [ 3, 2, 1]
38
+ )
39
+ end
39
40
 
40
- def test_self_cramer
41
- t = SimultaneousEquations.cramer(
42
- [ [ 1.0, 2.0, -3.0 ],
43
- [ 2.0, 1.0, -2.0 ],
44
- [ 3.0, 2.0, 1.0 ] ],
45
- [ 1.0, 2.0, -1.0]
46
- )
47
- assert_in_delta( 0.714285714285714, t[0], $tolerance )
48
- assert_in_delta( -1.142857142857143, t[1], $tolerance )
49
- assert_in_delta( -0.857142857142857, t[2], $tolerance )
41
+ def test_self_cramer
42
+ t = Malge::SimultaneousEquations.cramer(
43
+ [ [ 1.0, 2.0, -3.0 ],
44
+ [ 2.0, 1.0, -2.0 ],
45
+ [ 3.0, 2.0, 1.0 ] ],
46
+ [ 1.0, 2.0, -1.0]
47
+ )
48
+ assert_in_delta( 0.714285714285714, t[0], $tolerance )
49
+ assert_in_delta( -1.142857142857143, t[1], $tolerance )
50
+ assert_in_delta( -0.857142857142857, t[2], $tolerance )
50
51
 
51
- t = SimultaneousEquations.cramer(
52
- [ [ 1.0, 1.0, 1.0 ],
53
- [ 0.0, 1.0, 1.0 ],
54
- [ 0.0, 0.0, 1.0 ] ],
55
- [ 3.0, 2.0, 1.0 ]
56
- )
57
- assert_in_delta( 1.0, t[0], $tolerance )
58
- assert_in_delta( 1.0, t[1], $tolerance )
59
- assert_in_delta( 1.0, t[2], $tolerance )
60
- end
52
+ t = Malge::SimultaneousEquations.cramer(
53
+ [ [ 1.0, 1.0, 1.0 ],
54
+ [ 0.0, 1.0, 1.0 ],
55
+ [ 0.0, 0.0, 1.0 ] ],
56
+ [ 3.0, 2.0, 1.0 ]
57
+ )
58
+ assert_in_delta( 1.0, t[0], $tolerance )
59
+ assert_in_delta( 1.0, t[1], $tolerance )
60
+ assert_in_delta( 1.0, t[2], $tolerance )
61
+ end
61
62
 
62
- def test_cramer
63
- t = @se00.cramer
64
- assert_in_delta( 0.714285714285714, t[0], $tolerance )
65
- assert_in_delta( -1.142857142857143, t[1], $tolerance )
66
- assert_in_delta( -0.857142857142857, t[2], $tolerance )
63
+ def test_cramer
64
+ t = @se00.cramer
65
+ assert_in_delta( 0.714285714285714, t[0], $tolerance )
66
+ assert_in_delta( -1.142857142857143, t[1], $tolerance )
67
+ assert_in_delta( -0.857142857142857, t[2], $tolerance )
67
68
 
68
- t = @se01.cramer
69
- assert_in_delta( 1.0, t[0], $tolerance )
70
- assert_in_delta( 1.0, t[1], $tolerance )
71
- assert_in_delta( 1.0, t[2], $tolerance )
69
+ t = @se01.cramer
70
+ assert_in_delta( 1.0, t[0], $tolerance )
71
+ assert_in_delta( 1.0, t[1], $tolerance )
72
+ assert_in_delta( 1.0, t[2], $tolerance )
72
73
 
73
- #t = @se02.cramer
74
- #assert_in_delta( 0.714285714285714, t[0], $tolerance )
75
- #assert_in_delta( -1.142857142857143, t[1], $tolerance )
76
- #assert_in_delta( -0.857142857142857, t[2], $tolerance )
74
+ #t = @se02.cramer
75
+ #assert_in_delta( 0.714285714285714, t[0], $tolerance )
76
+ #assert_in_delta( -1.142857142857143, t[1], $tolerance )
77
+ #assert_in_delta( -0.857142857142857, t[2], $tolerance )
77
78
 
78
- t = @se03.cramer
79
- assert_in_delta( 1.0, t[0], $tolerance )
80
- assert_in_delta( 1.0, t[1], $tolerance )
81
- assert_in_delta( 1.0, t[2], $tolerance )
79
+ t = @se03.cramer
80
+ assert_in_delta( 1.0, t[0], $tolerance )
81
+ assert_in_delta( 1.0, t[1], $tolerance )
82
+ assert_in_delta( 1.0, t[2], $tolerance )
82
83
 
83
- #assert_raise( ExceptionForMatrix ){
84
- # SimultaneousEquations.cramer(
85
- # [ [ 1.0, 2.0, -3.0 ],
86
- # [ 2.0, 1.0 ],
87
- # [ 3.0, 2.0, 1.0 ] ],
88
- # [ 1.0, 2.0, -1.0]
89
- # )
90
- #}
84
+ #assert_raise( ExceptionForMatrix ){
85
+ # Malge::SimultaneousEquations.cramer(
86
+ # [ [ 1.0, 2.0, -3.0 ],
87
+ # [ 2.0, 1.0 ],
88
+ # [ 3.0, 2.0, 1.0 ] ],
89
+ # [ 1.0, 2.0, -1.0]
90
+ # )
91
+ #}
91
92
 
92
- assert_raise( RuntimeError ){
93
- SimultaneousEquations.cramer(
94
- [ [ 1.0, 2.0, -3.0 ],
95
- [ 2.0, 1.0, -2.0 ],
96
- [ 3.0, 2.0, 1.0 ] ],
97
- [ 1.0, 2.0]
98
- )
99
- }
93
+ assert_raise( RuntimeError ){
94
+ Malge::SimultaneousEquations.cramer(
95
+ [ [ 1.0, 2.0, -3.0 ],
96
+ [ 2.0, 1.0, -2.0 ],
97
+ [ 3.0, 2.0, 1.0 ] ],
98
+ [ 1.0, 2.0]
99
+ )
100
+ }
100
101
 
101
- end
102
+ end
102
103
 
103
104
  end
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.1
4
+ version: 0.0.2
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: 2012-04-04 00:00:00.000000000 Z
12
+ date: 2013-02-02 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: &85726200 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,31 +21,21 @@ 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: *85726200
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: bundler
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &85725800 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ~>
36
31
  - !ruby/object:Gem::Version
37
- version: 1.1.3
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.1.3
35
+ version_requirements: *85725800
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: jeweler
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &85725460 !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: *85725460
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: simplecov
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &85725190 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,12 +54,18 @@ dependencies:
69
54
  version: '0'
70
55
  type: :development
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
57
+ version_requirements: *85725190
58
+ - !ruby/object:Gem::Dependency
59
+ name: psych
60
+ requirement: &85724910 !ruby/object:Gem::Requirement
73
61
  none: false
74
62
  requirements:
75
63
  - - ! '>='
76
64
  - !ruby/object:Gem::Version
77
65
  version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *85724910
78
69
  description: ! "Mathematical library to deal with basic problems in algebla.\n "
79
70
  email: ippei94da@gmail.com
80
71
  executables: []
@@ -84,15 +75,20 @@ extra_rdoc_files:
84
75
  - README.rdoc
85
76
  files:
86
77
  - .document
78
+ - CHANGES
87
79
  - Gemfile
88
80
  - LICENSE.txt
89
81
  - README.rdoc
90
82
  - Rakefile
91
83
  - VERSION
92
84
  - lib/malge.rb
85
+ - lib/malge/leastsquare.rb
86
+ - lib/malge/matrix.rb
93
87
  - lib/malge/simultaneousequations.rb
88
+ - lib/malge/vector.rb
94
89
  - malge.gemspec
95
90
  - test/helper.rb
91
+ - test/test_leastsquare.rb
96
92
  - test/test_simultaneousequations.rb
97
93
  homepage: http://github.com/ippei94da/malge
98
94
  licenses:
@@ -109,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
105
  version: '0'
110
106
  segments:
111
107
  - 0
112
- hash: 834191123
108
+ hash: 225117071
113
109
  required_rubygems_version: !ruby/object:Gem::Requirement
114
110
  none: false
115
111
  requirements:
@@ -118,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
114
  version: '0'
119
115
  requirements: []
120
116
  rubyforge_project:
121
- rubygems_version: 1.8.21
117
+ rubygems_version: 1.8.11
122
118
  signing_key:
123
119
  specification_version: 3
124
120
  summary: Math ALGEbra library.