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/diff.rdoc CHANGED
@@ -1,14 +1,14 @@
1
1
  #
2
2
  # = Numerical Differentiation
3
- # The functions described in this chapter compute numerical derivatives by
4
- # finite differencing. An adaptive algorithm is used to find the best choice
5
- # of finite difference and to estimate the error in the derivative.
3
+ # The functions described in this chapter compute numerical derivatives by
4
+ # finite differencing. An adaptive algorithm is used to find the best choice
5
+ # of finite difference and to estimate the error in the derivative.
6
6
  #
7
7
  # Contentes:
8
- # 1. {Deriv methods}[link:rdoc/diff_rdoc.html#1]
9
- # 1. {Diff methods}[link:rdoc/diff_rdoc.html#2]
8
+ # 1. {Deriv methods}[link:diff_rdoc.html#label-Deriv+methods+%28for+GSL+1.4.90+or+later%29]
9
+ # 1. {Diff methods}[link:diff_rdoc.html#label-Diff+Methods+%28obsolete%29]
10
10
  #
11
- # == {}[link:index.html"name="1] Deriv methods (for GSL 1.4.90 or later)
11
+ # == Deriv methods (for GSL 1.4.90 or later)
12
12
  # Numerical derivatives should now be calculated using the
13
13
  # <tt>GSL::Deriv.forward, GSL::Deriv.central</tt> and <tt>GSL::Deriv.backward</tt> methods,
14
14
  # which accept a step-size argument in addition to the position x. The
@@ -18,78 +18,78 @@
18
18
  # * GSL::Deriv.central(f, x, h = 1e-8)
19
19
  # * GSL::Function#deriv_central(x, h = 1e-8)
20
20
  #
21
- # These methods compute the numerical derivative of the function <tt>f</tt>
22
- # at the point <tt>x</tt> using an adaptive central difference algorithm with a
23
- # step-size of <tt>h</tt>. If a scalar <tt>x</tt> is given, the derivative and an
21
+ # These methods compute the numerical derivative of the function <tt>f</tt>
22
+ # at the point <tt>x</tt> using an adaptive central difference algorithm with a
23
+ # step-size of <tt>h</tt>. If a scalar <tt>x</tt> is given, the derivative and an
24
24
  # estimate of its absolute error are returned as an array, [<tt>result, abserr, status</tt>].
25
25
  # If a vector/matrix/array <tt>x</tt> is given, an array of two elements are returned,
26
26
  # [<tt>result, abserr</tt>], here each them is also a vector/matrix/array of the same
27
27
  # dimension of <tt>x</tt>.
28
28
  #
29
- # The initial value of <tt>h</tt> is used to estimate an optimal step-size,
30
- # based on the scaling of the truncation error and round-off error in the
31
- # derivative calculation. The derivative is computed using a 5-point rule for
32
- # equally spaced abscissae at x-h, x-h/2, x, x+h/2, x, with an error estimate
33
- # taken from the difference between the 5-point rule and the corresponding 3-point
34
- # rule x-h, x, x+h. Note that the value of the function at x does not contribute
29
+ # The initial value of <tt>h</tt> is used to estimate an optimal step-size,
30
+ # based on the scaling of the truncation error and round-off error in the
31
+ # derivative calculation. The derivative is computed using a 5-point rule for
32
+ # equally spaced abscissae at x-h, x-h/2, x, x+h/2, x, with an error estimate
33
+ # taken from the difference between the 5-point rule and the corresponding 3-point
34
+ # rule x-h, x, x+h. Note that the value of the function at x does not contribute
35
35
  # to the derivative calculation, so only 4-points are actually used.
36
36
  #
37
37
  # ---
38
38
  # * GSL::Deriv.forward(f, x, h = 1e-8)
39
39
  # * GSL::Function#deriv_forward(x, h = 1e-8)
40
40
  #
41
- # These methods compute the numerical derivative of the function <tt>f</tt> at
42
- # the point <tt>x</tt> using an adaptive forward difference algorithm with a step-size
43
- # of <tt>h</tt>. The function is evaluated only at points greater than <tt>x</tt>,
44
- # and never at <tt>x</tt> itself. The derivative and an estimate of its absolute error
45
- # are returned as an array, [<tt>result, abserr</tt>].
46
- # These methods should be used if f(x) has a
41
+ # These methods compute the numerical derivative of the function <tt>f</tt> at
42
+ # the point <tt>x</tt> using an adaptive forward difference algorithm with a step-size
43
+ # of <tt>h</tt>. The function is evaluated only at points greater than <tt>x</tt>,
44
+ # and never at <tt>x</tt> itself. The derivative and an estimate of its absolute error
45
+ # are returned as an array, [<tt>result, abserr</tt>].
46
+ # These methods should be used if f(x) has a
47
47
  # discontinuity at <tt>x</tt>, or is undefined for values less than <tt>x</tt>.
48
48
  #
49
- # The initial value of <tt>h</tt> is used to estimate an optimal step-size, based on the
50
- # scaling of the truncation error and round-off error in the derivative calculation.
51
- # The derivative at x is computed using an "open" 4-point rule for equally spaced
52
- # abscissae at x+h/4, x+h/2, x+3h/4, x+h, with an error estimate taken from the
49
+ # The initial value of <tt>h</tt> is used to estimate an optimal step-size, based on the
50
+ # scaling of the truncation error and round-off error in the derivative calculation.
51
+ # The derivative at x is computed using an "open" 4-point rule for equally spaced
52
+ # abscissae at x+h/4, x+h/2, x+3h/4, x+h, with an error estimate taken from the
53
53
  # difference between the 4-point rule and the corresponding 2-point rule x+h/2, x+h.
54
54
  #
55
55
  # ---
