rb-gsl 1.16.0.2 → 1.16.0.3.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +5 -0
  3. data/README +2 -2
  4. data/Rakefile +2 -3
  5. data/lib/gsl/version.rb +1 -1
  6. data/rdoc/alf.rdoc +5 -5
  7. data/rdoc/blas.rdoc +8 -8
  8. data/rdoc/bspline.rdoc +16 -16
  9. data/rdoc/changes.rdoc +4 -9
  10. data/rdoc/cheb.rdoc +24 -24
  11. data/rdoc/cholesky_complex.rdoc +21 -21
  12. data/rdoc/combi.rdoc +36 -36
  13. data/rdoc/complex.rdoc +21 -21
  14. data/rdoc/const.rdoc +46 -46
  15. data/rdoc/dht.rdoc +48 -48
  16. data/rdoc/diff.rdoc +41 -41
  17. data/rdoc/ehandling.rdoc +5 -5
  18. data/rdoc/eigen.rdoc +152 -152
  19. data/rdoc/fft.rdoc +145 -145
  20. data/rdoc/fit.rdoc +108 -108
  21. data/rdoc/function.rdoc +10 -10
  22. data/rdoc/graph.rdoc +16 -16
  23. data/rdoc/hist.rdoc +102 -102
  24. data/rdoc/hist2d.rdoc +41 -41
  25. data/rdoc/hist3d.rdoc +8 -8
  26. data/rdoc/index.rdoc +18 -21
  27. data/rdoc/integration.rdoc +109 -109
  28. data/rdoc/interp.rdoc +70 -70
  29. data/rdoc/intro.rdoc +6 -6
  30. data/rdoc/linalg.rdoc +187 -187
  31. data/rdoc/linalg_complex.rdoc +1 -1
  32. data/rdoc/math.rdoc +57 -57
  33. data/rdoc/matrix.rdoc +272 -272
  34. data/rdoc/min.rdoc +56 -56
  35. data/rdoc/monte.rdoc +21 -21
  36. data/rdoc/multimin.rdoc +94 -94
  37. data/rdoc/multiroot.rdoc +79 -79
  38. data/rdoc/narray.rdoc +31 -31
  39. data/rdoc/ndlinear.rdoc +53 -53
  40. data/rdoc/nonlinearfit.rdoc +99 -99
  41. data/rdoc/ntuple.rdoc +30 -30
  42. data/rdoc/odeiv.rdoc +87 -87
  43. data/rdoc/perm.rdoc +89 -89
  44. data/rdoc/poly.rdoc +65 -65
  45. data/rdoc/qrng.rdoc +20 -20
  46. data/rdoc/randist.rdoc +81 -81
  47. data/rdoc/ref.rdoc +56 -56
  48. data/rdoc/rng.rdoc +84 -84
  49. data/rdoc/roots.rdoc +56 -56
  50. data/rdoc/sf.rdoc +427 -427
  51. data/rdoc/siman.rdoc +18 -18
  52. data/rdoc/sort.rdoc +29 -29
  53. data/rdoc/start.rdoc +8 -8
  54. data/rdoc/stats.rdoc +51 -51
  55. data/rdoc/sum.rdoc +11 -11
  56. data/rdoc/tensor.rdoc +30 -30
  57. data/rdoc/tut.rdoc +1 -1
  58. data/rdoc/use.rdoc +37 -37
  59. data/rdoc/vector.rdoc +187 -187
  60. data/rdoc/vector_complex.rdoc +23 -23
  61. data/rdoc/wavelet.rdoc +46 -46
  62. metadata +17 -20
  63. data/rdoc/rngextra.rdoc +0 -11
  64. data/rdoc/screenshot.rdoc +0 -40
data/rdoc/multiroot.rdoc CHANGED
@@ -1,71 +1,71 @@
1
1
  #
2
2
  # = Multidimensional Root-Finding
3
- # This chapter describes functions for multidimensional root-finding
4
- # (solving nonlinear systems with n equations in n unknowns).
5
- # The library provides low level components for a variety of iterative solvers
6
- # and convergence tests. These can be combined by the user to achieve the
7
- # desired solution, with full access to the intermediate steps of the iteration.
8
- # Each class of methods uses the same framework, so that you can switch between
9
- # solvers at runtime without needing to recompile your program. Each instance of
10
- # a solver keeps track of its own state, allowing the solvers to be used in
3
+ # This chapter describes functions for multidimensional root-finding
4
+ # (solving nonlinear systems with n equations in n unknowns).
5
+ # The library provides low level components for a variety of iterative solvers
6
+ # and convergence tests. These can be combined by the user to achieve the
7
+ # desired solution, with full access to the intermediate steps of the iteration.
8
+ # Each class of methods uses the same framework, so that you can switch between
9
+ # solvers at runtime without needing to recompile your program. Each instance of
10
+ # a solver keeps track of its own state, allowing the solvers to be used in
11
11
  # multi-threaded programs.
12
12
  #
