minimization 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b1e3a5c66d134371cdc8bd31a5939c8d195be0fe
4
+ data.tar.gz: 20890b7e512b97c8365e76154e56d317447acb30
5
+ SHA512:
6
+ metadata.gz: 497250860ea7f006431d15c91c62c13ecb2b79f26a4430cfe7dd3897fec5a860016d473cd2f729cda610c26d6c4c8505311894851ad8ad050f23d68fdbd5daf2
7
+ data.tar.gz: df0d7a750434ba71ac01edf95fc6d9e62dae1bfeca50d1f785c1491e44bbd591a1fecda4cc1620ffb6a1bde4c39b63910ff80c1af9d1c6a021cc4eff1bad82af
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ Gemfile.lock
2
+ doc
3
+ pkg
4
+ *~
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0
5
+ - 2.1
6
+ - 2.2
7
+
8
+ script: bundle install && bundle exec rake spec
9
+
10
+ before_install:
11
+ - sudo apt-get update -qq
12
+ - sudo apt-get install -y libgsl0-dev
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
data/History.txt CHANGED
@@ -1,14 +1,16 @@
1
+ === 0.2.2 / 2015-04-
2
+ * Added Travis-CI support.
3
+ * Removed Hoe in favor of using a gemspec.
4
+
1
5
  === 0.2.1 / 2010-11-14
2
- * Added iterations method
6
+ * Added iterations method.
3
7
 
4
8
  === 0.2.0 / 2010-04-15