56
56
  # * GSL::Deriv.backward(f, x, h)
57
57
  # * GSL::Function#deriv_backward(x, h)
58
58
  #
59
- # These methods compute the numerical derivative of the function <tt>f</tt> at the
60
- # point <tt>x</tt> using an adaptive backward difference algorithm with a step-size
61
- # of <tt>h</tt>. The function is evaluated only at points less than <tt>x</tt>,
62
- # and never at <tt>x</tt> itself. The derivative and an estimate of its absolute error
63
- # are returned as an array, [<tt>result, abserr</tt>].
64
- # This function should be used if f(x) has a discontinuity at <tt>x</tt>,
59
+ # These methods compute the numerical derivative of the function <tt>f</tt> at the
60
+ # point <tt>x</tt> using an adaptive backward difference algorithm with a step-size
61
+ # of <tt>h</tt>. The function is evaluated only at points less than <tt>x</tt>,
62
+ # and never at <tt>x</tt> itself. The derivative and an estimate of its absolute error
63
+ # are returned as an array, [<tt>result, abserr</tt>].
64
+ # This function should be used if f(x) has a discontinuity at <tt>x</tt>,
65
65
  # or is undefined for values greater than <tt>x</tt>.
66
66
  #
67
- # These methods are equivalent to calling the method <tt>forward</tt>
67
+ # These methods are equivalent to calling the method <tt>forward</tt>
68
68
  # with a negative step-size.
69
69
  #
70
- # == {}[link:index.html"name="2] Diff Methods (obsolete)
70
+ # == Diff Methods (obsolete)
71
71
  #
72
72
  # ---
73
73
  # * GSL::Diff.central(f, x)
74
74
  # * GSL::Function#diff_central(x)
75
75
  #
76
- # These compute the numerical derivative of the function <tt>f</tt> ( {GSL::Function}[link:rdoc/function_rdoc.html] object) at the point <tt>x</tt>
77
- # using an adaptive central difference algorithm. The result is returned as an array
76
+ # These compute the numerical derivative of the function <tt>f</tt> ( {GSL::Function}[link:function_rdoc.html] object) at the point <tt>x</tt>
77
+ # using an adaptive central difference algorithm. The result is returned as an array
78
78
  # which contains the derivative and an estimate of its absolute error.
79
79
  #
80
80
  # ---
81
81
  # * GSL::Diff.forward(f, x)
82
82
  # * GSL::Function#diff_forward(x)
83
83
  #
84
- # These compute the numerical derivative of the function at the point x using an adaptive forward difference algorithm.
84
+ # These compute the numerical derivative of the function at the point x using an adaptive forward difference algorithm.
85
85
  #
86
86
  # ---
87
87
  # * GSL::Diff.backward(f, x)
88
88
  # * GSL::Function#diff_backward(x)
89
89
  #
90
- # These compute the numerical derivative of the function at the point x using an adaptive backward difference algorithm.
90
+ # These compute the numerical derivative of the function at the point x using an adaptive backward difference algorithm.
91
91
  #
92
- # == {}[link:index.html"name="3] Example
92
+ # == Example
93
93
  #
94
94
  # #!/usr/bin/env ruby
95
95
  # require "gsl"
@@ -124,10 +124,10 @@
124
124
  # f'(x) = 0.0000000160 +/- 0.0000000339
125
125
  # exact = 0.0000000000
126
126
  #
127
- # {prev}[link:rdoc/interp_rdoc.html]
128
- # {next}[link:rdoc/cheb_rdoc.html]
127
+ # {prev}[link:interp_rdoc.html]
128
+ # {next}[link:cheb_rdoc.html]
129
129
  #
130
- # {Reference index}[link:rdoc/ref_rdoc.html]
130
+ # {Reference index}[link:ref_rdoc.html]
131
131
  # {top}[link:index.html]
132
132
  #
133
133
  #
data/rdoc/ehandling.rdoc CHANGED
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # = Error Handling
3
3
  #
4
- # == {}[link:index.html"name="1] Error codes
4
+ # == Error codes
5
5
  # The GSL routines report an error whenever they cannot perform the task
6
6
  # requested of them. For example, a root-finding function would return a
7
7
  # non-zero error code if could not converge to the requested accuracy,
@@ -30,7 +30,7 @@
30
30
  # kinds of problems with passing the wrong argument to a library function
31
31
  # (like <tt>EINVAL</tt> in the C library).
32
32
  #
33
- # == {}[link:index.html"name="2] Error handler
33
+ # == Error handler
34
34
  # In Ruby/GSL, the default GSL error handler is replaced by an other one which calls
35
35
  # <tt>rb_raise()</tt>. Thus whenever a GSL routine reports a fatal error,
36
36
  # a Ruby Exception is generated.
@@ -42,9 +42,9 @@
42
42
  # This replaces the Ruby/GSL default error handler by a user-defined handler
43
43
  # given by a Proc object <tt>proc</tt> or a block.
44
44
  #
45
- # {prev}[link:rdoc/use_rdoc.html]
46
- # {next}[link:rdoc/math_rdoc.html]
45
+ # {prev}[link:use_rdoc.html]
46
+ # {next}[link:math_rdoc.html]
47
47
  #
48
- # {Reference index}[link:rdoc/ref_rdoc.html]
48
+ # {Reference index}[link:ref_rdoc.html]
49
49
  # {top}[link:index.html]
50
50
  #
data/rdoc/eigen.rdoc CHANGED
@@ -1,16 +1,16 @@
1
1
  #
2
2
  # = Eigensystems