13
- # 1. {Overview}[link:rdoc/multiroot_rdoc.html#1]
14
- # 1. {Initializing the Solver}[link:rdoc/multiroot_rdoc.html#2]
15
- # 1. {Providing the function to solve}[link:rdoc/multiroot_rdoc.html#3]
16
- # 1. {Iteration}[link:rdoc/multiroot_rdoc.html#4]
17
- # 1. {Search Stopping Parameters}[link:rdoc/multiroot_rdoc.html#5]
18
- # 1. {Higher Level Interface}[link:rdoc/multiroot_rdoc.html#6]
19
- # 1. {Examples}[link:rdoc/multiroot_rdoc.html#7]
20
- # 1. {FSolver}[link:rdoc/multiroot_rdoc.html#7.1]
21
- # 1. {FdfSolver}[link:rdoc/multiroot_rdoc.html#7.2]
22
- #
23
- #
24
- # == {}[link:index.html"name="1] Overview
25
- # The problem of multidimensional root finding requires the simultaneous
26
- # solution of n equations, f_i, in n variables, x_i, In general there are no
27
- # bracketing methods available for n dimensional systems, and no way of knowing
28
- # whether any solutions exist. All algorithms proceed from an initial guess
29
- # using a variant of the Newton iteration, where x, f are vector quantities and
30
- # J is the Jacobian matrix J_{ij} = d f_i / d x_j. Additional strategies can be
31
- # used to enlarge the region of convergence. These include requiring a decrease
32
- # in the norm |f| on each step proposed by Newton's method, or taking
33
- # steepest-descent steps in the direction of the negative gradient of |f|.
34
- #
35
- # Several root-finding algorithms are available within a single framework.
36
- # The user provides a high-level driver for the algorithms, and the library
37
- # provides the individual functions necessary for each of the steps. There are
38
- # three main phases of the iteration. The steps are,
13
+ # 1. {Overview}[link:multiroot_rdoc.html#label-Overview]
14
+ # 1. {Initializing the Solver}[link:multiroot_rdoc.html#label-Initializing+the+Solver]
15
+ # 1. {Providing the function to solve}[link:multiroot_rdoc.html#label-Providing+the+function+to+solve]
16
+ # 1. {Iteration}[link:multiroot_rdoc.html#label-Iteration]
17
+ # 1. {Search Stopping Parameters}[link:multiroot_rdoc.html#label-Search+Stopping+Parameters]
18
+ # 1. {Higher Level Interface}[link:multiroot_rdoc.html#label-Higher+Level+Interface]
19
+ # 1. {Examples}[link:multiroot_rdoc.html#label-Example]
20
+ # 1. {FSolver}[link:multiroot_rdoc.html#label-FSolver]
21
+ # 1. {FdfSolver}[link:multiroot_rdoc.html#label-FdfSolver]
22
+ #
23
+ #
24
+ # == Overview
25
+ # The problem of multidimensional root finding requires the simultaneous
26
+ # solution of n equations, f_i, in n variables, x_i, In general there are no
27
+ # bracketing methods available for n dimensional systems, and no way of knowing
28
+ # whether any solutions exist. All algorithms proceed from an initial guess
29
+ # using a variant of the Newton iteration, where x, f are vector quantities and
30
+ # J is the Jacobian matrix J_{ij} = d f_i / d x_j. Additional strategies can be
31
+ # used to enlarge the region of convergence. These include requiring a decrease
32
+ # in the norm |f| on each step proposed by Newton's method, or taking
33
+ # steepest-descent steps in the direction of the negative gradient of |f|.
34
+ #
35
+ # Several root-finding algorithms are available within a single framework.
36
+ # The user provides a high-level driver for the algorithms, and the library
37
+ # provides the individual functions necessary for each of the steps. There are
38
+ # three main phases of the iteration. The steps are,
39
39
  #
40
40
  # * initialize solver state, <tt>s</tt>, for algorithm <tt>T</tt>
41
41
  # * update <tt>s</tt> using the iteration <tt>T</tt>
42
- # * test <tt>s</tt> for convergence, and repeat iteration if necessary
42
+ # * test <tt>s</tt> for convergence, and repeat iteration if necessary
43
43
  #
44
- # The evaluation of the Jacobian matrix can be problematic, either because
45
- # programming the derivatives is intractable or because computation of the n^2
46
- # terms of the matrix becomes too expensive. For these reasons the algorithms
47
- # provided by the library are divided into two classes according to whether
48
- # the derivatives are available or not.
44
+ # The evaluation of the Jacobian matrix can be problematic, either because
45
+ # programming the derivatives is intractable or because computation of the n^2
46
+ # terms of the matrix becomes too expensive. For these reasons the algorithms
47
+ # provided by the library are divided into two classes according to whether
48
+ # the derivatives are available or not.
49
49
  #