5
- * New Minimization::NewtonRahpson class, which implements a naive Newton-Rahpson minimization method
6
- x=x_n-(f'(x)/f''(x))
7
- === 0.1.1 / 2010-03-19
9
+ * New Minimization::NewtonRahpson class, which implements a naive Newton-Rahpson minimization method
10
+ `x = x_n - (f'(x) / f''(x))`.
8
11
 
9
- * New Minimization#minimize convenience method
12
+ === 0.1.1 / 2010-03-19
13
+ * New Minimization#minimize convenience method.
10
14
 
11
15
  === 0.1.0 / 2010-02-24
12
-
13
- * Golden Section and Brent Algorithm
14
-
16
+ * Golden Section and Brent Algorithm.
data/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # Minimization
2
+
3
+ [![Build Status](https://travis-ci.org/SciRuby/minimization.svg)](https://travis-ci.org/SciRuby/minimization)
4
+ [![Code Climate](https://codeclimate.com/github/SciRuby/minimization/badges/gpa.svg)](https://codeclimate.com/github/SciRuby/minimization)
5
+
6
+ * https://github.com/sciruby/minimization
7
+
8
+ ## DESCRIPTION
9
+
10
+ Minimization algorithms on pure Ruby.
11
+
12
+ ## FEATURES/PROBLEMS
13
+
14
+ Unidimensional:
15
+ * Newton-Rahpson (requires first and second derivative)
16
+ * Golden Section
17
+ * Brent (Port of GSL code)
18
+
19
+ If you needs speed, use rb-gsl
20
+
21
+ ## SYNOPSIS
22
+
23
+ d=Minimization::Brent.new(-1000,20000 , proc {|x| x**2})
24
+
25
+ d.iterate
26
+
27
+ puts d.x_minimum
28
+ puts d.f_minimum
29
+
30
+ ## REQUIREMENTS
31
+
32
+ * Pure Ruby
33
+
34
+ ## INSTALL
35
+
36
+ sudo gem install minimization
37
+
38
+ ## API
39
+
40
+ http://ruby-statsample.rubyforge.org/minimization/
41
+
42
+ ## LICENSE
43
+
44
+ GPL-2 (See LICENSE.txt)
data/Rakefile CHANGED
@@ -1,16 +1,25 @@
1
- # -*- ruby -*-
1
+ require 'rake'
2
+ require 'bundler'
3
+ require 'bundler/gem_tasks'
4
+ require "rspec/core/rake_task"
5
+ require 'rdoc/task'
2
6
 
3
- require 'rubygems'
4
- require 'hoe'
5
- require './lib/minimization'
6
- Hoe.plugin :git
7
+ # Setup the necessary gems, specified in the gemspec.
8
+ begin
9
+ Bundler.setup(:default, :development)
10
+ rescue Bundler::BundlerError => e
11
+ $stderr.puts e.message
12
+ $stderr.puts "Run `bundle install` to install missing gems"
13
+ exit e.status_code
14
+ end
15
+
16
+ RSpec::Core::RakeTask.new(:spec) do |spec|
17
+ spec.pattern = FileList['spec/**/*_spec.rb']
18
+ end
7
19
 
8
- Hoe.spec 'minimization' do
9
- self.version=Minimization::VERSION
10
- self.rubyforge_name = 'ruby-statsample' # if different than 'minimization'
11
- self.developer('Claudio Bustos', 'clbustos_AT_gmail.com')
12
- self.remote_rdoc_dir = 'minimization'
13
- self.extra_deps << ['text-table', "~>1.2"]
20
+ desc "Open an irb session preloaded with distribution"
21
+ task :console do
22
+ sh "irb -rubygems -I lib -r minimization.rb"
14
23
  end
15
24
 
16
- # vim: syntax=ruby
25
+ task :default => [:spec]
data/lib/minimization.rb CHANGED
@@ -18,8 +18,8 @@
18
18
  #
19
19
  # Algorithms for unidimensional minimization
20
20
  require 'text-table'
21
+
21
22
  module Minimization
22
- VERSION="0.2.1"
23
23
  FailedIteration=Class.new(Exception)
24
24
  # Base class for unidimensional minimizers
25
25
  class Unidimensional
@@ -71,7 +71,7 @@ module Minimization
71
71
  # == Usage:
72
72
  # minimizer=Minimization::GoldenSection.minimize(-1000, 1000) {|x|
73
73
  # x**2 }
74
- #
74
+ #
75
75
  def self.minimize(lower,upper,expected=nil,&block)
76
76
  minimizer=new(lower,upper,block)
77
77
  minimizer.expected=expected unless expected.nil?
@@ -86,7 +86,7 @@ module Minimization
86
86
  @proc.call(x)
87
87
  end
88
88
  end
89
- # Classic Newton-Raphson minimization method.
89
+ # Classic Newton-Raphson minimization method.
90
90
  # Requires first and second derivative
91
91
  # == Usage
92
92
  # f = lambda {|x| x**2}
@@ -96,7 +96,7 @@ module Minimization
96
96
  # min.iterate
97
97
  # min.x_minimum
98
98
  # min.f_minimum
99
- #
99
+ #
100
100
  class NewtonRaphson < Unidimensional
101
101
  # == Parameters:
102
102
  # * <tt>lower</tt>: Lower possible value
@@ -104,7 +104,7 @@ module Minimization
104
104
  # * <tt>proc</tt>: Original function
105
105
  # * <tt>proc_1d</tt>: First derivative
106
106
  # * <tt>proc_2d</tt>: Second derivative
107
- #
107
+ #
108
108
  def initialize(lower, upper, proc, proc_1d, proc_2d)
109
109
  super(lower,upper,proc)
110
110
  @proc_1d=proc_1d
@@ -126,8 +126,8 @@ module Minimization
126
126
  x=x-(@proc_1d.call(x).quo(@proc_2d.call(x)))
127
127
  f_prev=f(x_prev)
128
128
  f=f(x)
129
- x_min,x_max=[x,x_prev].min, [x,x_prev].max
130
- f_min,f_max=[f,f_prev].min, [f,f_prev].max
129
+ x_min,x_max=[x,x_prev].min, [x,x_prev].max
130
+ f_min,f_max=[f,f_prev].min, [f,f_prev].max
131
131
  @log << [k, x_min, x_max, f_min, f_max, (x_prev-x).abs, (f-f_prev).abs]
132
132
  end
133
133
  raise FailedIteration, "Not converged" if k>=@max_iteration
@@ -186,7 +186,7 @@ module Minimization
186
186
  f1 = f(x1);
187
187
  end
188
188
  @log << [k, x3,x0, f1,f2,(x3-x0).abs, (f1-f2).abs]
189
-
189
+
190
190
  k +=1;
191
191
  end
192
192
 
@@ -247,7 +247,7 @@ module Minimization
247
247
  @f_minimum=f(v)
248
248
  @do_bracketing=false
249
249
  end
250
-
250
+
251
251
  def bracketing
252
252
  eval_max=10
253
253
  f_left = @f_lower;
@@ -323,7 +323,7 @@ module Minimization
323
323
  k+=1
324
324
  result=brent_iterate
325
325
  raise FailedIteration,"Error on iteration" if !result
326
- begin
326
+ begin
327
327
  @log << [k, @x_lower, @x_upper, @f_lower, @f_upper, (@x_lower-@x_upper).abs, (@f_lower-@f_upper).abs]
328
328
  rescue =>@e
329
329
  @log << [k, @e.to_s,nil,nil,nil,nil,nil]
@@ -442,4 +442,45 @@ module Minimization
442
442
 
443
443
  end
444
444
  end
445
+
446
+ # = Bisection Method for Minimization.
447
+ # See Unidimensional for methods.
448
+ # == Usage.
449
+ # require 'minimization'
450
+ # min=Minimization::Bisection.new(1,2 , proc {|x| (x)**3-(x)-2}
451
+ # min.iterate
452
+ # min.x_minimum
453
+ # min.f_minimum
454
+ # min.log
455
+ # Source:
456
+ # * R.L. Burden, J. Faires: Numerical Analysis
457
+ class Bisection < Unidimensional
458
+
459
+ def iterate()
460
+ ax = @lower
461
+ cx = @upper
462
+ k = 0;
463
+ while (ax-cx).abs > @epsilon and k<@max_iteration
464
+ bx = (ax + cx).quo(2);
465
+ fa = f(ax);
466
+ fb = f(bx);
467
+ fc = f(cx);
468
+ if (fa*fb <0)
469
+ cx = bx;
470
+ else (fb*fc <0)
471
+ ax = bx;
472
+ end
473
+ k +=1;
474
+ @log << [k, ax.to_f, cx.to_f, f(ax).to_f, f(cx).to_f, (ax-cx).abs.to_f, (f(ax)-f(cx)).abs.to_f]
475
+ end
476
+
477
+ if (fa<fc)
478
+ @x_minimum,@f_minimum = ax.to_f, f(ax).to_f;
479
+ else
480
+ @x_minimum,@f_minimum = cx.to_f, f(cx).to_f;
481
+ end
482
+
483
+ end
484
+ end
485
+
445
486
  end
@@ -0,0 +1,3 @@
1
+ module Minimization
2
+ VERSION = '0.2.2'
3
+ end
@@ -0,0 +1,29 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
2
+
3
+ require 'date'
4
+ require 'minimization/version'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "minimization"
8
+ s.version = Minimization::VERSION
9
+ s.date = Date.today.to_s
10
+
11
+ s.authors = ["Claudio Bustos", "Rajat Kapoor"]
12
+ s.email = ["clbustos@gmail.com", "rajat100493@gmail.com"]
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
18
+ s.homepage = "https://github.com/sciruby/minimization"
19
+
20
+ s.description = "Minimization algorithms on pure Ruby"
21
+ s.summary = "A suite for minimization in Ruby"
22
+
23
+ s.add_runtime_dependency 'text-table', '~> 1.2'
24
+ s.add_runtime_dependency 'rb-gsl', '~> 1.2'
25
+
26
+ s.add_development_dependency 'rake', '~> 10'
27
+ s.add_development_dependency 'bundler', '~> 1.3'
28
+ s.add_development_dependency 'rspec', '~> 3.2'
29
+ end
@@ -14,10 +14,10 @@ describe Minimization::Unidimensional, "subclass" do
14
14
  @min.iterate
15
15
  end
16
16
  it "#x_minimum be close to expected" do
17
- @min.x_minimum.should be_close(@p1,@min.epsilon)
17
+ @min.x_minimum.should be_within(@min.epsilon).of(@p1)
18
18
  end
19
19
  it "#f_minimum ( f(x)) be close to expected" do
20
- @min.f_minimum.should be_close(@p2,@min.epsilon)
20
+ @min.f_minimum.should be_within(@min.epsilon).of(@p2)
21
21
  end
22
22
  context "#log" do
23
23
  subject {@min.log}
@@ -32,10 +32,10 @@ describe Minimization::Unidimensional, "subclass" do
32
32
  @min = Minimization::GoldenSection.minimize(-1000,1000, &@func)
33
33
  end
34
34
  it "#x_minimum be close to expected" do
35
- @min.x_minimum.should be_close(@p1,@min.epsilon)
35
+ @min.x_minimum.should be_within(@min.epsilon).of(@p1)
36
36
  end
37
37
  it "#f_minimum ( f(x)) be close to expected" do
38
- @min.f_minimum.should be_close(@p2,@min.epsilon)
38
+ @min.f_minimum.should be_within(@min.epsilon).of(@p2)
39
39
  end
40
40
  context "#log" do
41
41
  subject {@min.log}
@@ -48,10 +48,10 @@ describe Minimization::Unidimensional, "subclass" do
48
48
  @min = Minimization::Brent.minimize(-1000,1000, &@func)
49
49
  end
50
50
  it "should x be correct" do
51
- @min.x_minimum.should be_close(@p1,@min.epsilon)
51
+ @min.x_minimum.should be_within(@min.epsilon).of(@p1)
52
52
  end
53
53
  it "should f(x) be correct" do
54
- @min.f_minimum.should be_close(@p2,@min.epsilon)
54
+ @min.f_minimum.should be_within(@min.epsilon).of(@p2)
55
55
  end
56
56
  context "#log" do
57
57
  subject {@min.log}
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  require 'minimization.rb'
4
- require 'spec'
5
- require 'spec/autorun'
4
+ require 'rspec'
5
+ require 'rspec/autorun'
6
6
 
7
- Spec::Runner.configure do |config|
7
+ RSpec.configure do |config|
8
8
 
9
9
  end
10
10
 
metadata CHANGED
@@ -1,147 +1,131 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: minimization
3
- version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 2
9
- - 1
10
- version: 0.2.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Claudio Bustos
8
+ - Rajat Kapoor
14
9
  autorequire:
15
10
  bindir: bin
16
- cert_chain:
17
- - |
18
- -----BEGIN CERTIFICATE-----
19
- MIIDMjCCAhqgAwIBAgIBADANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhjbGJ1
20
- c3RvczEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
21
- MB4XDTEwMDMyOTIxMzg1NVoXDTExMDMyOTIxMzg1NVowPzERMA8GA1UEAwwIY2xi
22
- dXN0b3MxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
23
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf8JVMGqE7m5kYb+PNN
24
- neZv2pcXV5fQCi6xkyG8bi2/SIFy/LyxuvLzEeOxBeaz1Be93bayIUquOIqw3dyw
25
- /KXWa31FxuNuvAm6CN8fyeRYX/ou4cw3OIUUnIvB7RMNIu4wbgeM6htV/QEsNLrv
26
- at1/mh9JpqawPrcjIOVMj4BIp67vmzJCaUf+S/H2uYtSO09F+YQE3tv85TPeRmqU
27
- yjyXyTc/oJiw1cXskUL8UtMWZmrwNLHXuZWWIMzkjiz3UNdhJr/t5ROk8S2WPznl
28
- 0bMy/PMIlAbqWolRn1zl2VFJ3TaXScbqImY8Wf4g62b/1ZSUlGrtnLNsCYXrWiso
29
- UPUCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGu9
30
- rrJ1H64qRmNNu3Jj/Qjvh0u5MA0GCSqGSIb3DQEBBQUAA4IBAQCV0Unka5isrhZk
31
- GjqSDqY/6hF+G2pbFcbWUpjmC8NWtAxeC+7NGV3ljd0e1SLfoyBj4gnFtFmY8qX4
32
- K02tgSZM0eDV8TpgFpWXzK6LzHvoanuahHLZEtk/+Z885lFene+nHadkem1n9iAB
33
- cs96JO9/JfFyuXM27wFAwmfHCmJfPF09R4VvGHRAvb8MGzSVgk2i06OJTqkBTwvv
34
- JHJdoyw3+8bw9RJ+jLaNoQ+xu+1pQdS2bb3m7xjZpufml/m8zFCtjYM/7qgkKR8z
35
- /ZZt8lCiKfFArppRrZayE2FVsps4X6WwBdrKTMZ0CKSXTRctbEj1BAZ67eoTvBBt
36
- rpP0jjs0
37
- -----END CERTIFICATE-----
38
-
39
- date: 2010-11-14 00:00:00 -03:00
40
- default_executable:
41
- dependencies:
42
- - !ruby/object:Gem::Dependency
11
+ cert_chain: []
12
+ date: 2015-04-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
43
15
  name: text-table
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.2'
21
+ type: :runtime
44
22
  prerelease: false
45
- requirement: &id001 !ruby/object:Gem::Requirement
46
- none: false
47
- requirements:
48
- - - ~>
49
- - !ruby/object:Gem::Version
50
- hash: 11
51
- segments:
52
- - 1
53
- - 2
54
- version: "1.2"
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rb-gsl
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.2'
55
35
  type: :runtime
56
- version_requirements: *id001
57
- - !ruby/object:Gem::Dependency
58
- name: rubyforge
59
36
  prerelease: false
60
- requirement: &id002 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- hash: 7
66
- segments:
67
- - 2
68
- - 0
69
- - 4
70
- version: 2.0.4
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.2'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '10'
71
49
  type: :development
72
- version_requirements: *id002
73
- - !ruby/object:Gem::Dependency
74
- name: hoe
75
50
  prerelease: false
76
- requirement: &id003 !ruby/object:Gem::Requirement
77
- none: false
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- hash: 19
82
- segments:
83
- - 2
84
- - 6
85
- - 2
86
- version: 2.6.2
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '10'
56
+ - !ruby/object:Gem::Dependency
57
+ name: bundler
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.3'
87
63
  type: :development
88
- version_requirements: *id003
89
- description: Minimization algorithms on pure Ruby.
90
- email:
91
- - clbustos_AT_gmail.com
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.3'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '3.2'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '3.2'
84
+ description: Minimization algorithms on pure Ruby
85
+ email:
86
+ - clbustos@gmail.com
87
+ - rajat100493@gmail.com
92
88
  executables: []
93
-
94
89
  extensions: []
95
-
96
- extra_rdoc_files:
90
+ extra_rdoc_files: []
91
+ files:
92
+ - ".gitignore"
93
+ - ".travis.yml"
94
+ - Gemfile
97
95
  - History.txt
98
96
  - LICENSE.txt
99
- - Manifest.txt
100
- - README.txt
101
- files:
102
- - History.txt
103
- - LICENSE.txt
104
- - Manifest.txt
105
- - README.txt
97
+ - README.md
106
98
  - Rakefile
107
99
  - lib/minimization.rb
100
+ - lib/minimization/version.rb
101
+ - minimization.gemspec
108
102
  - spec/minimization_unidimensional_spec.rb
109
103
  - spec/spec.opts
110
104
  - spec/spec_helper.rb
111
- has_rdoc: true
112
- homepage: http://github.com/clbustos/minimization
105
+ homepage: https://github.com/sciruby/minimization
113
106
  licenses: []
114
-
107
+ metadata: {}
115
108
  post_install_message:
116
- rdoc_options:
117
- - --main
118
- - README.txt
119
- require_paths:
109
+ rdoc_options: []
110
+ require_paths:
120
111
  - lib
121
- required_ruby_version: !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
124
114
  - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
130
- required_rubygems_version: !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
133
119
  - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
137
- - 0
138
- version: "0"
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
139
122
  requirements: []
140
-
141
- rubyforge_project: ruby-statsample
142
- rubygems_version: 1.3.7
123
+ rubyforge_project:
124
+ rubygems_version: 2.2.2
143
125
  signing_key:
144
- specification_version: 3
145
- summary: Minimization algorithms on pure Ruby.
146
- test_files: []
147
-
126
+ specification_version: 4
127
+ summary: A suite for minimization in Ruby
128
+ test_files:
129
+ - spec/minimization_unidimensional_spec.rb
130
+ - spec/spec.opts
131
+ - spec/spec_helper.rb
data.tar.gz.sig DELETED
@@ -1 +0,0 @@
1
- ��ֹ��w*7�
data/Manifest.txt DELETED
@@ -1,9 +0,0 @@
1
- History.txt
2
- LICENSE.txt
3
- Manifest.txt
4
- README.txt
5
- Rakefile
6
- lib/minimization.rb
7
- spec/minimization_unidimensional_spec.rb
8
- spec/spec.opts
9
- spec/spec_helper.rb
data/README.txt DELETED
@@ -1,41 +0,0 @@
1
- = minimization
2
-
3
- * http://github.com/clbustos/minimization
4
-
5
- == DESCRIPTION:
6
-
7
- Minimization algorithms on pure Ruby.
8
-
9
- == FEATURES/PROBLEMS:
10
-
11
- Unidimensional:
12
- * Newton-Rahpson (requires first and second derivative)
13
- * Golden Section
14
- * Brent (Port of GSL code)
15
-
16
- If you needs speed, use rb-gsl
17
-
18
- == SYNOPSIS:
19
-
20
- d=Minimization::Brent.new(-1000,20000 , proc {|x| x**2})
21
-
22
- d.iterate
23
-
24
- puts d.x_minimum
25
- puts d.f_minimum
26
-
27
- == REQUIREMENTS:
28
-
29
- * Pure Ruby
30
-
31
- == INSTALL:
32
-
33
- sudo gem install minimization
34
-
35
- == API:
36
-
37
- http://ruby-statsample.rubyforge.org/minimization/
38
-
39
- == LICENSE:
40
-
41
- GPL-2 (See LICENSE.txt)
metadata.gz.sig DELETED
Binary file