3
- # === {}[link:index.html"name="0.1] Contentes
4
- # 1. {Modules and classes}[link:rdoc/eigen_rdoc.html#1]
5
- # 1. {Real Symmetric Matrices}[link:rdoc/eigen_rdoc.html#2]
6
- # 1. {Complex Hermitian Matrices}[link:rdoc/eigen_rdoc.html#3]
7
- # 1. {Real Nonsymmetric Matrices}[link:rdoc/eigen_rdoc.html#4] (>= GSL-1.9)
8
- # 1. {Real Generalized Symmetric-Definite Eigensystems}[link:rdoc/eigen_rdoc.html#5] (>= GSL-1.10)
9
- # 1. {Complex Generalized Hermitian-Definite Eigensystems}[link:rdoc/eigen_rdoc.html#6] (>= GSL-1.10)
10
- # 1. {Real Generalized Nonsymmetric Eigensystems}[link:rdoc/eigen_rdoc.html#7] (>= GSL-1.10)
11
- # 1. {Sorting Eigenvalues and Eigenvectors }[link:rdoc/eigen_rdoc.html#8]
12
- #
13
- # == {}[link:index.html"name="1] Modules and classes
3
+ # === Contentes
4
+ # 1. {Modules and classes}[link:eigen_rdoc.html#label-Modules+and+classes]
5
+ # 1. {Real Symmetric Matrices}[link:eigen_rdoc.html#label-Real+Symmetric+Matrices]
6
+ # 1. {Complex Hermitian Matrices}[link:eigen_rdoc.html#label-Complex+Hermitian+Matrices]
7
+ # 1. {Real Nonsymmetric Matrices}[link:eigen_rdoc.html#label-Real+Nonsymmetric+Matrices+%28%3E%3D+GSL-1.9%29] (>= GSL-1.9)
8
+ # 1. {Real Generalized Symmetric-Definite Eigensystems}[link:eigen_rdoc.html#label-Real+Generalized+Symmetric-Definite+Eigensystems+%28GSL-1.10%29] (>= GSL-1.10)
9
+ # 1. {Complex Generalized Hermitian-Definite Eigensystems}[link:eigen_rdoc.html#label-Complex+Generalized+Hermitian-Definite+Eigensystems+%28%3E%3D+GSL-1.10%29] (>= GSL-1.10)
10
+ # 1. {Real Generalized Nonsymmetric Eigensystems}[link:eigen_rdoc.html#label-Real+Generalized+Nonsymmetric+Eigensystems+%28%3E%3D+GSL-1.10%29] (>= GSL-1.10)
11
+ # 1. {Sorting Eigenvalues and Eigenvectors }[link:eigen_rdoc.html#label-Sorting+Eigenvalues+and+Eigenvectors]
12
+ #
13
+ # == Modules and classes
14
14
  #
15
15
  # * GSL
16
16
  # * Eigen
@@ -42,8 +42,8 @@
42
42
  # * Genv (Module, >= GSL-1.10)
43
43
  # * Workspace (Class)
44
44
  #
45
- # == {}[link:index.html"name="2] Real Symmetric Matrices, GSL::Eigen::Symm module
46
- # === {}[link:index.html"name="2.1] Workspace classes
45
+ # == Real Symmetric Matrices
46
+ # === Workspace classes
47
47
  # ---
48
48
  # * GSL::Eigen::Symm::Workspace.alloc(n)
49
49
  # * GSL::Eigen::Symmv::Workspace.alloc(n)
@@ -51,24 +51,24 @@
51
51
  # * GSL::Eigen::Hermv::Workspace.alloc(n)
52
52
  #
53
53
  #
54
- # === {}[link:index.html"name="2.2] Methods to solve eigensystems
54
+ # === Methods to solve eigensystems
55
55
  # ---
56
56
  # * GSL::Eigen::symm(A)
57
57
  # * GSL::Eigen::symm(A, workspace)
58
58
  # * GSL::Matrix#eigen_symm
59
59
  # * GSL::Matrix#eigen_symm(workspace)
60
60
  #
61
- # These methods compute the eigenvalues of the real symmetric matrix.
61
+ # These methods compute the eigenvalues of the real symmetric matrix.
62
62
  # The workspace object <tt>workspace</tt> can be omitted.
63
63
  #
64
64
  # ---
65
65
  # * GSL::Eigen::symmv(A)
66
66
  # * GSL::Matrix#eigen_symmv
67
67
  #
68
- # These methods compute the eigenvalues and eigenvectors of the real symmetric
68
+ # These methods compute the eigenvalues and eigenvectors of the real symmetric
69
69
  # matrix, and return an array of two elements:
70
- # The first is a <tt>GSL::Vector</tt> object which stores all the eigenvalues.
71
- # The second is a <tt>GSL::Matrix object</tt>, whose columns contain
70
+ # The first is a <tt>GSL::Vector</tt> object which stores all the eigenvalues.
71
+ # The second is a <tt>GSL::Matrix object</tt>, whose columns contain
72
72
  # eigenvectors.
73
73
  #
74
74
  # 1. Singleton method of the <tt>GSL::Eigen</tt> module, <tt>GSL::Eigen::symm</tt>
@@ -81,14 +81,14 @@
81
81
  #
82
82
  # eigval, eigvec = m.eigen_symmv
83
83
  #
84
- # == {}[link:index.html"name="3] Complex Hermitian Matrices
84
+ # == Complex Hermitian Matrices
85
85
  # ---
86
86
  # * GSL::Eigen::herm(A)
87
87
  # * GSL::Eigen::herm(A, workspace)
88
88
  # * GSL::Matrix::Complex#eigen_herm
89
89
  # * GSL::Matrix::Complex#eigen_herm(workspace)
90
90
  #
91
- # These methods compute the eigenvalues of the complex hermitian matrix.
91
+ # These methods compute the eigenvalues of the complex hermitian matrix.
92
92
  #
93
93
  # ---