50
- # The state for solvers with an analytic Jacobian matrix is held in a
51
- # <tt>GSL::MultiRoot::FdfSolver</tt> object. The updating procedure requires both
52
- # the function and its derivatives to be supplied by the user.
50
+ # The state for solvers with an analytic Jacobian matrix is held in a
51
+ # <tt>GSL::MultiRoot::FdfSolver</tt> object. The updating procedure requires both
52
+ # the function and its derivatives to be supplied by the user.
53
53
  #
54
- # The state for solvers which do not use an analytic Jacobian matrix is held in
55
- # a <tt>GSL::MultiRoot::FSolver</tt> object. The updating procedure uses only
56
- # function evaluations (not derivatives). The algorithms estimate the matrix J
57
- # or J^{-1} by approximate methods.
54
+ # The state for solvers which do not use an analytic Jacobian matrix is held in
55
+ # a <tt>GSL::MultiRoot::FSolver</tt> object. The updating procedure uses only
56
+ # function evaluations (not derivatives). The algorithms estimate the matrix J
57
+ # or J^{-1} by approximate methods.
58
58
  #
59
59
  #
60
- # == {}[link:index.html"name="2] Initializing the Solver
61
- # Two types of solvers are available. The solver itself depends only on the
60
+ # == Initializing the Solver
61
+ # Two types of solvers are available. The solver itself depends only on the
62
62
  # dimension of the problem and the algorithm and can be reused for different problems.
63
63
  # The <tt>FdfSolver</tt> requires derivatives of the function to solve.
64
64
  #
65
65
  # ---
66
66
  # * GSL::MultiRoot::FSolver.alloc(T, n)
67
67
  #
68
- # This creates an instance of the <tt>FSolver</tt> class of type <tt>T</tt>
68
+ # This creates an instance of the <tt>FSolver</tt> class of type <tt>T</tt>
69
69
  # for a system of <tt>n</tt> dimensions. The type is given by a constant or a string,
70
70
  # * GSL::MultiRoot:FSolver::HYBRIDS, or "hybrids"
71
71
  # * GSL::MultiRoot:FSolver::HYBRID, or "hybrid"
@@ -75,7 +75,7 @@
75
75
  # ---
76
76
  # * GSL::MultiRoot::FdfSolver.alloc(T, n)
77
77
  #
78
- # This creates an instance of the <tt>FdfSolver</tt> class of type <tt>T</tt>
78
+ # This creates an instance of the <tt>FdfSolver</tt> class of type <tt>T</tt>
79
79
  # for a system of <tt>n</tt> dimensions. The type is given by a constant,
80
80
  # * GSL::MultiRoot:FdfSolver::HYBRIDSJ, or "hybridsj"
81
81
  # * GSL::MultiRoot:FdfSolver::HYBRIDJ, or "hybridj",
@@ -85,16 +85,16 @@
85
85
  # ---
86
86
  # * GSL::MultiRoot::FSolver#set(func, x)
87
87
  #
88
- # This method sets, or resets, an existing solver <tt>self</tt>
88
+ # This method sets, or resets, an existing solver <tt>self</tt>
89
89
  # to use the function <tt>func</tt> and the initial guess <tt>x</tt>.
90
- # Here <tt>x</tt> is a <tt>Vector</tt>, and <tt>func</tt>
90
+ # Here <tt>x</tt> is a <tt>Vector</tt>, and <tt>func</tt>
91
91
  # is a <tt>MultiRoot:Function</tt> object.
92
92
  # ---
93
93
  # * GSL::MultiRoot::FdfSolver#set(func_fdf, x)
94
94
  #
95
- # This method sets, or resets, an existing solver <tt>self</tt>
95
+ # This method sets, or resets, an existing solver <tt>self</tt>
96
96
  # to use the function <tt>func_fdf</tt> and the initial guess <tt>x</tt>.
97
- # Here <tt>x</tt> is a <tt>Vector</tt>, and <tt>func_fdf</tt>
97
+ # Here <tt>x</tt> is a <tt>Vector</tt>, and <tt>func_fdf</tt>
98
98
  # is a <tt>MultiRoot:Function_fdf</tt> object.
99
99
  #
100
100
  # ---
@@ -102,7 +102,7 @@
102
102
  # * GSL::MultiRoot::FdfSolver#name
103
103
  #
104
104
  #
105
- # == {}[link:index.html"name="3] Providing the function to solve
105
+ # == Providing the function to solve
106
106
  # ---
107
107
  # * GSL::MultiRoot:Function.alloc(proc, dim, params)
108
108
  #
@@ -128,7 +128,7 @@
128
128
  # * GSL::MultiRoot:Function_fdf.alloc(proc, dim, params)
129
129
  #
130
130
  # See the example below:
131
- #
131
+ #
132
132
  # procf = Proc.new { |x, params, f|
133
133
  # a = params[0]; b = params[1]
134
134
  # x0 = x[0]; x1 = x[1]
@@ -151,19 +151,19 @@
151
151
  # x = [-10.0, -5.0]
152
152
  # fdfsolver.set(func_fdf, x)
153
153
  #
154
- # == {}[link:index.html"name="4] Iteration
154
+ # == Iteration
155
155
  # ---
