rb-gsl 1.16.0.2 → 1.16.0.3.rc1

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.
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
  #