94
94
  # * GSL::Eigen::hermv(A)
@@ -97,38 +97,38 @@
97
97
  # * GSL::Matrix::Complex#eigen_hermv(workspace
98
98
  #
99
99
  #
100
- # == {}[link:index.html"name="4] Real Nonsymmetric Matrices (>= GSL-1.9)
100
+ # == Real Nonsymmetric Matrices (>= GSL-1.9)
101
101
  #
102
102
  # ---
103
103
  # * GSL::Eigen::Nonsymm.alloc(n)
104
104
  #
105
- # This allocates a workspace for computing eigenvalues of n-by-n real
105
+ # This allocates a workspace for computing eigenvalues of n-by-n real
106
106
  # nonsymmetric matrices. The size of the workspace is O(2n).
107
107
  #
108
108
  # ---
109
109
  # * GSL::Eigen::Nonsymm::params(compute_t, balance, wspace)
110
110
  # * GSL::Eigen::Nonsymm::Workspace#params(compute_t, balance)
111
111
  #
112
- # This method sets some parameters which determine how the eigenvalue
112
+ # This method sets some parameters which determine how the eigenvalue
113
113
  # problem is solved in subsequent calls to <tt>GSL::Eigen::nonsymm</tt>.
114
- # If <tt>compute_t</tt> is set to 1, the full Schur form <tt>T</tt> will be
115
- # computed by gsl_eigen_nonsymm. If it is set to 0, <tt>T</tt> will not be
116
- # computed (this is the default setting).
117
- # Computing the full Schur form <tt>T</tt> requires approximately 1.5-2 times
114
+ # If <tt>compute_t</tt> is set to 1, the full Schur form <tt>T</tt> will be
115
+ # computed by gsl_eigen_nonsymm. If it is set to 0, <tt>T</tt> will not be
116
+ # computed (this is the default setting).
117
+ # Computing the full Schur form <tt>T</tt> requires approximately 1.5-2 times
118
118
  # the number of flops.
119
119
  #
120
- # If <tt>balance</tt> is set to 1, a balancing transformation is applied to
121
- # the matrix prior to computing eigenvalues. This transformation is designed
122
- # to make the rows and columns of the matrix have comparable norms, and can
123
- # result in more accurate eigenvalues for matrices whose entries vary widely
120
+ # If <tt>balance</tt> is set to 1, a balancing transformation is applied to
121
+ # the matrix prior to computing eigenvalues. This transformation is designed
122
+ # to make the rows and columns of the matrix have comparable norms, and can
123
+ # result in more accurate eigenvalues for matrices whose entries vary widely
124
124
  # in magnitude. See section Balancing for more information. Note that the
125
- # balancing transformation does not preserve the orthogonality of the Schur
126
- # vectors, so if you wish to compute the Schur vectors with
127
- # <tt>GSL::Eigen::nonsymm_Z</tt> you will obtain the Schur vectors of the
128
- # balanced matrix instead of the original matrix. The relationship will be
129
- # where Q is the matrix of Schur vectors for the balanced matrix, and <tt>D</tt>
130
- # is the balancing transformation. Then <tt>GSL::Eigen::nonsymm_Z</tt> will
131
- # compute a matrix <tt>Z</tt> which satisfies with <tt>Z = D Q</tt>.
125
+ # balancing transformation does not preserve the orthogonality of the Schur
126
+ # vectors, so if you wish to compute the Schur vectors with
127
+ # <tt>GSL::Eigen::nonsymm_Z</tt> you will obtain the Schur vectors of the
128
+ # balanced matrix instead of the original matrix. The relationship will be
129
+ # where Q is the matrix of Schur vectors for the balanced matrix, and <tt>D</tt>
130
+ # is the balancing transformation. Then <tt>GSL::Eigen::nonsymm_Z</tt> will
131
+ # compute a matrix <tt>Z</tt> which satisfies with <tt>Z = D Q</tt>.
132
132
  # Note that <tt>Z</tt> will not be orthogonal. For this reason, balancing is
133
133
  # not performed by default.
134
134
  #
@@ -139,12 +139,12 @@
139
139
  # * GSL::Matrix#eigen_nonsymm(wspace)
140
140
  # * GSL::Matrix#eigen_nonsymm(eval, wspace)
141
141
  #
142
- # These methods compute the eigenvalues of the real nonsymmetric matrix <tt>m</tt>
143
- # and return them, or store in the vector <tt>eval</tt> if it given.
144
- # If <tt>T</tt> is desired, it is stored in <tt>m</tt> on output, however the lower
145
- # triangular portion will not be zeroed out. Otherwise, on output, the diagonal
146
- # of <tt>m</tt> will contain the 1-by-1 real eigenvalues and 2-by-2 complex
147
- # conjugate eigenvalue systems, and the rest of <tt>m</tt> is destroyed.
142
+ # These methods compute the eigenvalues of the real nonsymmetric matrix <tt>m</tt>
143
+ # and return them, or store in the vector <tt>eval</tt> if it given.
144
+ # If <tt>T</tt> is desired, it is stored in <tt>m</tt> on output, however the lower
145
+ # triangular portion will not be zeroed out. Otherwise, on output, the diagonal
146
+ # of <tt>m</tt> will contain the 1-by-1 real eigenvalues and 2-by-2 complex
147
+ # conjugate eigenvalue systems, and the rest of <tt>m</tt> is destroyed.
148
148
  #
149
149
  # ---
150
150
  # * GSL::Eigen::nonsymm_Z(m, eval, Z, wspace)
@@ -152,13 +152,13 @@
152
152
  # * GSL::Matrix#eigen_nonsymm_Z()
153
153
  # * GSL::Matrix#eigen_nonsymm(eval, Z, wspace)
154
154
  #