156
156
  # * GSL::MultiRoot::FSolver#interate
157
157
  # * GSL::MultiRoot::FdfSolver#interate
158
158
  #
159
- # These methods perform a single iteration of the solver <tt>self</tt>.
160
- # If the iteration encounters an unexpected problem then an error code will
159
+ # These methods perform a single iteration of the solver <tt>self</tt>.
160
+ # If the iteration encounters an unexpected problem then an error code will
161
161
  # be returned,
162
- # * GSL_EBADFUNC: the iteration encountered a singular point where the function
162
+ # * GSL_EBADFUNC: the iteration encountered a singular point where the function
163
163
  # or its derivative evaluated to Inf or NaN.
164
- # * GSL_ENOPROG: the iteration is not making any progress, preventing the
164
+ # * GSL_ENOPROG: the iteration is not making any progress, preventing the
165
165
  # algorithm from continuing.
166
- # The solver maintains a current best estimate of the root at all times.
166
+ # The solver maintains a current best estimate of the root at all times.
167
167
  # This information can be accessed with the following auxiliary methods.
168
168
  #
169
169
  # ---
@@ -176,7 +176,7 @@
176
176
  # * GSL::MultiRoot::FSolver#f
177
177
  # * GSL::MultiRoot::FdfSolver#f
178
178
  #
179
- # These methds return the function value <tt>f(x)</tt> (Vector) at the current estimate
179
+ # These methds return the function value <tt>f(x)</tt> (Vector) at the current estimate
180
180
  # of the root for the solver <tt>self</tt>.
181
181
  #
182
182
  # ---
@@ -185,14 +185,14 @@
185
185
  #
186
186
  # These method return the last step <tt>dx</tt> (Vector) taken by the solver <tt>self</tt>.
187
187
  #
188
- # == {}[link:index.html"name="5] Search Stopping Parameters
188
+ # == Search Stopping Parameters
189
189
  # ---
190
190
  # * GSL::MultiRoot::FSolver#test_delta(epsabs, epsrel)
191
191
  # * GSL::MultiRoot::FdfSolver#test_delta(epsabs, epsrel)
192
192
  #
193
- # This method tests for the convergence of the sequence by comparing the last step
194
- # <tt>dx</tt> with the absolute error <tt>epsabs</tt> and relative error <tt>epsrel</tt>
195
- # to the current position <tt>x</tt>.
193
+ # This method tests for the convergence of the sequence by comparing the last step
194
+ # <tt>dx</tt> with the absolute error <tt>epsabs</tt> and relative error <tt>epsrel</tt>
195
+ # to the current position <tt>x</tt>.
196
196
  # The test returns <tt>GSL::SUCCESS</tt> if the following condition is achieved,
197
197
  # |dx_i| < epsabs + epsrel |x_i|
198
198
  # for each component of <tt>x</tt> and returns <tt>GSL::CONTINUE</tt> otherwise.
@@ -201,15 +201,15 @@
201
201
  # * GSL::MultiRoot::FSolver#test_residual(epsabs)
202
202
  # * GSL::MultiRoot::FdfSolver#test_residual(epsabs)
203
203
  #
204
- # This method tests the residual value <tt>f</tt> against the absolute error
205
- # bound <tt>epsabs</tt>. The test returns <tt>GSL::SUCCESS</tt> if the following
204
+ # This method tests the residual value <tt>f</tt> against the absolute error
205
+ # bound <tt>epsabs</tt>. The test returns <tt>GSL::SUCCESS</tt> if the following
206
206
  # condition is achieved,
207
207
  # sum_i |f_i| < epsabs
208
- # and returns <tt>GSL::CONTINUE</tt> otherwise. This criterion is suitable for
209
- # situations where the precise location of the root, <tt>x</tt>, is unimportant
208
+ # and returns <tt>GSL::CONTINUE</tt> otherwise. This criterion is suitable for
209
+ # situations where the precise location of the root, <tt>x</tt>, is unimportant
210
210
  # provided a value can be found where the residual is small enough.
211
211
  #
212
- # == {}[link:index.html"name="6] Higher Level Interface
212
+ # == Higher Level Interface
213
213
  # ---
214
214
  # * GSL::MultiRoot::Function#solve(x0, max_iter = 1000, eps = 1e-7, type = "hybrids")
215
215
  # * GSL::MultiRoot::FSolver#solve(max_iter = 1000, eps = 1e-7)
@@ -217,9 +217,9 @@
217
217
  #
218
218
  # See sample script <tt>examples/multiroot/fsolver3.rb</tt>.
219
219
  #
220
- # == {}[link:index.html"name="7] Example
220
+ # == Example
221
221
  #
222
- # === {}[link:index.html"name="7.1] FSolver
222
+ # === FSolver
223
223
  #
224
224
  # proc = Proc.new { |x, params, f|
225
225
  # a = params[0]; b = params[1]
@@ -246,7 +246,7 @@
246
246
  # status = fsolver.test_residual(1e-7)