155
- # These methods are identical to <tt>GSL::Eigen::nonsymm</tt> except they also
155
+ # These methods are identical to <tt>GSL::Eigen::nonsymm</tt> except they also
156
156
  # compute the Schur vectors and return them (or store into <tt>Z</tt>).
157
157
  #
158
158
  # ---
159
159
  # * GSL::Eigen::Nonsymmv.alloc(n)
160
160
  #
161
- # Allocates a workspace for computing eigenvalues and eigenvectors
161
+ # Allocates a workspace for computing eigenvalues and eigenvectors
162
162
  # of n-by-n real nonsymmetric matrices. The size of the workspace is O(5n).
163
163
  # ---
164
164
  # * GSL::Eigen::nonsymm(m)
@@ -170,81 +170,81 @@
170
170
  # * GSL::Matrix#eigen_nonsymmv(eval, evec)
171
171
  # * GSL::Matrix#eigen_nonsymmv(eval, evec, wspace)
172
172
  #
173
- # Compute eigenvalues and right eigenvectors of the n-by-n real nonsymmetric
173
+ # Compute eigenvalues and right eigenvectors of the n-by-n real nonsymmetric
174
174
  # matrix. The computed eigenvectors are normalized to have Euclidean norm 1.
175
- # On output, the upper portion of <tt>m</tt> contains the Schur form <tt>T</tt>.
175
+ # On output, the upper portion of <tt>m</tt> contains the Schur form <tt>T</tt>.
176
176
  #
177
- # == {}[link:index.html"name="5] Real Generalized Symmetric-Definite Eigensystems (GSL-1.10)
178
- # The real generalized symmetric-definite eigenvalue problem is to
179
- # find eigenvalues <tt>lambda</tt> and eigenvectors <tt>x</tt> such that
180
- # where <tt>A</tt> and <tt>B</tt> are symmetric matrices, and <tt>B</tt>
177
+ # == Real Generalized Symmetric-Definite Eigensystems (GSL-1.10)
178
+ # The real generalized symmetric-definite eigenvalue problem is to
179
+ # find eigenvalues <tt>lambda</tt> and eigenvectors <tt>x</tt> such that
180
+ # where <tt>A</tt> and <tt>B</tt> are symmetric matrices, and <tt>B</tt>
181
181
  # is positive-definite. This problem reduces to the standard symmetric eigenvalue
182
- # problem by applying the Cholesky decomposition to <tt>B</tt>:
183
- # Therefore, the problem becomes <tt>C y = lambda y</tt>
184
- # where <tt>C = L^{-1} A L^{-t}</tt> is symmetric, and <tt>y = L^t x</tt>.
185
- # The standard symmetric eigensolver can be applied to the matrix <tt>C</tt>.
186
- # The resulting eigenvectors are backtransformed to find the vectors of the
187
- # original problem. The eigenvalues and eigenvectors of the generalized
188
- # symmetric-definite eigenproblem are always real.
182
+ # problem by applying the Cholesky decomposition to <tt>B</tt>:
183
+ # Therefore, the problem becomes <tt>C y = lambda y</tt>
184
+ # where <tt>C = L^{-1} A L^{-t}</tt> is symmetric, and <tt>y = L^t x</tt>.
185
+ # The standard symmetric eigensolver can be applied to the matrix <tt>C</tt>.
186
+ # The resulting eigenvectors are backtransformed to find the vectors of the
187
+ # original problem. The eigenvalues and eigenvectors of the generalized
188
+ # symmetric-definite eigenproblem are always real.
189
189
  #
190
190
  # ---
191
191
  # * GSL::Eigen::Gensymm.alloc(n)
192
192
  # * GSL::Eigen::Gensymm::Workspace.alloc(n)
193
193
  #
194
- # Allocates a workspace for computing eigenvalues of n-by-n real
195
- # generalized symmetric-definite eigensystems.
196
- # The size of the workspace is O(2n).
194
+ # Allocates a workspace for computing eigenvalues of n-by-n real
195
+ # generalized symmetric-definite eigensystems.
196
+ # The size of the workspace is O(2n).
197
197
  # ---
198
198
  # * GSL::Eigen::gensymm(A, B, w)
199
199
  #
200
- # Computes the eigenvalues of the real generalized symmetric-definite matrix
201
- # pair <tt>A, B</tt>, and returns them as a <tt>GSL::Vector</tt>,
200
+ # Computes the eigenvalues of the real generalized symmetric-definite matrix
201
+ # pair <tt>A, B</tt>, and returns them as a <tt>GSL::Vector</tt>,
202
202
  # using the method outlined above. On output, B contains its Cholesky
203
203
  # decomposition.
204
204
  # ---
205
205
  # * GSL::Eigen::gensymmv(A, B, w)
206
206
  #
207
- # Computes the eigenvalues and eigenvectors of the real generalized
208
- # symmetric-definite matrix pair <tt>A, B</tt>, and returns
209
- # them as a <tt>GSL::Vector</tt> and a <tt>GSL::Matrix</tt>.
210
- # The computed eigenvectors are normalized to have unit magnitude.
207
+ # Computes the eigenvalues and eigenvectors of the real generalized
208
+ # symmetric-definite matrix pair <tt>A, B</tt>, and returns
209
+ # them as a <tt>GSL::Vector</tt> and a <tt>GSL::Matrix</tt>.
210
+ # The computed eigenvectors are normalized to have unit magnitude.
211
211
  # On output, <tt>B</tt> contains its Cholesky decomposition.
212
212
  #