247
247
  # end while status == GSL::CONTINUE and iter < 1000
248
248
  #
249
- # === {}[link:index.html"name="7.2] FdfSolver
249
+ # === FdfSolver
250
250
  # n = 2
251
251
  #
252
252
  # procf = Proc.new { |x, params, f|
@@ -284,10 +284,10 @@
284
284
  # status = fdfsolver.test_residual(1e-7)
285
285
  # end while status == GSL::CONTINUE and iter < 1000
286
286
  #
287
- # {prev}[link:rdoc/min_rdoc.html]
288
- # {next}[link:rdoc/multimin_rdoc.html]
287
+ # {prev}[link:min_rdoc.html]
288
+ # {next}[link:multimin_rdoc.html]
289
289
  #
290
- # {Reference index}[link:rdoc/ref_rdoc.html]
290
+ # {Reference index}[link:ref_rdoc.html]
291
291
  # {top}[link:index.html]
292
292
  #
293
293
  #
data/rdoc/narray.rdoc CHANGED
@@ -1,11 +1,11 @@
1
1
  #
2
2
  # = NArray compatibilities
3
- # === {}[link:index.html"name="0.1] Contents:
4
- # 1. {Data type conversions}[link:rdoc/narray_rdoc.html#1]
5
- # 1. {Methods which accepts NArray}[link:rdoc/narray_rdoc.html#2]
3
+ # === Contents:
4
+ # 1. {Data type conversions}[link:narray_rdoc.html#label-Data+type+conversions]
5
+ # 1. {Methods which accepts NArray}[link:narray_rdoc.html#label-Methods+which+accepts+NArray]
6
6
  #
7
- # == {}[link:index.html"name="1] Data type conversions
8
- # === {}[link:index.html"name="1.1] GSL to NArray
7
+ # == Data type conversions
8
+ # === GSL to NArray
9
9
  #
10
10
  # ---
11
11
  # * GSL::Vector#to_na
@@ -34,7 +34,7 @@
34
34
  # => GSL::Vector::Int
35
35
  # [ 0 1 2 3 4 5 ]
36
36
  # >> na = v.to_nvector_ref
37
- # => NVector(ref).int(6):
37
+ # => NVector(ref).int(6):
38
38
  # [ 0, 1, 2, 3, 4, 5 ]
39
39
  # >> na[3] = 999
40
40
  # => 999
@@ -42,7 +42,7 @@
42
42
  # => GSL::Vector::Int
43
43
  # [ 0 1 2 999 4 5 ]
44
44
  #
45
- # === {}[link:index.html"name="1.2] NArray to GSL
45
+ # === NArray to GSL
46
46
  # ---
47
47
  # * NArray#to_gv
48
48
  # * NArray#to_gm
@@ -56,12 +56,12 @@
56
56
  # * NArray#to_gv_view
57
57
  # * NArray#to_gm_view
58
58
  #
59
- # Create <tt>GSL::Vector::View</tt> or <tt>GSL::Matrix::View</tt> objects from NArray.
59
+ # Create <tt>GSL::Vector::View</tt> or <tt>GSL::Matrix::View</tt> objects from NArray.
60
60
  # The memory block of the NArray objects are shared with the View objects.
61
61
  #
62
62
  # Example:
63
63
  # >> na = NArray[0, 1, 2, 3, 4, 5]
64
- # => NArray.int(6):
64
+ # => NArray.int(6):
65
65
  # [ 0, 1, 2, 3, 4, 5 ]
66
66
  # >> b = na.to_gv_int_view
67
67
  # => GSL::Vector::Int::View
@@ -69,11 +69,11 @@
69
69
  # >> b[2] = -99
70
70
  # => -99
71
71
  # >> na
72
- # => NArray.int(6):
72
+ # => NArray.int(6):
73
73
  # [ 0, 1, -99, 3, 4, 5 ]
74
74
  #
75
- # == {}[link:index.html"name="2] Methods which accepts NArray
76
- # === {}[link:index.html"name="2.1] <tt>GSL</tt> module
75
+ # == Methods which accepts NArray
76
+ # === <tt>GSL</tt> module
77
77
  # ---
78
78
  # * GSL::graph()
79
79
  # * GSL::log1p(x)
@@ -87,11 +87,11 @@
87
87
  # * GSL::pow_2(x), ..., GSL::pow_9(x)
88
88
  #
89
89
  #
90
- # === {}[link:index.html"name="2.2] <tt>GSL::Sf</tt> module
90
+ # === <tt>Sf</tt> module
91
91
  # ---
92
- # * {Any}[link:rdoc/sf_rdoc.html]
92
+ # * {Any}[link:sf_rdoc.html]
93
93
  #
94
- # === {}[link:index.html"name="2.3] <tt>GSL::Linalg</tt> module
94
+ # === <tt>Linalg</tt> module
95
95
  # ---
96
96
  # * GSL::Linalg::LU.decomp(na)
97
97
  # * GSL::Linalg::LU.solve(lu, b)
@@ -100,7 +100,7 @@
100
100
  # * GSL::Linalg::LU.lndet(lu)
101
101
  # * GSL::Linalg::LU.invert(lu, perm)
102
102
  # * GSL::Linalg::QR.decomp(m)
103
- # * GSL::Linalg::QR.solve(qr, tau, b)
103
+ # * GSL::Linalg::QR.solve(qr, tau, b)
104
104
  # * GSL::Linalg::QR.svx(qr, tau, bx)
105
105
  # * GSL::Linalg::SV.decomp(m)
106
106
  # * GSL::Linalg::SV.solve(u, v, s, b)
@@ -112,17 +112,17 @@
112
112
  # * GSL::Linalg::HH.svx(m, bx)
113
113
  #
114
114
  #
115
- # === {}[link:index.html"name="2.4] <tt>GSL::Eigen</tt> module
115
+ # === <tt>Eigen</tt> module
116
116
  # ---
117
117
  # * GSL::Eigen::symm(na)
118
118
  # * GSL::Eigen::symmv(na)
119
119
  #
120
120
  #
121
- # === {}[link:index.html"name="2.5] <tt>GSL::FFT</tt> module
121
+ # === <tt>FFT</tt> module
122
122
  # ---
123
- # * {Many}[link:rdoc/FFT_rdoc.html]
123
+ # * {Many}[link:fft_rdoc.html]
124
124
  #
125
- # === {}[link:index.html"name="2.6] <tt>GSL::Function</tt> class
125
+ # === <tt>Function</tt> class
126
126
  # ---
127
127
  # * GSL::Function#eval
128
128
  # * GSL::Function#deriv_central(x, h)
@@ -133,15 +133,15 @@
133
133
  # * GSL::Function#diff_backward(x, h)
134
134
  #
135
135
  #
136
- # === {}[link:index.html"name="2.7] <tt>GSL::Ran</tt> and <tt>GSL::Cdf</tt> module
136
+ # === <tt>Ran</tt> and <tt>Cdf</tt> module
137
137
  # ---
138
- # * {Many}[link:rdoc/randist_rdoc.html]
138
+ # * {Many}[link:randist_rdoc.html]
139
139
  #
140
- # === {}[link:index.html"name="2.8] <tt>GSL::Stats</tt> module
140
+ # === <tt>Stats</tt> module
141
141
  # ---
142
- # * {Any}[link:rdoc/stats_rdoc.html]
142
+ # * {Any}[link:stats_rdoc.html]
143
143
  #
144
- # === {}[link:index.html"name="2.9] <tt>GSL::Interp</tt> and <tt>GSL::Spline</tt> class
144
+ # === <tt>Interp</tt> and <tt>Spline</tt> class
145
145
  # ---
146
146
  # * GSL::Interp#init
147
147
  # * GSL::Interp#eval
@@ -149,7 +149,7 @@
149
149
  # * GSL::Spline#eval
150
150
  #
151
151
  #
152
- # === {}[link:index.html"name="2.10] <tt>GSL::Deriv</tt> and <tt>GSL::Diff</tt> module
152
+ # === <tt>Deriv</tt> and <tt>Diff</tt> module
153
153
  # ---
154
154
  # * GSL::Deriv.central(f, x, h)
155
155
  # * GSL::Deriv.forward(f, x, h)
@@ -159,19 +159,19 @@
159
159
  # * GSL::Diff.backward(f, x, h)
160
160
  #
161
161
  #
162
- # === {}[link:index.html"name="2.11] <tt>GSL::Cheb</tt> class
162
+ # === <tt>Cheb</tt> class
163
163
  # ---
164
164
  # * GSL::Cheb#eval(x)
165
165
  # * GSL::Cheb#eval_n(n, x)
166
166
  #
167
167
  #
168
- # === {}[link:index.html"name="2.12] <tt>GSL::Wavelet</tt> class
168
+ # === <tt>Wavelet</tt> class
169
169
  # ---
170
- # * {Many}[link:rdoc/wavelet_rdoc.html]
170
+ # * {Many}[link:wavelet_rdoc.html]
171
171
  #
172
- # {prev}[link:rdoc/tensor_rdoc.html]
172
+ # {prev}[link:tensor_rdoc.html]
173
173
  #
174
- # {Reference index}[link:rdoc/ref_rdoc.html]
174
+ # {Reference index}[link:ref_rdoc.html]
175
175
  # {top}[link:index.html]
176
176
  #
177
177
  #
data/rdoc/ndlinear.rdoc CHANGED
@@ -1,56 +1,56 @@
1
1
  #
2
- # = NDLINAR: multi-linear, multi-parameter least squares fitting
2
+ # = NDLINAR: multi-linear, multi-parameter least squares fitting
3
3
  #
4
4
  # The multi-dimension fitting library NDLINEAR is not included in GSL,
5
5
  # but is provided as an extension library. This is available at the