213
- # == {}[link:index.html"name="6] Complex Generalized Hermitian-Definite Eigensystems (>= GSL-1.10)
214
- # The complex generalized hermitian-definite eigenvalue problem is to
215
- # find eigenvalues <tt>lambda</tt> and eigenvectors <tt>x</tt> such that
216
- # where <tt>A</tt> and <tt>B</tt> are hermitian matrices, and <tt>B</tt>
217
- # is positive-definite. Similarly to the real case, this can be reduced to
218
- # <tt>C y = lambda y</tt> where <tt>C = L^{-1} A L^{-H}</tt> is hermitian,
219
- # and <tt>y = L^H x</tt>. The standard hermitian eigensolver can be applied to
220
- # the matrix <tt>C</tt>. The resulting eigenvectors are backtransformed
221
- # to find the vectors of the original problem.
222
- # The eigenvalues of the generalized hermitian-definite eigenproblem are always
223
- # real.
213
+ # == Complex Generalized Hermitian-Definite Eigensystems (>= GSL-1.10)
214
+ # The complex generalized hermitian-definite eigenvalue problem is to
215
+ # find eigenvalues <tt>lambda</tt> and eigenvectors <tt>x</tt> such that
216
+ # where <tt>A</tt> and <tt>B</tt> are hermitian matrices, and <tt>B</tt>
217
+ # is positive-definite. Similarly to the real case, this can be reduced to
218
+ # <tt>C y = lambda y</tt> where <tt>C = L^{-1} A L^{-H}</tt> is hermitian,
219
+ # and <tt>y = L^H x</tt>. The standard hermitian eigensolver can be applied to
220
+ # the matrix <tt>C</tt>. The resulting eigenvectors are backtransformed
221
+ # to find the vectors of the original problem.
222
+ # The eigenvalues of the generalized hermitian-definite eigenproblem are always
223
+ # real.
224
224
  #
225
225
  # ---
226
226
  # * GSL::Eigen::Genherm.alloc(n)
227
227
  #
228
- # Allocates a workspace for computing eigenvalues of n-by-n complex
229
- # generalized hermitian-definite eigensystems.
230
- # The size of the workspace is O(3n).
228
+ # Allocates a workspace for computing eigenvalues of n-by-n complex
229
+ # generalized hermitian-definite eigensystems.
230
+ # The size of the workspace is O(3n).
231
231
  # ---
232
232
  # * GSL::Eigen::genherm(A, B, w)
233
233
  #
234
- # Computes the eigenvalues of the complex generalized hermitian-definite
235
- # matrix pair <tt>A, B</tt>, and returns them as a <tt>GSL::Vector</tt>,
236
- # using the method outlined above.
234
+ # Computes the eigenvalues of the complex generalized hermitian-definite
235
+ # matrix pair <tt>A, B</tt>, and returns them as a <tt>GSL::Vector</tt>,
236
+ # using the method outlined above.
237
237
  # On output, <tt>B</tt> contains its Cholesky decomposition.
238
238
  # ---
239
239
  # * GSL::Eigen::genherm(A, B, w)
240
240
  #
241
- # Computes the eigenvalues and eigenvectors of the complex generalized
242
- # hermitian-definite matrix pair <tt>A, B</tt>,
243
- # and returns them as a <tt>GSL::Vector</tt> and a <tt>GSL::Matrix::Complex</tt>.
244
- # The computed eigenvectors are normalized to have unit magnitude.
241
+ # Computes the eigenvalues and eigenvectors of the complex generalized
242
+ # hermitian-definite matrix pair <tt>A, B</tt>,
243
+ # and returns them as a <tt>GSL::Vector</tt> and a <tt>GSL::Matrix::Complex</tt>.
244
+ # The computed eigenvectors are normalized to have unit magnitude.
245
245
  # On output, <tt>B</tt> contains its Cholesky decomposition.
246
246
  #
247
- # == {}[link:index.html"name="7] Real Generalized Nonsymmetric Eigensystems (>= GSL-1.10)
247
+ # == Real Generalized Nonsymmetric Eigensystems (>= GSL-1.10)
248
248
  #
249
249
  # ---
250
250
  # * GSL::Eigen::Gen.alloc(n)
@@ -257,79 +257,79 @@
257
257
  # * GSL::Eigen::Gen::params(compute_s, compute_t, balance, w)
258
258
  # * GSL::Eigen::gen_params(compute_s, compute_t, balance, w)
259
259
  #
260
- # Set some parameters which determine how the eigenvalue problem is solved
260
+ # Set some parameters which determine how the eigenvalue problem is solved
261
261
  # in subsequent calls to <tt>GSL::Eigen::gen</tt>.
262
262
  #
263
- # If <tt>compute_s</tt> is set to 1, the full Schur form <tt>S</tt> will be
264
- # computed by <tt>GSL::Eigen::gen</tt>. If it is set to 0, <tt>S</tt> will
265
- # not be computed (this is the default setting). <tt>S</tt> is a quasi upper
266
- # triangular matrix with 1-by-1 and 2-by-2 blocks on its diagonal.
267
- # 1-by-1 blocks correspond to real eigenvalues, and 2-by-2 blocks
268
- # correspond to complex eigenvalues.
263
+ # If <tt>compute_s</tt> is set to 1, the full Schur form <tt>S</tt> will be
264
+ # computed by <tt>GSL::Eigen::gen</tt>. If it is set to 0, <tt>S</tt> will
265
+ # not be computed (this is the default setting). <tt>S</tt> is a quasi upper
266
+ # triangular matrix with 1-by-1 and 2-by-2 blocks on its diagonal.
267
+ # 1-by-1 blocks correspond to real eigenvalues, and 2-by-2 blocks
268
+ # correspond to complex eigenvalues.
269
269
  #