6
- # {Patric Alken's page}[http://ucsu.colorado.edu/~alken/gsl/"target="_top].
6
+ # {Patrick Alken's page}[http://ucsu.colorado.edu/~alken/gsl/].
7
7
  #
8
8
  # Contents:
9
- # 1. {Introduction}[link:rdoc/ndlinear_rdoc.html#1]
10
- # 1. {Class and methods}[link:rdoc/ndlinear_rdoc.html#2]
11
- # 1. {Examples}[link:rdoc/ndlinear_rdoc.html#3]
12
- #
13
- # == {}[link:index.html"name="1] Introduction
14
- # The NDLINEAR extension provides support for general linear least squares
15
- # fitting to data which is a function of more than one variable (multi-linear or
16
- # multi-dimensional least squares fitting). This model has the form where
17
- # <tt>x</tt> is a vector of independent variables, a_i are the fit coefficients,
18
- # and F_i are the basis functions of the fit. This GSL extension computes the
19
- # design matrix X_{ij = F_j(x_i) in the special case that the basis functions
20
- # separate: Here the superscript value j indicates the basis function
21
- # corresponding to the independent variable x_j. The subscripts (i_1, i_2, i_3,
9
+ # 1. {Introduction}[link:ndlinear_rdoc.html#label-Introduction]
10
+ # 1. {Class and methods}[link:ndlinear_rdoc.html#label-Class+and+Methods]
11
+ # 1. {Examples}[link:ndlinear_rdoc.html#label-Examples]
12
+ #
13
+ # == Introduction
14
+ # The NDLINEAR extension provides support for general linear least squares
15
+ # fitting to data which is a function of more than one variable (multi-linear or
16
+ # multi-dimensional least squares fitting). This model has the form where
17
+ # <tt>x</tt> is a vector of independent variables, a_i are the fit coefficients,
18
+ # and F_i are the basis functions of the fit. This GSL extension computes the
19
+ # design matrix X_{ij = F_j(x_i) in the special case that the basis functions
20
+ # separate: Here the superscript value j indicates the basis function
21
+ # corresponding to the independent variable x_j. The subscripts (i_1, i_2, i_3,
22
22
  # ...) refer to which basis function to use from the complete set. These
23
- # subscripts are related to the index i in a complex way, which is the main
24
- # problem this extension addresses. The model then becomes where n is the
25
- # dimension of the fit and N_i is the number of basis functions for the variable
26
- # x_i. Computationally, it is easier to supply the individual basis functions
27
- # u^{(j) than the total basis functions F_i(x). However the design matrix X is
28
- # easiest to construct given F_i(x). Therefore the routines below allow the user
29
- # to specify the individual basis functions u^{(j) and then automatically
30
- # construct the design matrix X.
23
+ # subscripts are related to the index i in a complex way, which is the main
24
+ # problem this extension addresses. The model then becomes where n is the
25
+ # dimension of the fit and N_i is the number of basis functions for the variable
26
+ # x_i. Computationally, it is easier to supply the individual basis functions
27
+ # u^{(j) than the total basis functions F_i(x). However the design matrix X is
28
+ # easiest to construct given F_i(x). Therefore the routines below allow the user
29
+ # to specify the individual basis functions u^{(j) and then automatically
30
+ # construct the design matrix X.
31
31
  #
32
32
  #
33
- # == {}[link:index.html"name="2] Class and Methods
33
+ # == Class and Methods
34
34
  # ---
35
35
  # * GSL::MultiFit::Ndlinear.alloc(n_dim, N, u, params)
36
36
  # * GSL::MultiFit::Ndlinear::Workspace.alloc(n_dim, N, u, params)
37
37
  #
38
- # Creates a workspace for solving multi-parameter, multi-dimensional linear
39
- # least squares problems. <tt>n_dim</tt> specifies the dimension of the fit
40
- # (the number of independent variables in the model). The array <tt>N</tt> of
41
- # length <tt>n_dim</tt> specifies the number of terms in each sum, so that
38
+ # Creates a workspace for solving multi-parameter, multi-dimensional linear
39
+ # least squares problems. <tt>n_dim</tt> specifies the dimension of the fit
40
+ # (the number of independent variables in the model). The array <tt>N</tt> of
41
+ # length <tt>n_dim</tt> specifies the number of terms in each sum, so that
42
42
  # <tt>N[i]</tt>
43
- # specifies the number of terms in the sum of the i-th independent variable.
44
- # The array of <tt>Proc</tt> objects <tt>u</tt> of length <tt>n_dim</tt> specifies
45
- # the basis functions for each independent fit variable, so that <tt>u[i]</tt>
46
- # is a procedure to calculate the basis function for the i-th
43
+ # specifies the number of terms in the sum of the i-th independent variable.
44
+ # The array of <tt>Proc</tt> objects <tt>u</tt> of length <tt>n_dim</tt> specifies
45
+ # the basis functions for each independent fit variable, so that <tt>u[i]</tt>
46
+ # is a procedure to calculate the basis function for the i-th
47
47
  # independent variable.
48
- # Each of the procedures <tt>u</tt> takes three block parameters: a point
49
- # <tt>x</tt> at which to evaluate the basis function, an array y of length
50
- # <tt>N[i]</tt> which is filled on output with the basis function values at
51
- # <tt>x</tt> for all i, and a params argument which contains parameters needed
48
+ # Each of the procedures <tt>u</tt> takes three block parameters: a point
49
+ # <tt>x</tt> at which to evaluate the basis function, an array y of length
50
+ # <tt>N[i]</tt> which is filled on output with the basis function values at
51
+ # <tt>x</tt> for all i, and a params argument which contains parameters needed
52
52
  # by the basis function. These parameters are supplied in the <tt>params</tt>
53
- # argument to this method.
53
+ # argument to this method.
54
54
  #
55
55
  # Ex)
56
56
  #
@@ -93,18 +93,18 @@
93
93
  # * GSL::MultiFit::Ndlinear::Workspace#design(vars)
94
94
  #
95
95
  # Construct the least squares design matrix <tt>X</tt> from the input <tt>vars</tt>
96
- # and the previously specified basis functions. vars is a ndata-by-n_dim
97
- # matrix where the ith row specifies the n_dim independent variables for the
98
- # ith observation.
96
+ # and the previously specified basis functions. vars is a ndata-by-n_dim
97
+ # matrix where the ith row specifies the n_dim independent variables for the
98
+ # ith observation.
99
99
  #
100
100
  # ---
101
101
  # * GSL::MultiFit::Ndlinear.est(x, c, cov, w)
102
102
  # * GSL::MultiFit::Ndlinear::Workspace#est(x, c, cov)
103
103
  #
104
- # After the least squares problem is solved via <tt>GSL::MultiFit::linear</tt>,
105
- # this method can be used to evaluate the model at the data point <tt>x</tt>.
106
- # The coefficient vector <tt>c</tt> and covariance matrix <tt>cov</tt> are
107
- # outputs from <tt>GSL::MultiFit::linear</tt>. The model output value and
104
+ # After the least squares problem is solved via <tt>GSL::MultiFit::linear</tt>,
105
+ # this method can be used to evaluate the model at the data point <tt>x</tt>.
106
+ # The coefficient vector <tt>c</tt> and covariance matrix <tt>cov</tt> are
107
+ # outputs from <tt>GSL::MultiFit::linear</tt>. The model output value and
108
108
  # its error [<tt>y, yerr</tt>] are returned as an array.
109
109
  #
110
110
  # ---
@@ -116,12 +116,12 @@
116
116
  # <tt>x</tt> using the coefficient vector <tt>c</tt> and returns the model
117
117
  # value.
118
118
  #
119
- # == {}[link:index.html"name="3] Examples
120
- # This example program generates data from the 3D isotropic harmonic oscillator
121
- # wavefunction (real part) and then fits a model to the data using B-splines in
122
- # the r coordinate, Legendre polynomials in theta, and sines/cosines in phi.
123
- # The exact form of the solution is (neglecting the normalization constant for
124
- # simplicity) The example program models psi by default.
119
+ # == Examples
120
+ # This example program generates data from the 3D isotropic harmonic oscillator
121
+ # wavefunction (real part) and then fits a model to the data using B-splines in
122
+ # the r coordinate, Legendre polynomials in theta, and sines/cosines in phi.
123
+ # The exact form of the solution is (neglecting the normalization constant for
124
+ # simplicity) The example program models psi by default.
125
125
  #
126
126
  # #!/usr/bin/env ruby
127
127
  # require("gsl")
@@ -133,7 +133,7 @@
133
133
  # R_MAX = 3.0
134
134
  #
135
135
  # def psi_real_exact(k, l, m, r, theta, phi)
136
- # rr = GSL::pow(r, l)*Math::exp(-r*r)*GSL::Sf::laguerre_n(k, l + 0.5, 2 * r * r)
136
+ # rr = GSL::pow(r, l)*Math::exp(-r*r)*GSL::Sf::laguerre_n(k, l + 0.5, 2 * r * r)
137
137
  # tt = GSL::Sf::legendre_sphPlm(l, m, Math::cos(theta))
138
138
  # pp = Math::cos(m*phi)
139
139
  # rr*tt*pp
@@ -191,7 +191,7 @@
191
191
  #
192
192
  # vars[i][0] = r
193
193
  # vars[i][1] = theta
194
- # vars[i][2] = phi
194
+ # vars[i][2] = phi
195
195
  #
196
196
  # data[i] = psi + dpsi
197
197
  # end
@@ -244,7 +244,7 @@
244
244
  # STDERR.printf("rms error over all parameter space = %e\n", eps_rms)
245
245
  #
246
246
  #
247
- # {Reference index}[link:rdoc/ref_rdoc.html]
247
+ # {Reference index}[link:ref_rdoc.html]
248
248
  # {top}[link:index.html]
249
249
  #
250
250
  #