270
- # If <tt>compute_t</tt> is set to 1, the full Schur form <tt>T</tt> will
271
- # be computed by <tt>GSL::Eigen::gen</tt>. If it is set to 0, <tt>T</tt>
272
- # will not be computed (this is the default setting). <tt>T</tt>
273
- # is an upper triangular matrix with non-negative elements on its diagonal.
274
- # Any 2-by-2 blocks in <tt>S</tt> will correspond to a 2-by-2 diagonal block
275
- # in <tt>T</tt>.
270
+ # If <tt>compute_t</tt> is set to 1, the full Schur form <tt>T</tt> will
271
+ # be computed by <tt>GSL::Eigen::gen</tt>. If it is set to 0, <tt>T</tt>
272
+ # will not be computed (this is the default setting). <tt>T</tt>
273
+ # is an upper triangular matrix with non-negative elements on its diagonal.
274
+ # Any 2-by-2 blocks in <tt>S</tt> will correspond to a 2-by-2 diagonal block
275
+ # in <tt>T</tt>.
276
276
  #
277
- # The <tt>balance</tt> parameter is currently ignored, since generalized
278
- # balancing is not yet implemented.
277
+ # The <tt>balance</tt> parameter is currently ignored, since generalized
278
+ # balancing is not yet implemented.
279
279
  #
280
280
  # ---
281
281
  # * GSL::Eigen::gen(A, B, w)
282
282
  #
283
283
  # Computes the eigenvalues of the real generalized nonsymmetric matrix pair
284
- # <tt>A, B</tt>, and returns them as pairs in (alpha, beta),
285
- # where alpha is <tt>GSL::Vector::Complex</tt> and beta is <tt>GSL::Vector</tt>.
284
+ # <tt>A, B</tt>, and returns them as pairs in (alpha, beta),
285
+ # where alpha is <tt>GSL::Vector::Complex</tt> and beta is <tt>GSL::Vector</tt>.
286
286
  # If beta_i is non-zero, then lambda = alpha_i / beta_i is an eigenvalue.
287
- # Likewise, if alpha_i is non-zero, then mu = beta_i / alpha_i is an
288
- # eigenvalue of the alternate problem mu A y = B y.
289
- # The elements of <tt>beta</tt> are normalized to be non-negative.
287
+ # Likewise, if alpha_i is non-zero, then mu = beta_i / alpha_i is an
288
+ # eigenvalue of the alternate problem mu A y = B y.
289
+ # The elements of <tt>beta</tt> are normalized to be non-negative.
290
290
  #
291
- # If <tt>S</tt> is desired, it is stored in <tt>A</tt> on output.
292
- # If <tt>T</tt> is desired, it is stored in <tt>B</tt> on output.
293
- # The ordering of eigenvalues in <tt>alpha, beta</tt>
291
+ # If <tt>S</tt> is desired, it is stored in <tt>A</tt> on output.
292
+ # If <tt>T</tt> is desired, it is stored in <tt>B</tt> on output.
293
+ # The ordering of eigenvalues in <tt>alpha, beta</tt>
294
294
  # follows the ordering of the diagonal blocks in the Schur forms <tt>S</tt>
295
- # and <tt>T</tt>.
295
+ # and <tt>T</tt>.
296
296
  #
297
297
  # ---
298
298
  # * GSL::Eigen::gen_QZ(A, B, w)
299
299
  #
300
- # This method is identical to <tt>GSL::Eigen::gen</tt> except it also computes
300
+ # This method is identical to <tt>GSL::Eigen::gen</tt> except it also computes
301
301
  # the left and right Schur vectors and returns them.
302
302
  #
303
303
  # ---
304
304
  # * GSL::Eigen::Genv.alloc(n)
305
305
  # * GSL::Eigen::Genv::Workspace.alloc(n)
306
306
  #
307
- # Allocatesa workspace for computing eigenvalues and eigenvectors of
308
- # n-by-n real generalized nonsymmetric eigensystems.
309
- # The size of the workspace is O(7n).
307
+ # Allocatesa workspace for computing eigenvalues and eigenvectors of
308
+ # n-by-n real generalized nonsymmetric eigensystems.
309
+ # The size of the workspace is O(7n).
310
310
  #
311
311
  # ---
312
312
  # * GSL::Eigen::genv(A, B, w)
313
313
  #
314
- # Computes eigenvalues and right eigenvectors of the n-by-n real generalized
315
- # nonsymmetric matrix pair <tt>A, B</tt>. The eigenvalues and eigenvectors
316
- # are returned in <tt>alpha, beta, evec</tt>.
317
- # On output, <tt>A, B</tt> contains the generalized Schur form <tt>S, T</tt>.
314
+ # Computes eigenvalues and right eigenvectors of the n-by-n real generalized
315
+ # nonsymmetric matrix pair <tt>A, B</tt>. The eigenvalues and eigenvectors
316
+ # are returned in <tt>alpha, beta, evec</tt>.
317
+ # On output, <tt>A, B</tt> contains the generalized Schur form <tt>S, T</tt>.
318
318
  #
319
319
  # ---
320
320
  # * GSL::Eigen::genv_QZ(A, B, w)
321
321
  #
322
- # This method is identical to <tt>GSL::Eigen::genv</tt> except it also computes
322
+ # This method is identical to <tt>GSL::Eigen::genv</tt> except it also computes
323
323
  # the left and right Schur vectors and returns them.
324
324
  #
325
- # == {}[link:index.html"name="8] Sorting Eigenvalues and Eigenvectors
325
+ # == Sorting Eigenvalues and Eigenvectors
326
326
  # ---
327
327
  # * GSL::Eigen::symmv_sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
328
328
  # * GSL::Eigen::Symmv::sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
329
329
  #
330
- # These methods simultaneously sort the eigenvalues stored in the vector
331
- # <tt>eval</tt> and the corresponding real eigenvectors stored in the
332
- # columns of the matrix <tt>evec</tt> into ascending or descending order
330
+ # These methods simultaneously sort the eigenvalues stored in the vector
331
+ # <tt>eval</tt> and the corresponding real eigenvectors stored in the
332
+ # columns of the matrix <tt>evec</tt> into ascending or descending order
333
333
  # according to the value of the parameter <tt>type</tt>,
334
334
  #
335
335
  # * <tt>GSL::Eigen::SORT_VAL_ASC</tt>
@@ -347,55 +347,55 @@
347
347
  # * GSL::Eigen::hermv_sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
348
348
  # * GSL::Eigen::Hermv::sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
349
349
  #
350
- # These methods simultaneously sort the eigenvalues stored in the vector
351
- # <tt>eval</tt> and the corresponding complex eigenvectors stored in the columns
352
- # of the matrix <tt>evec</tt> into ascending or descending order according
350
+ # These methods simultaneously sort the eigenvalues stored in the vector
351
+ # <tt>eval</tt> and the corresponding complex eigenvectors stored in the columns
352
+ # of the matrix <tt>evec</tt> into ascending or descending order according
353
353
  # to the value of the parameter <tt>type</tt> as shown above.
354
354
  #
355
355
  # ---
356
356
  # * GSL::Eigen::nonsymmv_sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
357
357
  # * GSL::Eigen::Nonsymmv::sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
358
358
  #
359
- # Sorts the eigenvalues stored in the vector <tt>eval</tt> and the corresponding
360
- # complex eigenvectors stored in the columns of the matrix <tt>evec</tt>
361
- # into ascending or descending order according to the value of the
362
- # parameter <tt>type</tt> as shown above.
363
- # Only <tt>GSL::EIGEN_SORT_ABS_ASC</tt> and <tt>GSL::EIGEN_SORT_ABS_DESC</tt>
364
- # are supported due to the eigenvalues being complex.
359
+ # Sorts the eigenvalues stored in the vector <tt>eval</tt> and the corresponding
360
+ # complex eigenvectors stored in the columns of the matrix <tt>evec</tt>
361
+ # into ascending or descending order according to the value of the
362
+ # parameter <tt>type</tt> as shown above.
363
+ # Only <tt>GSL::EIGEN_SORT_ABS_ASC</tt> and <tt>GSL::EIGEN_SORT_ABS_DESC</tt>
364
+ # are supported due to the eigenvalues being complex.
365
365
  #
366
366
  # ---
367
367
  # * GSL::Eigen::gensymmv_sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
368
368
  # * GSL::Eigen::Gensymmv::sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
369
369
  #
370
- # Sorts the eigenvalues stored in the vector <tt>eval</tt> and the
371
- # corresponding real eigenvectors stored in the columns of the matrix
372
- # <tt>evec</tt> into ascending or descending order according to the value of
373
- # the parameter <tt>type</tt> as shown above.
370
+ # Sorts the eigenvalues stored in the vector <tt>eval</tt> and the
371
+ # corresponding real eigenvectors stored in the columns of the matrix
372
+ # <tt>evec</tt> into ascending or descending order according to the value of
373
+ # the parameter <tt>type</tt> as shown above.
374
374
  #
375
375
  # ---
376
376
  # * GSL::Eigen::gensymmv_sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
377
377
  # * GSL::Eigen::Gensymmv::sort(eval, evec, type = GSL::Eigen::SORT_VAL_ASC)
378
378
  #
379
- # Sorts the eigenvalues stored in the vector <tt>eval</tt> and the
380
- # corresponding complex eigenvectors stored in the columns of the matrix
381
- # <tt>evec</tt> into ascending or descending order according to the value of
382
- # the parameter <tt>type</tt> as shown above.
379
+ # Sorts the eigenvalues stored in the vector <tt>eval</tt> and the
380
+ # corresponding complex eigenvectors stored in the columns of the matrix
381
+ # <tt>evec</tt> into ascending or descending order according to the value of
382
+ # the parameter <tt>type</tt> as shown above.
383
383
  #
384
384
  # ---
385
385
  # * GSL::Eigen::genv_sort(alpha, beta, evec, type = GSL::Eigen::SORT_VAL_ASC)
386
386
  # * GSL::Eigen::Genv::sort(alpha, beta, evec, type = GSL::Eigen::SORT_VAL_ASC)
387
387
  #
388
- # Sorts the eigenvalues stored in the vectors <tt>alpha, beta</tt> and the
389
- # corresponding complex eigenvectors stored in the columns of the matrix
390
- # <tt>evec</tt> into ascending or descending order according to the value of
388
+ # Sorts the eigenvalues stored in the vectors <tt>alpha, beta</tt> and the
389
+ # corresponding complex eigenvectors stored in the columns of the matrix
390
+ # <tt>evec</tt> into ascending or descending order according to the value of
391
391
  # the parameter <tt>type</tt> as shown above. Only <tt>GSL::EIGEN_SORT_ABS_ASC</tt>
392
- # and <tt>GSL::EIGEN_SORT_ABS_DESC</tt> are supported due to the eigenvalues
393
- # being complex.
392
+ # and <tt>GSL::EIGEN_SORT_ABS_DESC</tt> are supported due to the eigenvalues
393
+ # being complex.
394
394
  #
395
- # {prev}[link:rdoc/linalg_rdoc.html]
396
- # {next}[link:rdoc/fft_rdoc.html]
395
+ # {prev}[link:linalg_rdoc.html]
396
+ # {next}[link:fft_rdoc.html]
397
397
  #
398
- # {Reference index}[link:rdoc/ref_rdoc.html]
398
+ # {Reference index}[link:ref_rdoc.html]
399
399
  # {top}[link:index.html]
400
400
  #
401
401
  #