gsl 1.15.3 → 1.16.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (446) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.travis.yml +24 -0
  4. data/AUTHORS +10 -2
  5. data/COPYING +341 -339
  6. data/ChangeLog +612 -554
  7. data/Gemfile +4 -0
  8. data/README.md +77 -0
  9. data/Rakefile +14 -93
  10. data/THANKS +1 -1
  11. data/examples/blas/blas.rb +1 -1
  12. data/examples/bspline.rb +3 -3
  13. data/examples/complex/functions.rb +4 -4
  14. data/examples/complex/mul.rb +1 -1
  15. data/examples/const/physconst.rb +4 -4
  16. data/examples/const/travel.rb +4 -4
  17. data/examples/eigen/nonsymmv.rb +1 -1
  18. data/examples/eigen/qhoscillator.rb +3 -3
  19. data/examples/fft/radix2.rb +1 -1
  20. data/examples/fft/real-halfcomplex.rb +3 -3
  21. data/examples/fft/real-halfcomplex2.rb +3 -3
  22. data/examples/fit/expfit.rb +1 -1
  23. data/examples/fit/multifit.rb +1 -1
  24. data/examples/fit/ndlinear.rb +44 -44
  25. data/examples/fit/nonlinearfit.rb +1 -1
  26. data/examples/fit/wlinear.rb +3 -3
  27. data/examples/function/function.rb +1 -1
  28. data/examples/function/min.rb +1 -1
  29. data/examples/function/synchrotron.rb +2 -2
  30. data/examples/gallery/koch.rb +1 -1
  31. data/examples/histogram/cauchy.rb +2 -2
  32. data/examples/histogram/exponential.rb +1 -1
  33. data/examples/histogram/histo3d.rb +1 -1
  34. data/examples/histogram/histogram-pdf.rb +2 -2
  35. data/examples/histogram/xexp.rb +1 -1
  36. data/examples/integration/ahmed.rb +2 -2
  37. data/examples/integration/cosmology.rb +7 -7
  38. data/examples/integration/friedmann.rb +4 -4
  39. data/examples/integration/qng.rb +1 -1
  40. data/examples/interp/demo.rb +2 -2
  41. data/examples/linalg/LQ_solve.rb +1 -1
  42. data/examples/linalg/LU.rb +1 -1
  43. data/examples/linalg/LU2.rb +1 -1
  44. data/examples/linalg/LU_narray.rb +1 -1
  45. data/examples/linalg/PTLQ.rb +1 -1
  46. data/examples/linalg/QRPT.rb +1 -1
  47. data/examples/linalg/chol.rb +1 -1
  48. data/examples/linalg/chol_narray.rb +1 -1
  49. data/examples/linalg/complex.rb +1 -1
  50. data/examples/math/elementary.rb +1 -1
  51. data/examples/math/functions.rb +1 -1
  52. data/examples/math/inf_nan.rb +1 -1
  53. data/examples/math/minmax.rb +1 -1
  54. data/examples/math/power.rb +1 -1
  55. data/examples/math/test.rb +1 -1
  56. data/examples/min.rb +1 -1
  57. data/examples/multimin/bundle.rb +1 -1
  58. data/examples/multimin/cqp.rb +17 -17
  59. data/examples/multiroot/fsolver3.rb +1 -1
  60. data/examples/odeiv/binarysystem.rb +12 -12
  61. data/examples/odeiv/demo.rb +3 -3
  62. data/examples/odeiv/frei1.rb +7 -7
  63. data/examples/odeiv/frei2.rb +4 -4
  64. data/examples/odeiv/oscillator.rb +1 -1
  65. data/examples/odeiv/sedov.rb +3 -3
  66. data/examples/odeiv/whitedwarf.rb +11 -11
  67. data/examples/permutation/ex1.rb +2 -2
  68. data/examples/permutation/permutation.rb +1 -1
  69. data/examples/poly/demo.rb +1 -1
  70. data/examples/random/diffusion.rb +1 -1
  71. data/examples/random/generator.rb +2 -2
  72. data/examples/random/randomwalk.rb +3 -3
  73. data/examples/random/rng.rb +1 -1
  74. data/examples/roots/bisection.rb +1 -1
  75. data/examples/roots/brent.rb +1 -1
  76. data/examples/roots/demo.rb +1 -1
  77. data/examples/roots/newton.rb +2 -2
  78. data/examples/roots/recombination.gp +0 -1
  79. data/examples/sf/hyperg.rb +1 -1
  80. data/examples/sf/sphbessel.rb +1 -1
  81. data/examples/sort/sort.rb +1 -1
  82. data/examples/tamu_anova.rb +4 -4
  83. data/examples/vector/add.rb +1 -1
  84. data/examples/vector/decimate.rb +1 -1
  85. data/examples/vector/gnuplot.rb +8 -8
  86. data/examples/vector/vector.rb +2 -2
  87. data/examples/wavelet/wavelet1.rb +1 -1
  88. data/ext/{alf.c → gsl_native/alf.c} +10 -10
  89. data/ext/{array.c → gsl_native/array.c} +70 -159
  90. data/ext/{array_complex.c → gsl_native/array_complex.c} +63 -66
  91. data/ext/{blas.c → gsl_native/blas.c} +2 -3
  92. data/ext/{blas1.c → gsl_native/blas1.c} +35 -36
  93. data/ext/{blas2.c → gsl_native/blas2.c} +57 -62
  94. data/ext/{blas3.c → gsl_native/blas3.c} +57 -58
  95. data/ext/{block.c → gsl_native/block.c} +14 -18
  96. data/ext/{block_source.c → gsl_native/block_source.h} +110 -112
  97. data/ext/gsl_native/bspline.c +122 -0
  98. data/ext/{bundle.c → gsl_native/bundle.c} +0 -0
  99. data/ext/{cdf.c → gsl_native/cdf.c} +79 -93
  100. data/ext/{cheb.c → gsl_native/cheb.c} +78 -89
  101. data/ext/{combination.c → gsl_native/combination.c} +11 -19
  102. data/ext/{common.c → gsl_native/common.c} +9 -41
  103. data/ext/{complex.c → gsl_native/complex.c} +116 -118
  104. data/ext/gsl_native/const.c +331 -0
  105. data/ext/{const_additional.c → gsl_native/const_additional.c} +13 -34
  106. data/ext/gsl_native/cqp.c +283 -0
  107. data/ext/{deriv.c → gsl_native/deriv.c} +25 -33
  108. data/ext/{dht.c → gsl_native/dht.c} +23 -31
  109. data/ext/{diff.c → gsl_native/diff.c} +26 -28
  110. data/ext/{dirac.c → gsl_native/dirac.c} +45 -46
  111. data/ext/{eigen.c → gsl_native/eigen.c} +1044 -1095
  112. data/ext/{error.c → gsl_native/error.c} +18 -18
  113. data/ext/gsl_native/extconf.rb +118 -0
  114. data/ext/{fft.c → gsl_native/fft.c} +197 -204
  115. data/ext/{fit.c → gsl_native/fit.c} +17 -18
  116. data/ext/gsl_native/fresnel.c +312 -0
  117. data/ext/{function.c → gsl_native/function.c} +37 -43
  118. data/ext/{geometry.c → gsl_native/geometry.c} +16 -16
  119. data/ext/{graph.c → gsl_native/graph.c} +39 -89
  120. data/ext/{gsl.c → gsl_native/gsl.c} +12 -33
  121. data/ext/{gsl_narray.c → gsl_native/gsl_narray.c} +20 -30
  122. data/ext/{histogram.c → gsl_native/histogram.c} +133 -160
  123. data/ext/{histogram2d.c → gsl_native/histogram2d.c} +78 -104
  124. data/ext/{histogram3d.c → gsl_native/histogram3d.c} +76 -76
  125. data/ext/{histogram3d_source.c → gsl_native/histogram3d_source.c} +196 -197
  126. data/ext/{histogram_find.c → gsl_native/histogram_find.c} +32 -34
  127. data/ext/{histogram_oper.c → gsl_native/histogram_oper.c} +43 -52
  128. data/ext/{ieee.c → gsl_native/ieee.c} +9 -21
  129. data/{include → ext/gsl_native/include}/rb_gsl.h +4 -26
  130. data/{include → ext/gsl_native/include}/rb_gsl_array.h +15 -39
  131. data/{include → ext/gsl_native/include}/rb_gsl_cheb.h +0 -2
  132. data/{include → ext/gsl_native/include}/rb_gsl_common.h +61 -61
  133. data/{include → ext/gsl_native/include}/rb_gsl_complex.h +1 -1
  134. data/{include → ext/gsl_native/include}/rb_gsl_const.h +0 -6
  135. data/ext/gsl_native/include/rb_gsl_dirac.h +6 -0
  136. data/{include → ext/gsl_native/include}/rb_gsl_eigen.h +1 -1
  137. data/{include → ext/gsl_native/include}/rb_gsl_fft.h +0 -13
  138. data/{include → ext/gsl_native/include}/rb_gsl_fit.h +0 -2
  139. data/{include → ext/gsl_native/include}/rb_gsl_function.h +0 -4
  140. data/{include → ext/gsl_native/include}/rb_gsl_graph.h +2 -4
  141. data/{include → ext/gsl_native/include}/rb_gsl_histogram.h +8 -8
  142. data/{include → ext/gsl_native/include}/rb_gsl_histogram3d.h +50 -50
  143. data/{include → ext/gsl_native/include}/rb_gsl_integration.h +1 -1
  144. data/{include → ext/gsl_native/include}/rb_gsl_interp.h +0 -5
  145. data/{include → ext/gsl_native/include}/rb_gsl_linalg.h +2 -6
  146. data/{include → ext/gsl_native/include}/rb_gsl_math.h +0 -6
  147. data/{include → ext/gsl_native/include}/rb_gsl_odeiv.h +0 -3
  148. data/{include → ext/gsl_native/include}/rb_gsl_poly.h +3 -7
  149. data/{include → ext/gsl_native/include}/rb_gsl_rational.h +1 -8
  150. data/{include → ext/gsl_native/include}/rb_gsl_rng.h +0 -1
  151. data/{include → ext/gsl_native/include}/rb_gsl_root.h +1 -1
  152. data/{include → ext/gsl_native/include}/rb_gsl_sf.h +39 -48
  153. data/{include → ext/gsl_native/include}/rb_gsl_statistics.h +1 -1
  154. data/{include → ext/gsl_native/include}/rb_gsl_tensor.h +0 -2
  155. data/{include → ext/gsl_native/include}/rb_gsl_with_narray.h +3 -1
  156. data/{include → ext/gsl_native/include}/templates_off.h +0 -0
  157. data/{include → ext/gsl_native/include}/templates_on.h +1 -1
  158. data/ext/{integration.c → gsl_native/integration.c} +164 -189
  159. data/ext/{interp.c → gsl_native/interp.c} +25 -38
  160. data/ext/gsl_native/jacobi.c +733 -0
  161. data/ext/{linalg.c → gsl_native/linalg.c} +462 -589
  162. data/ext/{linalg_complex.c → gsl_native/linalg_complex.c} +93 -106
  163. data/ext/{math.c → gsl_native/math.c} +48 -67
  164. data/ext/{matrix.c → gsl_native/matrix.c} +13 -16
  165. data/ext/{matrix_complex.c → gsl_native/matrix_complex.c} +119 -123
  166. data/ext/{matrix_double.c → gsl_native/matrix_double.c} +79 -82
  167. data/ext/{matrix_int.c → gsl_native/matrix_int.c} +53 -54
  168. data/ext/{matrix_source.c → gsl_native/matrix_source.h} +292 -318
  169. data/ext/{min.c → gsl_native/min.c} +45 -76
  170. data/ext/{monte.c → gsl_native/monte.c} +50 -64
  171. data/ext/{multifit.c → gsl_native/multifit.c} +142 -151
  172. data/ext/{multimin.c → gsl_native/multimin.c} +64 -92
  173. data/ext/{multimin_fsdf.c → gsl_native/multimin_fsdf.c} +16 -16
  174. data/ext/{multiroots.c → gsl_native/multiroots.c} +73 -76
  175. data/ext/{multiset.c → gsl_native/multiset.c} +4 -8
  176. data/ext/{ndlinear.c → gsl_native/ndlinear.c} +320 -321
  177. data/ext/{nmf.c → gsl_native/nmf.c} +11 -11
  178. data/ext/{nmf_wrap.c → gsl_native/nmf_wrap.c} +1 -1
  179. data/ext/{ntuple.c → gsl_native/ntuple.c} +23 -23
  180. data/ext/{odeiv.c → gsl_native/odeiv.c} +101 -116
  181. data/ext/gsl_native/ool.c +879 -0
  182. data/ext/{permutation.c → gsl_native/permutation.c} +39 -37
  183. data/ext/{poly.c → gsl_native/poly.c} +10 -13
  184. data/ext/{poly2.c → gsl_native/poly2.c} +16 -16
  185. data/ext/{poly_source.c → gsl_native/poly_source.h} +249 -293
  186. data/ext/{qrng.c → gsl_native/qrng.c} +9 -20
  187. data/ext/{randist.c → gsl_native/randist.c} +222 -247
  188. data/ext/{rational.c → gsl_native/rational.c} +12 -12
  189. data/ext/{rng.c → gsl_native/rng.c} +30 -47
  190. data/ext/{root.c → gsl_native/root.c} +47 -48
  191. data/ext/{sf.c → gsl_native/sf.c} +196 -244
  192. data/ext/{sf_airy.c → gsl_native/sf_airy.c} +2 -2
  193. data/ext/{sf_bessel.c → gsl_native/sf_bessel.c} +7 -7
  194. data/ext/{sf_clausen.c → gsl_native/sf_clausen.c} +1 -1
  195. data/ext/{sf_coulomb.c → gsl_native/sf_coulomb.c} +40 -40
  196. data/ext/{sf_coupling.c → gsl_native/sf_coupling.c} +30 -30
  197. data/ext/{sf_dawson.c → gsl_native/sf_dawson.c} +1 -1
  198. data/ext/{sf_debye.c → gsl_native/sf_debye.c} +1 -10
  199. data/ext/{sf_dilog.c → gsl_native/sf_dilog.c} +1 -1
  200. data/ext/{sf_elementary.c → gsl_native/sf_elementary.c} +3 -3
  201. data/ext/{sf_ellint.c → gsl_native/sf_ellint.c} +43 -43
  202. data/ext/{sf_elljac.c → gsl_native/sf_elljac.c} +3 -3
  203. data/ext/{sf_erfc.c → gsl_native/sf_erfc.c} +1 -5
  204. data/ext/{sf_exp.c → gsl_native/sf_exp.c} +3 -3
  205. data/ext/{sf_expint.c → gsl_native/sf_expint.c} +2 -12
  206. data/ext/{sf_fermi_dirac.c → gsl_native/sf_fermi_dirac.c} +1 -1
  207. data/ext/{sf_gamma.c → gsl_native/sf_gamma.c} +2 -6
  208. data/ext/{sf_gegenbauer.c → gsl_native/sf_gegenbauer.c} +1 -1
  209. data/ext/{sf_hyperg.c → gsl_native/sf_hyperg.c} +1 -1
  210. data/ext/{sf_laguerre.c → gsl_native/sf_laguerre.c} +4 -4
  211. data/ext/{sf_lambert.c → gsl_native/sf_lambert.c} +1 -1
  212. data/ext/{sf_legendre.c → gsl_native/sf_legendre.c} +1 -1
  213. data/ext/{sf_log.c → gsl_native/sf_log.c} +4 -4
  214. data/ext/gsl_native/sf_mathieu.c +235 -0
  215. data/ext/{sf_power.c → gsl_native/sf_power.c} +1 -1
  216. data/ext/{sf_psi.c → gsl_native/sf_psi.c} +3 -12
  217. data/ext/{sf_synchrotron.c → gsl_native/sf_synchrotron.c} +1 -1
  218. data/ext/{sf_transport.c → gsl_native/sf_transport.c} +1 -1
  219. data/ext/{sf_trigonometric.c → gsl_native/sf_trigonometric.c} +4 -4
  220. data/ext/{sf_zeta.c → gsl_native/sf_zeta.c} +1 -5
  221. data/ext/{signal.c → gsl_native/signal.c} +63 -68
  222. data/ext/{siman.c → gsl_native/siman.c} +45 -49
  223. data/ext/{sort.c → gsl_native/sort.c} +6 -7
  224. data/ext/{spline.c → gsl_native/spline.c} +28 -46
  225. data/ext/{stats.c → gsl_native/stats.c} +105 -118
  226. data/ext/{sum.c → gsl_native/sum.c} +34 -34
  227. data/ext/{tamu_anova.c → gsl_native/tamu_anova.c} +1 -1
  228. data/ext/{tensor.c → gsl_native/tensor.c} +8 -11
  229. data/ext/{tensor_source.c → gsl_native/tensor_source.h} +147 -148
  230. data/ext/{vector.c → gsl_native/vector.c} +11 -14
  231. data/ext/{vector_complex.c → gsl_native/vector_complex.c} +179 -184
  232. data/ext/{vector_double.c → gsl_native/vector_double.c} +178 -183
  233. data/ext/{vector_int.c → gsl_native/vector_int.c} +27 -29
  234. data/ext/{vector_source.c → gsl_native/vector_source.h} +428 -443
  235. data/ext/{wavelet.c → gsl_native/wavelet.c} +224 -246
  236. data/gsl.gemspec +29 -0
  237. data/lib/gsl.rb +8 -3
  238. data/lib/gsl/gnuplot.rb +3 -3
  239. data/lib/gsl/oper.rb +35 -60
  240. data/lib/gsl/version.rb +3 -0
  241. data/lib/rbgsl.rb +1 -3
  242. data/rdoc/alf.rdoc +5 -5
  243. data/rdoc/blas.rdoc +9 -9
  244. data/rdoc/bspline.rdoc +17 -17
  245. data/rdoc/changes.rdoc +4 -9
  246. data/rdoc/cheb.rdoc +25 -25
  247. data/rdoc/cholesky_complex.rdoc +21 -21
  248. data/rdoc/combi.rdoc +37 -37
  249. data/rdoc/complex.rdoc +22 -22
  250. data/rdoc/const.rdoc +47 -47
  251. data/rdoc/dht.rdoc +49 -49
  252. data/rdoc/diff.rdoc +42 -42
  253. data/rdoc/ehandling.rdoc +6 -6
  254. data/rdoc/eigen.rdoc +153 -153
  255. data/rdoc/fft.rdoc +146 -146
  256. data/rdoc/fit.rdoc +109 -109
  257. data/rdoc/function.rdoc +11 -11
  258. data/rdoc/graph.rdoc +17 -17
  259. data/rdoc/hist.rdoc +103 -103
  260. data/rdoc/hist2d.rdoc +42 -42
  261. data/rdoc/hist3d.rdoc +9 -9
  262. data/rdoc/integration.rdoc +110 -110
  263. data/rdoc/interp.rdoc +71 -71
  264. data/rdoc/intro.rdoc +8 -8
  265. data/rdoc/linalg.rdoc +188 -188
  266. data/rdoc/linalg_complex.rdoc +1 -1
  267. data/rdoc/math.rdoc +58 -58
  268. data/rdoc/matrix.rdoc +275 -275
  269. data/rdoc/min.rdoc +57 -57
  270. data/rdoc/monte.rdoc +22 -22
  271. data/rdoc/multimin.rdoc +95 -95
  272. data/rdoc/multiroot.rdoc +80 -80
  273. data/rdoc/narray.rdoc +32 -32
  274. data/rdoc/ndlinear.rdoc +54 -54
  275. data/rdoc/nonlinearfit.rdoc +100 -100
  276. data/rdoc/ntuple.rdoc +31 -31
  277. data/rdoc/odeiv.rdoc +88 -88
  278. data/rdoc/perm.rdoc +90 -90
  279. data/rdoc/poly.rdoc +66 -66
  280. data/rdoc/qrng.rdoc +21 -21
  281. data/rdoc/randist.rdoc +82 -82
  282. data/rdoc/ref.rdoc +57 -57
  283. data/rdoc/rng.rdoc +85 -85
  284. data/rdoc/roots.rdoc +57 -57
  285. data/rdoc/sf.rdoc +428 -428
  286. data/rdoc/siman.rdoc +19 -19
  287. data/rdoc/sort.rdoc +30 -30
  288. data/rdoc/start.rdoc +8 -8
  289. data/rdoc/stats.rdoc +52 -52
  290. data/rdoc/sum.rdoc +12 -12
  291. data/rdoc/tensor.rdoc +31 -31
  292. data/rdoc/tut.rdoc +1 -1
  293. data/rdoc/use.rdoc +39 -39
  294. data/rdoc/vector.rdoc +188 -188
  295. data/rdoc/vector_complex.rdoc +24 -24
  296. data/rdoc/wavelet.rdoc +46 -46
  297. data/test/gsl/blas_test.rb +79 -0
  298. data/test/gsl/bspline_test.rb +63 -0
  299. data/test/gsl/cdf_test.rb +1512 -0
  300. data/test/gsl/cheb_test.rb +80 -0
  301. data/test/gsl/combination_test.rb +100 -0
  302. data/test/gsl/complex_test.rb +20 -0
  303. data/test/gsl/const_test.rb +29 -0
  304. data/test/gsl/deriv_test.rb +62 -0
  305. data/test/gsl/dht_test.rb +79 -0
  306. data/test/gsl/diff_test.rb +53 -0
  307. data/test/gsl/eigen_test.rb +563 -0
  308. data/test/gsl/err_test.rb +23 -0
  309. data/test/gsl/fit_test.rb +101 -0
  310. data/test/gsl/histo_test.rb +14 -0
  311. data/test/gsl/index_test.rb +61 -0
  312. data/test/gsl/integration_test.rb +274 -0
  313. data/test/gsl/interp_test.rb +27 -0
  314. data/test/gsl/linalg_test.rb +463 -0
  315. data/test/gsl/matrix_nmf_test.rb +37 -0
  316. data/test/gsl/matrix_test.rb +98 -0
  317. data/test/gsl/min_test.rb +89 -0
  318. data/test/gsl/monte_test.rb +77 -0
  319. data/test/gsl/multifit_test.rb +753 -0
  320. data/test/gsl/multimin_test.rb +157 -0
  321. data/test/gsl/multiroot_test.rb +135 -0
  322. data/test/gsl/multiset_test.rb +52 -0
  323. data/test/gsl/odeiv_test.rb +275 -0
  324. data/test/gsl/oper_test.rb +98 -0
  325. data/test/gsl/poly_test.rb +338 -0
  326. data/test/gsl/qrng_test.rb +94 -0
  327. data/test/gsl/quartic_test.rb +28 -0
  328. data/test/gsl/randist_test.rb +122 -0
  329. data/test/gsl/rng_test.rb +303 -0
  330. data/test/gsl/roots_test.rb +78 -0
  331. data/test/gsl/sf_test.rb +2079 -0
  332. data/test/gsl/stats_test.rb +122 -0
  333. data/test/gsl/sum_test.rb +69 -0
  334. data/test/gsl/tensor_test.rb +396 -0
  335. data/test/gsl/vector_test.rb +223 -0
  336. data/test/gsl/wavelet_test.rb +130 -0
  337. data/test/gsl_test.rb +321 -0
  338. data/test/test_helper.rb +42 -0
  339. data/uncrustify.cfg +1693 -0
  340. metadata +337 -378
  341. data/README +0 -32
  342. data/VERSION +0 -1
  343. data/ext/bspline.c +0 -130
  344. data/ext/const.c +0 -673
  345. data/ext/cqp.c +0 -283
  346. data/ext/extconf.rb +0 -295
  347. data/ext/fcmp.c +0 -66
  348. data/ext/fresnel.c +0 -312
  349. data/ext/jacobi.c +0 -739
  350. data/ext/ool.c +0 -879
  351. data/ext/oper_complex_source.c +0 -253
  352. data/ext/sf_mathieu.c +0 -238
  353. data/include/rb_gsl_config.h +0 -62
  354. data/include/rb_gsl_dirac.h +0 -13
  355. data/rdoc/index.rdoc +0 -62
  356. data/rdoc/rngextra.rdoc +0 -11
  357. data/rdoc/screenshot.rdoc +0 -40
  358. data/setup.rb +0 -1585
  359. data/tests/blas/amax.rb +0 -14
  360. data/tests/blas/asum.rb +0 -16
  361. data/tests/blas/axpy.rb +0 -25
  362. data/tests/blas/copy.rb +0 -23
  363. data/tests/blas/dot.rb +0 -23
  364. data/tests/bspline.rb +0 -53
  365. data/tests/cdf.rb +0 -1388
  366. data/tests/cheb.rb +0 -112
  367. data/tests/combination.rb +0 -123
  368. data/tests/complex.rb +0 -17
  369. data/tests/const.rb +0 -24
  370. data/tests/deriv.rb +0 -85
  371. data/tests/dht/dht1.rb +0 -17
  372. data/tests/dht/dht2.rb +0 -23
  373. data/tests/dht/dht3.rb +0 -23
  374. data/tests/dht/dht4.rb +0 -23
  375. data/tests/diff.rb +0 -78
  376. data/tests/eigen/eigen.rb +0 -220
  377. data/tests/eigen/gen.rb +0 -105
  378. data/tests/eigen/genherm.rb +0 -66
  379. data/tests/eigen/gensymm.rb +0 -68
  380. data/tests/eigen/nonsymm.rb +0 -53
  381. data/tests/eigen/nonsymmv.rb +0 -53
  382. data/tests/eigen/symm-herm.rb +0 -74
  383. data/tests/err.rb +0 -58
  384. data/tests/fit.rb +0 -124
  385. data/tests/gsl_test.rb +0 -118
  386. data/tests/gsl_test2.rb +0 -110
  387. data/tests/histo.rb +0 -12
  388. data/tests/integration/integration1.rb +0 -72
  389. data/tests/integration/integration2.rb +0 -71
  390. data/tests/integration/integration3.rb +0 -71
  391. data/tests/integration/integration4.rb +0 -71
  392. data/tests/interp.rb +0 -45
  393. data/tests/linalg/HH.rb +0 -64
  394. data/tests/linalg/LU.rb +0 -47
  395. data/tests/linalg/QR.rb +0 -77
  396. data/tests/linalg/SV.rb +0 -24
  397. data/tests/linalg/TDN.rb +0 -116
  398. data/tests/linalg/TDS.rb +0 -122
  399. data/tests/linalg/bidiag.rb +0 -73
  400. data/tests/linalg/cholesky.rb +0 -20
  401. data/tests/linalg/linalg.rb +0 -158
  402. data/tests/matrix/matrix_complex_test.rb +0 -36
  403. data/tests/matrix/matrix_nmf_test.rb +0 -39
  404. data/tests/matrix/matrix_test.rb +0 -48
  405. data/tests/min.rb +0 -99
  406. data/tests/monte/miser.rb +0 -31
  407. data/tests/monte/vegas.rb +0 -45
  408. data/tests/multifit/test_2dgauss.rb +0 -112
  409. data/tests/multifit/test_brown.rb +0 -90
  410. data/tests/multifit/test_enso.rb +0 -246
  411. data/tests/multifit/test_filip.rb +0 -155
  412. data/tests/multifit/test_gauss.rb +0 -97
  413. data/tests/multifit/test_longley.rb +0 -110
  414. data/tests/multifit/test_multifit.rb +0 -52
  415. data/tests/multimin.rb +0 -139
  416. data/tests/multiroot.rb +0 -131
  417. data/tests/multiset.rb +0 -52
  418. data/tests/narray/blas_dnrm2.rb +0 -20
  419. data/tests/odeiv.rb +0 -353
  420. data/tests/poly/poly.rb +0 -290
  421. data/tests/poly/special.rb +0 -65
  422. data/tests/qrng.rb +0 -131
  423. data/tests/quartic.rb +0 -29
  424. data/tests/randist.rb +0 -134
  425. data/tests/rng.rb +0 -305
  426. data/tests/roots.rb +0 -76
  427. data/tests/run-test.sh +0 -17
  428. data/tests/sf/gsl_test_sf.rb +0 -249
  429. data/tests/sf/test_airy.rb +0 -83
  430. data/tests/sf/test_bessel.rb +0 -306
  431. data/tests/sf/test_coulomb.rb +0 -17
  432. data/tests/sf/test_dilog.rb +0 -25
  433. data/tests/sf/test_gamma.rb +0 -209
  434. data/tests/sf/test_hyperg.rb +0 -356
  435. data/tests/sf/test_legendre.rb +0 -227
  436. data/tests/sf/test_mathieu.rb +0 -59
  437. data/tests/sf/test_mode.rb +0 -19
  438. data/tests/sf/test_sf.rb +0 -839
  439. data/tests/stats.rb +0 -174
  440. data/tests/stats_mt.rb +0 -16
  441. data/tests/sum.rb +0 -98
  442. data/tests/sys.rb +0 -323
  443. data/tests/tensor.rb +0 -419
  444. data/tests/vector/vector_complex_test.rb +0 -101
  445. data/tests/vector/vector_test.rb +0 -141
  446. data/tests/wavelet.rb +0 -142
@@ -1,44 +1,44 @@
1
1
  #
2
2
  # = Interpolation
3
- # This chapter describes functions for performing interpolation.
4
- # The library provides a variety of interpolation methods, including
5
- # Cubic splines and Akima splines. The interpolation types are interchangeable,
6
- # allowing different methods to be used without recompiling. Interpolations can
7
- # be defined for both normal and periodic boundary conditions. Additional
8
- # functions are available for computing derivatives and integrals of
9
- # interpolating functions.
10
- #
11
- # 1. {Interpolation classes}[link:files/rdoc/interp_rdoc.html#1]
12
- # 1. {Initializing interpolation objects}[link:files/rdoc/interp_rdoc.html#2]
13
- # 1. {Index Look-up and Acceleration}[link:files/rdoc/interp_rdoc.html#3]
14
- # 1. {Evaluation of Interpolating Functions}[link:files/rdoc/interp_rdoc.html#4]
15
- # 1. {Higher level interface: GSL::Spline class}[link:files/rdoc/interp_rdoc.html#5]
16
- # 1. {Class initialization}[link:files/rdoc/interp_rdoc.html#5.1]
17
- # 1. {Evaluation}[link:files/rdoc/interp_rdoc.html#5.2]
18
- # 1. {Finding and acceleration}[link:files/rdoc/interp_rdoc.html#5.3]
19
- #
20
- # == {}[link:index.html"name="1] Interpolation Classes
3
+ # This chapter describes functions for performing interpolation.
4
+ # The library provides a variety of interpolation methods, including
5
+ # Cubic splines and Akima splines. The interpolation types are interchangeable,
6
+ # allowing different methods to be used without recompiling. Interpolations can
7
+ # be defined for both normal and periodic boundary conditions. Additional
8
+ # functions are available for computing derivatives and integrals of
9
+ # interpolating functions.
10
+ #
11
+ # 1. {Interpolation classes}[link:rdoc/interp_rdoc.html#label-Interpolation+Classes]
12
+ # 1. {Initializing interpolation objects}[link:rdoc/interp_rdoc.html#label-Initializing+interpolation+objects]
13
+ # 1. {Index Look-up and Acceleration}[link:rdoc/interp_rdoc.html#label-Index+Look-up+and+Acceleration]
14
+ # 1. {Evaluation of Interpolating Functions}[link:rdoc/interp_rdoc.html#label-Evaluation+of+Interpolating+Functions]
15
+ # 1. {Higher level interface: GSL::Spline class}[link:rdoc/interp_rdoc.html#label-Higher+level+interface]
16
+ # 1. {Class initialization}[link:rdoc/interp_rdoc.html#label-Class+initialization]
17
+ # 1. {Evaluation}[link:rdoc/interp_rdoc.html#label-Evaluation]
18
+ # 1. {Finding and acceleration}[link:rdoc/interp_rdoc.html#label-Finding+and+acceleration]
19
+ #
20
+ # == Interpolation Classes
21
21
  # * GSL
22
22
  # * Interp (class)
23
23
  # * Accel (class)
24
24
  # * Spline (class)
25
- #
26
- # == {}[link:index.html"name="2] Initializing interpolation objects
25
+ #
26
+ # == Initializing interpolation objects
27
27
  #
28
28
  # ---
29
29
  # * GSL::Interp.alloc(T, n)
30
30
  # * GSL::Interp.alloc(T, x, y)
31
31
  # * GSL::Interp.alloc(x, y)
32
32
  #
33
- # These methods create an interpolation object of type <tt>T</tt> for <tt>n</tt>
33
+ # These methods create an interpolation object of type <tt>T</tt> for <tt>n</tt>
34
34
  # data-points.
35
35
  #
36
- # The library provides six types, which are specifiled by an identifier of a
36
+ # The library provides six types, which are specifiled by an identifier of a
37
37
  # constant or a string:
38
38
  #
39
39
  # * Interp::LINEAR or "linear"
40
40
  #
41
- # Linear interpolation. This interpolation method does not require any additional memory.
41
+ # Linear interpolation. This interpolation method does not require any additional memory.
42
42
  # * Interp::POLYNOMIAL or "polynomial"
43
43
  #
44
44
  # Polynomial interpolation. This method should only be used for interpolating small numbers of points because polynomial interpolation introduces large oscillations, even for well-behaved datasets. The number of terms in the interpolating polynomial is equal to the number of points.
@@ -49,24 +49,24 @@
49
49
  # * Interp::CSPLINE_PERIODIC or "gsl_cspline_periodic" or "cspline_periodic"
50
50
  #
51
51
  # Cubic spline with periodic boundary conditions
52
- # * Interp::AKIMA or "akima"
52
+ # * Interp::AKIMA or "akima"
53
53
  #
54
54
  # Non-rounded Akima spline with natural boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.
55
- # * Interp::AKIMA_PERIODIC or "akima_periodic"
55
+ # * Interp::AKIMA_PERIODIC or "akima_periodic"
56
56
  #
57
57
  # Non-rounded Akima spline with periodic boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.
58
- #
58
+ #
59
59
  # * ex: For cubic spline for 10 points,
60
60
  # sp = Interp.alloc("cspline", 10)
61
61
  #
62
62
  # ---
63
63
  # * GSL::Interp#init(xa, ya)
64
64
  #
65
- # This method initializes the interpolation object interp for the data
66
- # <tt>(xa,ya)</tt> where <tt>xa</tt> and <tt>ya</tt> are vectors.
67
- # The interpolation object (<tt>GSL::Interp</tt>) does not save the data
68
- # vectors <tt>xa, ya</tt> and only stores the static state computed from the data.
69
- # The <tt>xa</tt> vector is always assumed to be strictly ordered; the behavior
65
+ # This method initializes the interpolation object interp for the data
66
+ # <tt>(xa,ya)</tt> where <tt>xa</tt> and <tt>ya</tt> are vectors.
67
+ # The interpolation object (<tt>GSL::Interp</tt>) does not save the data
68
+ # vectors <tt>xa, ya</tt> and only stores the static state computed from the data.
69
+ # The <tt>xa</tt> vector is always assumed to be strictly ordered; the behavior
70
70
  # for other arrangements is not defined.
71
71
  #
72
72
  #
@@ -80,27 +80,27 @@
80
80
  # ---
81
81
  # * GSL::Interp#min_size
82
82
  #
83
- # This returns the minimum number of points required by the interpolation
84
- # type of <tt>self</tt>. For example, Akima spline interpolation requires
83
+ # This returns the minimum number of points required by the interpolation
84
+ # type of <tt>self</tt>. For example, Akima spline interpolation requires
85
85
  # a minimum of 5 points.
86
86
  #
87
- # == {}[link:index.html"name="3] Index Look-up and Acceleration
87
+ # == Index Look-up and Acceleration
88
88
  # ---
89
89
  # * GSL::Interp.bsearch(xa, x, index_lo, index_hi)
90
90
  #
91
- # This returns the index i of the vector <tt>xa</tt> such that
92
- # <tt>xa[i] <= x < x[i+1]</tt>. The index is searched for in the range
91
+ # This returns the index i of the vector <tt>xa</tt> such that
92
+ # <tt>xa[i] <= x < x[i+1]</tt>. The index is searched for in the range
93
93
  # <tt>[index_lo,index_hi]</tt>.
94
94
  #
95
95
  #
96
96
  # ---
97
97
  # * GSL::Interp#accel
98
98
  #
99
- # In C level, the library requires a <tt>gsl_interp_accel</tt> object,
100
- # but it is hidden in Ruby/GSL. It is automatically allocated
101
- # when a <tt>GSL::Interp</tt> object is created, stored in it,
102
- # and destroyed when the <tt>Interp</tt> object
103
- # is cleaned by the Ruby GC.
99
+ # In C level, the library requires a <tt>gsl_interp_accel</tt> object,
100
+ # but it is hidden in Ruby/GSL. It is automatically allocated
101
+ # when a <tt>GSL::Interp</tt> object is created, stored in it,
102
+ # and destroyed when the <tt>Interp</tt> object
103
+ # is cleaned by the Ruby GC.
104
104
  # This method is used to access to the <tt>Interp::Accel</tt> object
105
105
  # stored in <tt>self</tt>.
106
106
  #
@@ -109,54 +109,54 @@
109
109
  # * GSL::Interp#accel_find(xa, x)
110
110
  # * GSL::Interp::Accel#find(xa, x)
111
111
  #
112
- # This method performs a lookup action on the data array <tt>xa</tt>.
113
- # This is how lookups are performed during evaluation
114
- # of an interpolation. The function returns an index <tt>i</tt> such that
112
+ # This method performs a lookup action on the data array <tt>xa</tt>.
113
+ # This is how lookups are performed during evaluation
114
+ # of an interpolation. The function returns an index <tt>i</tt> such that
115
115
  # <tt>xa[i] <= x < xa[i+1]</tt>.
116
116
  #
117
117
  #
118
- # == {}[link:index.html"name="4] Evaluation of Interpolating Functions
118
+ # == Evaluation of Interpolating Functions
119
119
  #
120
120
  # ---
121
121
  # * GSL::Interp#eval(xa, ya, x)
122
122
  # * GSL::Interp#eval_e(xa, ya, x)
123
123
  #
124
- # These methods return the interpolated value for a given point <tt>x</tt>,
124
+ # These methods return the interpolated value for a given point <tt>x</tt>,
125
125
  # using the interpolation object <tt>self</tt>, data vectors <tt>xa</tt> and <tt>ya</tt>.
126
126
  # The data <tt>x</tt> can be a <tt>Numeric, Vector, Matrix</tt> or an <tt>NArray</tt>.
127
127
  # ---
128
128
  # * GSL::Interp#eval_deriv(xa, ya, x)
129
129
  # * GSL::Interp#eval_deriv_e(xa, ya, x)
130
130
  #
131
- # These methods return the derivative of an interpolated function for a
132
- # given point <tt>x</tt>, using the interpolation object <tt>self</tt>,
131
+ # These methods return the derivative of an interpolated function for a
132
+ # given point <tt>x</tt>, using the interpolation object <tt>self</tt>,
133
133
  # data vectors <tt>xa</tt> and <tt>ya</tt>.
134
134
  #
135
135
  # ---
136
136
  # * GSL::Interp#eval_deriv2(xa, ya, x)
137
137
  # * GSL::Interp#eval_deriv2_e(xa, ya, x)
138
138
  #
139
- # These methods return the second derivative of an interpolated function
140
- # for a given point <tt>x</tt>, using the interpolation object <tt>self</tt>,
139
+ # These methods return the second derivative of an interpolated function
140
+ # for a given point <tt>x</tt>, using the interpolation object <tt>self</tt>,
141
141
  # data vectors <tt>xa</tt> and <tt>ya</tt>.
142
142
  #
143
143
  # ---
144
144
  # * GSL::Interp#eval_integ(xa, ya, a, b)
145
145
  # * GSL::Interp#eval_integ_e(xa, ya, a, b)
146
146
  #
147
- # These methods return the numerical integral result of an interpolated
148
- # function over the range <tt>[a, b]</tt>, using the interpolation object <tt>self</tt>,
147
+ # These methods return the numerical integral result of an interpolated
148
+ # function over the range <tt>[a, b]</tt>, using the interpolation object <tt>self</tt>,
149
149
  # data vectors <tt>xa</tt> and <tt>ya</tt>.
150
150
  #
151
- # == {}[link:index.html"name="5] Higher level interface: GSL::Spline class
152
- # === {}[link:index.html"name="5.1] Class initialization
151
+ # == Higher level interface
152
+ # === Class initialization
153
153
  #
154
154
  # ---
155
155
  # * GSL::Spline.alloc(T, n)
156
156
  # * GSL::Spline.alloc(T, x, y)
157
157
  # * GSL::Spline.alloc(x, y, T)
158
158
  #
159
- # This creates a <tt>GSL::Spline</tt> object of type <tt>T</tt> for <tt>n</tt>
159
+ # This creates a <tt>GSL::Spline</tt> object of type <tt>T</tt> for <tt>n</tt>
160
160
  # data-points. The type <tt>T</tt> is the same as <tt>GSL::Interp</tt> class.
161
161
  #
162
162
  # These two are equivalent.
@@ -170,8 +170,8 @@
170
170
  # ---
171
171
  # * GSL::Spline#init(xa, ya)
172
172
  #
173
- # This initializes a <tt>GSL::Spline</tt> object <tt>self</tt> for the data
174
- # (<tt>xa, ya</tt>) where <tt>xa</tt> and <tt>ya</tt> are Ruby arrays of equal sizes
173
+ # This initializes a <tt>GSL::Spline</tt> object <tt>self</tt> for the data
174
+ # (<tt>xa, ya</tt>) where <tt>xa</tt> and <tt>ya</tt> are Ruby arrays of equal sizes
175
175
  # or <tt>GSL::Vector</tt>.
176
176
  #
177
177
  # ---
@@ -179,7 +179,7 @@
179
179
  #
180
180
  # This returns the name of the spline type used by <tt>self</tt>.
181
181
  #
182
- # === {}[link:index.html"name="5.2] Evaluation
182
+ # === Evaluation
183
183
  # ---
184
184
  # * GSL::Spline#eval(x)
185
185
  #
@@ -188,10 +188,10 @@
188
188
  #
189
189
  # NOTE: In a GSL-C program, a <tt>gsl_interp_accel</tt> object is required to use
190
190
  # the function <tt>gsl_spline_eval</tt>.
191
- # In Ruby/GSL, the <tt>gsl_interp_accel</tt> is hidden, it is automatically
192
- # allocated when a <tt>GSL::Spline</tt> object is created,
193
- # and also destroyed when the <tt>Spline</tt> object
194
- # is cleaned by the Ruby GC. The accel object can be accessed via the method
191
+ # In Ruby/GSL, the <tt>gsl_interp_accel</tt> is hidden, it is automatically
192
+ # allocated when a <tt>GSL::Spline</tt> object is created,
193
+ # and also destroyed when the <tt>Spline</tt> object
194
+ # is cleaned by the Ruby GC. The accel object can be accessed via the method
195
195
  # <tt>GSL::Spline#accel</tt>.
196
196
  #
197
197
  # ---
@@ -209,23 +209,23 @@
209
209
  #
210
210
  # Returns the numerical integral over the range [<tt>a, b</tt>].
211
211
  #
212
- # === {}[link:index.html"name="5.3] Finding and acceleration
212
+ # === Finding and acceleration
213
213
  # ---
214
214
  # * GSL::Spline#find(xa, x)
215
215
  # * GSL::Spline#accel_find(xa, x)
216
216
  #
217
- # This method performs a lookup action on the data array <tt>xa</tt>.
218
- # This is how lookups are performed during evaluation
219
- # of an interpolation. The function returns an index <tt>i</tt> such that
217
+ # This method performs a lookup action on the data array <tt>xa</tt>.
218
+ # This is how lookups are performed during evaluation
219
+ # of an interpolation. The function returns an index <tt>i</tt> such that
220
220
  # <tt>xa[i] <= x < xa[i+1]</tt>.
221
221
  #
222
222
  # See also the GSL manual and the examples in <tt>examples/</tt>
223
223
  #
224
- # {prev}[link:files/rdoc/odeiv_rdoc.html]
225
- # {next}[link:files/rdoc/diff_rdoc.html]
224
+ # {prev}[link:rdoc/odeiv_rdoc.html]
225
+ # {next}[link:rdoc/diff_rdoc.html]
226
+ #
227
+ # {Reference index}[link:rdoc/ref_rdoc.html]
228
+ # {top}[link:index.html]
226
229
  #
227
- # {Reference index}[link:files/rdoc/ref_rdoc.html]
228
- # {top}[link:files/rdoc/index_rdoc.html]
229
230
  #
230
231
  #
231
- #
@@ -1,27 +1,27 @@
1
1
  #
2
2
  # = Introduction
3
3
  #
4
- # The GNU Scientific Library ({GSL}[http://sources.redhat.com/gsl/"target="_top])
4
+ # The GNU Scientific Library ({GSL}[https://gnu.org/software/gsl/])
5
5
  # is a collection of routines for numerical computing.
6
6
  # The routines have been written from scratch in C, and present a modern Applications
7
7
  # Programming Interface (API) for C programmers, allowing wrappers to be
8
8
  # written for very high level languages. The source code is distributed
9
9
  # under the GNU General Public License.
10
10
  #
11
- # {Ruby/GSL}[http://rubyforge.org/projects/rb-gsl/"target="_top] is a Ruby
11
+ # {Ruby/GSL}[https://sciruby.github.com/rb-gsl] is a Ruby
12
12
  # extension for GSL. This provides higher-level interfaces to the GSL functions.
13
13
  #
14
- # == {}[link:index.html"name="1] Requirements
14
+ # == Requirements
15
15
  # * GSL (1.4 or later recommended)
16
16
  # * ANSI C compiler
17
17
  # * Ruby (1.8 or later recommended)
18
18
  #
19
- # == {}[link:index.html"name="2] Installation
20
- # See {here}[link:files/rdoc/index_rdoc.html].
19
+ # == Installation
20
+ # See {here}[link:index.html].
21
21
  #
22
- # {next}[link:files/rdoc/use_rdoc.html]
22
+ # {next}[link:rdoc/use_rdoc.html]
23
23
  #
24
- # {Reference index}[link:files/rdoc/ref_rdoc.html]
25
- # {top}[link:files/rdoc/index_rdoc.html]
24
+ # {Reference index}[link:rdoc/ref_rdoc.html]
25
+ # {top}[link:index.html]
26
26
  #
27
27
  #
@@ -2,23 +2,23 @@
2
2
  # = Linear Algebra
3
3
  #
4
4
  # Contents:
5
- # 1. {LU Decomposition}[link:files/rdoc/linalg_rdoc.html#1]
6
- # 1. {QR Decomposition}[link:files/rdoc/linalg_rdoc.html#2]
7
- # 1. {QR Decomposition with Column Pivoting}[link:files/rdoc/linalg_rdoc.html#3]
8
- # 1. {Singular Value Decomposition}[link:files/rdoc/linalg_rdoc.html#4]
9
- # 1. {Cholesky Decomposition}[link:files/rdoc/linalg_rdoc.html#5]
10
- # 1. {Tridiagonal Decomposition of Real Symmetric Matrices}[link:files/rdoc/linalg_rdoc.html#6]
11
- # 1. {Tridiagonal Decomposition of Hermitian Matrices}[link:files/rdoc/linalg_rdoc.html#7]
12
- # 1. {Hessenberg Decomposition of Real Matrices}[link:files/rdoc/linalg_rdoc.html#8]
13
- # 1. {Hessenberg-Triangular Decomposition of Real Matrices}[link:files/rdoc/linalg_rdoc.html#9]
14
- # 1. {Bidiagonalization}[link:files/rdoc/linalg_rdoc.html#10]
15
- # 1. {Householder Transformations}[link:files/rdoc/linalg_rdoc.html#11]
16
- # 1. {Householder solver for linear systems}[link:files/rdoc/linalg_rdoc.html#12]
17
- # 1. {Tridiagonal Systems}[link:files/rdoc/linalg_rdoc.html#13]
18
- # 1. {Balancing}[link:files/rdoc/linalg_rdoc.html#14]
19
- # 1. {NArray}[link:files/rdoc/linalg_rdoc.html#15]
20
- #
21
- # == {}[link:index.html"name="1] LU Decomposition
5
+ # 1. {LU Decomposition}[link:rdoc/linalg_rdoc.html#label-LU+Decomposition]
6
+ # 1. {QR Decomposition}[link:rdoc/linalg_rdoc.html#label-QR+decomposition]
7
+ # 1. {QR Decomposition with Column Pivoting}[link:rdoc/linalg_rdoc.html#label-QR+Decomposition+with+Column+Pivoting]
8
+ # 1. {Singular Value Decomposition}[link:rdoc/linalg_rdoc.html#label-Singular+Value+Decomposition]
9
+ # 1. {Cholesky Decomposition}[link:rdoc/linalg_rdoc.html#label-Cholesky+Decomposition]
10
+ # 1. {Tridiagonal Decomposition of Real Symmetric Matrices}[link:rdoc/linalg_rdoc.html#label-Tridiagonal+Decomposition+of+Real+Symmetric+Matrices]
11
+ # 1. {Tridiagonal Decomposition of Hermitian Matrices}[link:rdoc/linalg_rdoc.html#label-Tridiagonal+Decomposition+of+Hermitian+Matrices]
12
+ # 1. {Hessenberg Decomposition of Real Matrices}[link:rdoc/linalg_rdoc.html#label-Hessenberg+Decomposition+of+Real+Matrices]
13
+ # 1. {Hessenberg-Triangular Decomposition of Real Matrices}[link:rdoc/linalg_rdoc.html#label-Hessenberg-Triangular+Decomposition+of+Real+Matrices]
14
+ # 1. {Bidiagonalization}[link:rdoc/linalg_rdoc.html#label-Bidiagonalization]
15
+ # 1. {Householder Transformations}[link:rdoc/linalg_rdoc.html#label-Householder+Transformations]
16
+ # 1. {Householder solver for linear systems}[link:rdoc/linalg_rdoc.html#label-Householder+solver+for+linear+systems]
17
+ # 1. {Tridiagonal Systems}[link:rdoc/linalg_rdoc.html#label-Tridiagonal+Systems]
18
+ # 1. {Balancing}[link:rdoc/linalg_rdoc.html#label-Balancing]
19
+ # 1. {NArray}[link:rdoc/linalg_rdoc.html#label-NArray]
20
+ #
21
+ # == LU Decomposition
22
22
  # ---
23
23
  # * GSL::Linalg::LU.decomp(A)
24
24
  # * GSL::Matrix#LU_decomp
@@ -31,9 +31,9 @@
31
31
  # 1. Singleton method of the <tt>GSL::Linalg::LU</tt> module
32
32
  #
33
33
  # >> m = Matrix[1..9, 3, 3]
34
- # => GSL::Matrix:
35
- # [ 1.000e+00 2.000e+00 3.000e+00
36
- # 4.000e+00 5.000e+00 6.000e+00
34
+ # => GSL::Matrix:
35
+ # [ 1.000e+00 2.000e+00 3.000e+00
36
+ # 4.000e+00 5.000e+00 6.000e+00
37
37
  # 7.000e+00 8.000e+00 9.000e+00 ]
38
38
  # >> lu, perm, sign = Linalg::LU.decomp(m)
39
39
  #
@@ -47,7 +47,7 @@
47
47
  # * GSL::Matrix#LU_solve(b)
48
48
  # * GSL::Linalg::LUMatrix#solve(perm, b)
49
49
  #
50
- # The following is an example to solve a linear system
50
+ # The following is an example to solve a linear system
51
51
  #
52
52
  # A x = b, b = [1, 2, 3, 4]
53
53
  #
@@ -57,20 +57,20 @@
57
57
  #
58
58
  # A = Matrix[[0.18, 0.60, 0.57, 0.96], [0.41, 0.24, 0.99, 0.58],
59
59
  # [0.14, 0.30, 0.97, 0.66], [0.51, 0.13, 0.19, 0.85]]
60
- # lu, perm, sign = A.LU_decomp
60
+ # lu, perm, sign = A.LU_decomp
61
61
  # b = Vector[1, 2, 3, 4]
62
- # x = Linalg::LU.solve(lu, perm, b)
62
+ # x = Linalg::LU.solve(lu, perm, b)
63
63
  #
64
64
  # 1. Instance method of <tt>GSL::Linalg::LUMatrix</tt> class
65
65
  #
66
66
  # lu, perm, sign = A.LU_decomp # lu is an instance of Linalg::LUMatrix class
67
67
  # b = Vector[1, 2, 3, 4]
68
- # x = lu.solve(perm, b)
68
+ # x = lu.solve(perm, b)
69
69
  #
70
70
  # 1. Solve directly
71
71
  #
72
72
  # x = Linalg::LU.solve(A, b) # LU decomposition is calculated internally (A is not modified)
73
- #
73
+ #
74
74
  # ---
75
75
  # * GSL::Linalg::LU.svx(A, b)
76
76
  # * GSL::Linalg::LU.svx(lu, perm, b)
@@ -83,7 +83,7 @@
83
83
  # ---
84
84
  # * GSL::Linalg::LU.refine(A, lu, perm, b, x)
85
85
  #
86
- # This method applys an iterative improvement to <tt>x</tt>,
86
+ # This method applys an iterative improvement to <tt>x</tt>,
87
87
  # the solution of <tt>A x = b</tt>, using the LU decomposition of <tt>A</tt>.
88
88
  #
89
89
  # ---
@@ -102,9 +102,9 @@
102
102
  #
103
103
  # These methods return the determinant of the matrix.
104
104
  #
105
- # === {}[link:index.html"name="1.1] {Complex LU decomposition}[link:files/rdoc/linalg_complex_rdoc.html]
105
+ # === {Complex LU decomposition}[link:rdoc/linalg_complex_rdoc.html]
106
106
  #
107
- # == {}[link:index.html"name="2] QR decomposition
107
+ # == QR decomposition
108
108
  #
109
109
  # ---
110
110
  # * GSL::Linalg::QR_decomp(A)
@@ -142,7 +142,7 @@
142
142
  # * Ex4:
143
143
  # qr, tau = m.QR_decomp
144
144
  # x = qr.solve(tau, b)
145
- #
145
+ #
146
146
  # ---
147
147
  # * GSL::Linalg::QR.svx(A, x)
148
148
  # * GSL::Linalg::QR.svx(QR, tau, x)
@@ -161,26 +161,26 @@
161
161
  #
162
162
  # Ex:
163
163
  # >> m = Matrix[1..9, 3, 3]
164
- # => GSL::Matrix:
165
- # [ 1.000e+00 2.000e+00 3.000e+00
166
- # 4.000e+00 5.000e+00 6.000e+00
164
+ # => GSL::Matrix:
165
+ # [ 1.000e+00 2.000e+00 3.000e+00
166
+ # 4.000e+00 5.000e+00 6.000e+00
167
167
  # 7.000e+00 8.000e+00 9.000e+00 ]
168
168
  # >> qr, tau = m.QR_decomp
169
- # >> q, r = qr.unpack(tau)
169
+ # >> q, r = qr.unpack(tau)
170
170
  # >> q*r # Reconstruct the metrix m
171
- # => GSL::Matrix:
172
- # [ 1.000e+00 2.000e+00 3.000e+00
173
- # 4.000e+00 5.000e+00 6.000e+00
171
+ # => GSL::Matrix:
172
+ # [ 1.000e+00 2.000e+00 3.000e+00
173
+ # 4.000e+00 5.000e+00 6.000e+00
174
174
  # 7.000e+00 8.000e+00 9.000e+00 ]
175
175
  #
176
176
  # ---
177
177
  # * GSL::Linalg::QR.QRsolve(Q, R, tau)
178
178
  #
179
- # This method solves the system <tt>R x = Q^T b</tt> for <tt>x</tt>.
180
- # It can be used when the QR decomposition of a matrix is available
179
+ # This method solves the system <tt>R x = Q^T b</tt> for <tt>x</tt>.
180
+ # It can be used when the QR decomposition of a matrix is available
181
181
  # in unpacked form as <tt>Q,R</tt>.
182
182
  #
183
- # == {}[link:index.html"name="3] QR Decomposition with Column Pivoting
183
+ # == QR Decomposition with Column Pivoting
184
184
  # ---
185
185
  # * GSL::Linalg::QRPT.decomp(A)
186
186
  # * GSL::Matrix#QRPT_decomp
@@ -214,7 +214,7 @@
214
214
  # * GSL::Matrix#QRPT_solve(A, b)
215
215
  # * GSL::Linalg::QRPQMatrix#solve(qr, tau, perm, b)
216
216
  #
217
- # These methods solve the system <tt>A x = b</tt> using the QRP^T decomposition of
217
+ # These methods solve the system <tt>A x = b</tt> using the QRP^T decomposition of
218
218
  # <tt>A</tt> into <tt>QR, tau, perm</tt>. The solution <tt>x</tt> is returned as a Vector.
219
219
  #
220
220
  # * Ex1:
@@ -234,15 +234,15 @@
234
234
  # * GSL::Linalg::QRPT.svx(qr, tau, perm, b)
235
235
  # * GSL::Matrix#QRPT_svx(A, b)
236
236
  #
237
- # These methods solve the system <tt>A x = b</tt> using the QRP^T decomposition of
237
+ # These methods solve the system <tt>A x = b</tt> using the QRP^T decomposition of
238
238
  # <tt>A</tt> into <tt>QR, tau, perm</tt>. The input <tt>b</tt> is overwritten by the solution
239
239
  # <tt>x</tt>.
240
240
  #
241
241
  # ---
242
242
  # * GSL::Linalg::QRPT.QRsolve(q, r, tau, perm, b)
243
243
  #
244
- # This method solves the system <tt>R P^T x = Q^T b</tt> for x.
245
- # It can be used when the QR decomposition of a matrix is available in
244
+ # This method solves the system <tt>R P^T x = Q^T b</tt> for x.
245
+ # It can be used when the QR decomposition of a matrix is available in
246
246
  # unpacked form as <tt>q, r</tt> obtained by the method <tt>decomp2</tt>.
247
247
  #
248
248
  # * Ex:
@@ -257,51 +257,51 @@
257
257
  # * GSL::Linalg::QRPTMatrix#Rsvx(perm, b)
258
258
  #
259
259
  #
260
- # == {}[link:index.html"name="4] Singular Value Decomposition
260
+ # == Singular Value Decomposition
261
261
  # ---
262
262
  # * GSL::Linalg::SV.decomp(A[, work])
263
- # * GSL::Matrix#SV_decomp([work])
263
+ # * \GSL::Matrix#SV_decomp([work])
264
264
  #
265
- # These methods factorize the M-by-N matrix <tt>A</tt> into the singular value
265
+ # These methods factorize the M-by-N matrix <tt>A</tt> into the singular value
266
266
  # decomposition <tt>A = U S V^T</tt> using the Golub-Reinsch SVD algorithm,
267
267
  # and return an array <tt>[U, V, S]</tt>.
268
268
  #
269
- # Ex:
269
+ # Ex:
270
270
  # >> m = Matrix[[3, 5, 2], [5, 1, 4], [7, 6, 3]]
271
- # => GSL::Matrix:
272
- # [ 3.000e+00 5.000e+00 2.000e+00
273
- # 5.000e+00 1.000e+00 4.000e+00
271
+ # => GSL::Matrix:
272
+ # [ 3.000e+00 5.000e+00 2.000e+00
273
+ # 5.000e+00 1.000e+00 4.000e+00
274
274
  # 7.000e+00 6.000e+00 3.000e+00 ]
275
275
  # >> u, v, s = m.SV_decomp # u, v: Matrix, s: Vector (singular values)
276
276
  # >> u*u.trans # u is orthnormal
277
- # => GSL::Matrix:
278
- # [ 1.000e+00 2.452e-17 -4.083e-16
279
- # 2.452e-17 1.000e+00 -3.245e-16
277
+ # => GSL::Matrix:
278
+ # [ 1.000e+00 2.452e-17 -4.083e-16
279
+ # 2.452e-17 1.000e+00 -3.245e-16
280
280
  # -4.083e-16 -3.245e-16 1.000e+00 ]
281
281
  # >> v*v.trans # v is also orthnormal
282
- # => GSL::Matrix:
283
- # [ 1.000e+00 3.555e-17 -1.867e-16
284
- # 3.555e-17 1.000e+00 -1.403e-16
282
+ # => GSL::Matrix:
283
+ # [ 1.000e+00 3.555e-17 -1.867e-16
284
+ # 3.555e-17 1.000e+00 -1.403e-16
285
285
  # -1.867e-16 -1.403e-16 1.000e+00 ]
286
286
  # >> u*Matrix.diagonal(s)*v.trans # Reconstruct the matrix
287
- # => GSL::Matrix:
288
- # [ 3.000e+00 5.000e+00 2.000e+00
289
- # 5.000e+00 1.000e+00 4.000e+00
287
+ # => GSL::Matrix:
288
+ # [ 3.000e+00 5.000e+00 2.000e+00
289
+ # 5.000e+00 1.000e+00 4.000e+00
290
290
  # 7.000e+00 6.000e+00 3.000e+00 ]
291
291
  #
292
292
  # ---
293
293
  # * GSL::Linalg::SV.decomp_mod(A)
294
294
  # * GSL::Matrix#SV_decomp_mod
295
295
  #
296
- # These compute the SVD using the modified Golub-Reinsch algorithm,
296
+ # These compute the SVD using the modified Golub-Reinsch algorithm,
297
297
  # which is faster for M>>N.
298
298
  #
299
299
  # ---
300
300
  # * GSL::Linalg::SV.decomp_jacobi(A)
301
301
  # * GSL::Matrix#SV_decomp_jacobi
302
302
  #
303
- # These compute the SVD using one-sided Jacobi orthogonalization.
304
- # The Jacobi method can compute singular values to higher relative accuracy
303
+ # These compute the SVD using one-sided Jacobi orthogonalization.
304
+ # The Jacobi method can compute singular values to higher relative accuracy
305
305
  # than Golub-Reinsch algorithms.
306
306
  #
307
307
  # ---
@@ -309,7 +309,7 @@
309
309
  # * GSL::Linalg::SV.solve(U, V, S, b)
310
310
  # * GSL::Matrix#SV_solve(b)
311
311
  #
312
- # These methods solve the system <tt>A x = b</tt> using the singular value
312
+ # These methods solve the system <tt>A x = b</tt> using the singular value
313
313
  # decomposition <tt>U, S, V</tt> of <tt>A</tt>.
314
314
  #
315
315
  # * Ex1:
@@ -322,39 +322,39 @@
322
322
  # * Ex3:
323
323
  # x = m.SV_solve(b)
324
324
  #
325
- # == {}[link:index.html"name="6] Cholesky Decomposition
326
- # A symmetric, positive definite square matrix <tt>A</tt> has a Cholesky decomposition
327
- # into a product of a lower triangular matrix L and its transpose L^T,
328
- # as <tt>A = L L^T</tt>. This is sometimes referred to as taking the square-root of a
329
- # matrix. The Cholesky decomposition can only be carried out when all the eigenvalues
330
- # of the matrix are positive. This decomposition can be used to convert the linear
331
- # system <tt>A x = b</tt> into a pair of triangular systems (<tt>L y = b, L^T x = y</tt>),
325
+ # == Cholesky Decomposition
326
+ # A symmetric, positive definite square matrix <tt>A</tt> has a Cholesky decomposition
327
+ # into a product of a lower triangular matrix L and its transpose L^T,
328
+ # as <tt>A = L L^T</tt>. This is sometimes referred to as taking the square-root of a
329
+ # matrix. The Cholesky decomposition can only be carried out when all the eigenvalues
330
+ # of the matrix are positive. This decomposition can be used to convert the linear
331
+ # system <tt>A x = b</tt> into a pair of triangular systems (<tt>L y = b, L^T x = y</tt>),
332
332
  # which can be solved by forward and back-substitution.
333
333
  #
334
334
  # ---
335
335
  # * GSL::Linalg::Cholesky.decomp(A)
336
336
  #
337
- # This method factorizes the positive-definite square matrix <tt>A</tt>
338
- # into the Cholesky decomposition <tt>A = L L^T</tt>.
339
- # The upper triangular part of the matrix returned contains L^T, the diagonal terms
340
- # being identical for both L and L^T. If the matrix is not positive-definite
337
+ # This method factorizes the positive-definite square matrix <tt>A</tt>
338
+ # into the Cholesky decomposition <tt>A = L L^T</tt>.
339
+ # The upper triangular part of the matrix returned contains L^T, the diagonal terms
340
+ # being identical for both L and L^T. If the matrix is not positive-definite
341
341
  # then the decomposition will fail.
342
342
  #
343
- # Ex:
343
+ # Ex:
344
344
  # >> m = Matrix.pascal(3)
345
345
  # => GSL::Matrix
346
- # [ 1.000e+00 1.000e+00 1.000e+00
347
- # 1.000e+00 2.000e+00 3.000e+00
346
+ # [ 1.000e+00 1.000e+00 1.000e+00
347
+ # 1.000e+00 2.000e+00 3.000e+00
348
348
  # 1.000e+00 3.000e+00 6.000e+00 ]
349
349
  # >> c = Linalg::Cholesky.decomp(m)
350
350
  # => GSL::Linalg::Cholesky::CholeskyMatrix
351
- # [ 1.000e+00 1.000e+00 1.000e+00
352
- # 1.000e+00 1.000e+00 2.000e+00
351
+ # [ 1.000e+00 1.000e+00 1.000e+00
352
+ # 1.000e+00 1.000e+00 2.000e+00
353
353
  # 1.000e+00 2.000e+00 1.000e+00 ]
354
354
  # >> l = c.lower
355
355
  # => GSL::Matrix
356
- # [ 1.000e+00 0.000e+00 0.000e+00
357
- # 1.000e+00 1.000e+00 0.000e+00
356
+ # [ 1.000e+00 0.000e+00 0.000e+00
357
+ # 1.000e+00 1.000e+00 0.000e+00
358
358
  # 1.000e+00 2.000e+00 1.000e+00 ]
359
359
  # >> (l*l.trans) == m
360
360
  # => true
@@ -363,122 +363,122 @@
363
363
  # * GSL::Linalg::Cholesky.solve(cholesky, b)
364
364
  # * GSL::Linalg::Cholesky.svx(cholesky, x)
365
365
  #
366
- # These methods solve the system <tt>A x = b</tt> using the Cholesky decomposition
366
+ # These methods solve the system <tt>A x = b</tt> using the Cholesky decomposition
367
367
  # of <tt>A</tt> into the matrix <tt>cholesky</tt> given by <tt>GSL::Linalg::Cholesky.decomp</tt>.
368
368
  #
369
- # === {}[link:index.html"name="5.1] {Complex Cholesky decomposition}[link:files/rdoc/cholesky_complex_rdoc.html]
369
+ # === {Complex Cholesky decomposition}[link:rdoc/cholesky_complex_rdoc.html]
370
370
  #
371
- # == {}[link:index.html"name="6] Tridiagonal Decomposition of Real Symmetric Matrices
371
+ # == Tridiagonal Decomposition of Real Symmetric Matrices
372
372
  # ---
373
373
  # * GSL::Linalg::Symmtd::decomp(A)
374
374
  #
375
- # Factorizes the symmetric square matrix <tt>A</tt> into the symmetric
375
+ # Factorizes the symmetric square matrix <tt>A</tt> into the symmetric
376
376
  # tridiagonal decomposition Q T Q^T, and returns the results
377
- # <tt>(A', tau)</tt>. On output the diagonal and subdiagonal part of the
378
- # matrix <tt>A'</tt> contain the tridiagonal matrix <tt>T</tt>.
379
- # The remaining lower triangular part of the matrix <tt>A'</tt> contains
380
- # the Householder vectors which, together with the Householder
381
- # coefficients <tt>tau</tt>, encode the orthogonal matrix <tt>Q</tt>.
382
- # This storage scheme is the same as used by LAPACK.
383
- # The upper triangular part of <tt>A</tt> is not referenced.
377
+ # <tt>(A', tau)</tt>. On output the diagonal and subdiagonal part of the
378
+ # matrix <tt>A'</tt> contain the tridiagonal matrix <tt>T</tt>.
379
+ # The remaining lower triangular part of the matrix <tt>A'</tt> contains
380
+ # the Householder vectors which, together with the Householder
381
+ # coefficients <tt>tau</tt>, encode the orthogonal matrix <tt>Q</tt>.
382
+ # This storage scheme is the same as used by LAPACK.
383
+ # The upper triangular part of <tt>A</tt> is not referenced.
384
384
  # ---
385
385
  # * GSL::Linalg::Symmtd::unpack(A', tau)
386
386
  #
387
- # Unpacks the encoded symmetric tridiagonal decomposition <tt>(A', tau)</tt>
388
- # obtained from <tt>GSL::Linalg::Symmtd::decomp</tt> into the orthogonal
389
- # matrix <tt>Q</tt>, the vector of diagonal elements <tt>diag</tt>
390
- # and the vector of subdiagonal elements <tt>subdiag</tt>.
387
+ # Unpacks the encoded symmetric tridiagonal decomposition <tt>(A', tau)</tt>
388
+ # obtained from <tt>GSL::Linalg::Symmtd::decomp</tt> into the orthogonal
389
+ # matrix <tt>Q</tt>, the vector of diagonal elements <tt>diag</tt>
390
+ # and the vector of subdiagonal elements <tt>subdiag</tt>.
391
391
  # ---
392
392
  # * GSL::Linalg::Symmtd::unpack_T(A', tau)
393
393
  #
394
- # Unpacks the diagonal and subdiagonal of the encoded symmetric tridiagonal
395
- # decomposition <tt>(A', tau)</tt> obtained from
396
- # <tt>GSL::Linalg::Symmtd::decomp</tt> into the vectors
397
- # <tt>diag</tt> and <tt>subdiag</tt>.
394
+ # Unpacks the diagonal and subdiagonal of the encoded symmetric tridiagonal
395
+ # decomposition <tt>(A', tau)</tt> obtained from
396
+ # <tt>GSL::Linalg::Symmtd::decomp</tt> into the vectors
397
+ # <tt>diag</tt> and <tt>subdiag</tt>.
398
398
  #
399
- # == {}[link:index.html"name="7] Tridiagonal Decomposition of Hermitian Matrices
399
+ # == Tridiagonal Decomposition of Hermitian Matrices
400
400
  # ---
401
401
  # * GSL::Linalg::Hermtd::decomp(A)
402
402
  #
403
- # Factorizes the hermitian matrix <tt>A</tt> into the symmetric tridiagonal
404
- # decomposition U T U^T, and returns the result as <tt>(A', tau)</tt>.
403
+ # Factorizes the hermitian matrix <tt>A</tt> into the symmetric tridiagonal
404
+ # decomposition U T U^T, and returns the result as <tt>(A', tau)</tt>.
405
405
  # On output the real parts of the diagonal and subdiagonal part of the
406
- # matrix <tt>A'</tt> contain the tridiagonal matrix <tt>T</tt>.
407
- # The remaining lower triangular part of the matrix <tt>A'</tt> contains
408
- # the Householder vectors which, together with the Householder
409
- # coefficients <tt>tau</tt>, encode the orthogonal matrix <tt>Q</tt>.
410
- # This storage scheme is the same as used by LAPACK.
411
- # The upper triangular part of <tt>A</tt> and imaginary parts of the diagonal
412
- # are not referenced.
406
+ # matrix <tt>A'</tt> contain the tridiagonal matrix <tt>T</tt>.
407
+ # The remaining lower triangular part of the matrix <tt>A'</tt> contains
408
+ # the Householder vectors which, together with the Householder
409
+ # coefficients <tt>tau</tt>, encode the orthogonal matrix <tt>Q</tt>.
410
+ # This storage scheme is the same as used by LAPACK.
411
+ # The upper triangular part of <tt>A</tt> and imaginary parts of the diagonal
412
+ # are not referenced.
413
413
  #
414
414
  # ---
415
415
  # * GSL::Linalg::Hermtd::unpack(A', tau)
416
416
  #
417
- # Unpacks the encoded tridiagonal decomposition <tt>(A', tau)</tt>
418
- # obtained from <tt>GSL::Linalg::Hermtd::decomp</tt> into the unitary matrix
419
- # <tt>U</tt>, the real vector of diagonal elements <tt>diag</tt> and
420
- # the real vector of subdiagonal elements <tt>subdiag</tt>.
417
+ # Unpacks the encoded tridiagonal decomposition <tt>(A', tau)</tt>
418
+ # obtained from <tt>GSL::Linalg::Hermtd::decomp</tt> into the unitary matrix
419
+ # <tt>U</tt>, the real vector of diagonal elements <tt>diag</tt> and
420
+ # the real vector of subdiagonal elements <tt>subdiag</tt>.
421
421
  #
422
422
  # ---
423
423
  # * GSL::Linalg::Hermtd::unpack_T(A', tau)
424
424
  #
425
- # Unpacks the diagonal and subdiagonal of the encoded tridiagonal
426
- # decomposition <tt>(A, tau)</tt> obtained from the
427
- # <tt>GSL::Linalg::Hermtd::decomp</tt>
428
- # into the real vectors <tt>diag</tt> and <tt>subdiag</tt>.
425
+ # Unpacks the diagonal and subdiagonal of the encoded tridiagonal
426
+ # decomposition <tt>(A, tau)</tt> obtained from the
427
+ # <tt>GSL::Linalg::Hermtd::decomp</tt>
428
+ # into the real vectors <tt>diag</tt> and <tt>subdiag</tt>.
429
429
  #
430
- # == {}[link:index.html"name="8] Hessenberg Decomposition of Real Matrices
430
+ # == Hessenberg Decomposition of Real Matrices
431
431
  # ---
432
432
  # * GSL::Linalg::Hessenberg::decomp(A)
433
433
  # * GSL::Linalg::hessenberg_decomp(A)
434
434
  #
435
- # Computes the Hessenberg decomposition of the matrix <tt>A</tt>
435
+ # Computes the Hessenberg decomposition of the matrix <tt>A</tt>
436
436
  # by applying the similarity transformation <tt>H = U^T A U</tt>, and returns
437
- # the result as <tt>(A', tau</tt>. On output, <tt>H</tt> is stored in the upper
438
- # portion of <tt>A'</tt>. The information required to construct the matrix
439
- # <tt>U</tt> is stored in the lower triangular portion of <tt>A'</tt>.
440
- # <tt>U</tt> is a product of N - 2 Householder matrices.
441
- # The Householder vectors are stored in the lower portion of <tt>A'</tt>
442
- # (below the subdiagonal) and the Householder coefficients are stored
437
+ # the result as <tt>(A', tau</tt>. On output, <tt>H</tt> is stored in the upper
438
+ # portion of <tt>A'</tt>. The information required to construct the matrix
439
+ # <tt>U</tt> is stored in the lower triangular portion of <tt>A'</tt>.
440
+ # <tt>U</tt> is a product of N - 2 Householder matrices.
441
+ # The Householder vectors are stored in the lower portion of <tt>A'</tt>
442
+ # (below the subdiagonal) and the Householder coefficients are stored
443
443
  # in the vector <tt>tau</tt>.
444
444
  #
445
445
  # ---
446
446
  # * GSL::Linalg::Hessenberg::unpack(A', tau)
447
447
  # * GSL::Linalg::hessenberg_unpack(A', tau)
448
448
  #
449
- # Constructs the orthogonal matrix <tt>U</tt> and returns it
450
- # from the information stored in the Hessenberg matrix <tt>A'</tt>
451
- # along with the vector <tt>tau</tt>. <tt>A'</tt> and <tt>tau</tt>
449
+ # Constructs the orthogonal matrix <tt>U</tt> and returns it
450
+ # from the information stored in the Hessenberg matrix <tt>A'</tt>
451
+ # along with the vector <tt>tau</tt>. <tt>A'</tt> and <tt>tau</tt>
452
452
  # are outputs from <tt>GSL::Linalg::Hessenberg::decomp</tt>.
453
453
  #
454
454
  # ---
455
455
  # * GSL::Linalg::Hessenberg::unpack_accum(A', tau, V = I)
456
456
  # * GSL::Linalg::hessenberg_unpack_accum(A', tau, V = I)
457
457
  #
458
- # This method is similar to <tt>GSL::Linalg::Hessenberg::unpack</tt>,
459
- # except it accumulates the matrix <tt>U</tt> into <tt>V</tt>, so that
460
- # <tt>V' = VU</tt>, and returns <tt>V</tt>. Setting V to the identity matrix
461
- # provides the same result <tt>GSL::Linalg::Hessenberg::unpack</tt>.
458
+ # This method is similar to <tt>GSL::Linalg::Hessenberg::unpack</tt>,
459
+ # except it accumulates the matrix <tt>U</tt> into <tt>V</tt>, so that
460
+ # <tt>V' = VU</tt>, and returns <tt>V</tt>. Setting V to the identity matrix
461
+ # provides the same result <tt>GSL::Linalg::Hessenberg::unpack</tt>.
462
462
  #
463
463
  # ---
464
464
  # * GSL::Linalg::Hessenberg::set_zero(A')
465
465
  # * GSL::Linalg::hessenberg_set_zero(A')
466
466
  #
467
- # Sets the lower triangular portion of <tt>A'</tt>, below the subdiagonal,
468
- # to zero.
469
- # It is useful for clearing out the Householder vectors after calling
467
+ # Sets the lower triangular portion of <tt>A'</tt>, below the subdiagonal,
468
+ # to zero.
469
+ # It is useful for clearing out the Householder vectors after calling
470
470
  # <tt>GSL::Linalg::Hessenberg::decomp</tt>.
471
471
  #
472
- # == {}[link:index.html"name="9] Hessenberg-Triangular Decomposition of Real Matrices
472
+ # == Hessenberg-Triangular Decomposition of Real Matrices
473
473
  # ---
474
474
  # * GSL::Linalg::hesstri_decomp(A, B)
475
475
  # * GSL::Linalg::hesstri_decomp(A, B, work)
476
476
  # * GSL::Linalg::hesstri_decomp(A, B, U, V)
477
477
  # * GSL::Linalg::hesstri_decomp(A, B, U, V, work)
478
478
  #
479
- # Compute the Hessenberg-Triangular decomposition of the matrix pair
479
+ # Compute the Hessenberg-Triangular decomposition of the matrix pair
480
480
  # <tt>(A, B)</tt>, and return <tt>(H, R</tt>.
481
- # If U and V are provided (they may be null), the similarity
481
+ # If U and V are provided (they may be null), the similarity
482
482
  # transformations are stored in them. <tt>work</tt> is an additional workspace
483
483
  # of length <tt>N</tt>.
484
484
  #
@@ -488,14 +488,14 @@
488
488
  # * GSL::Linalg::hesstri_decomp!(A, B, U, V)
489
489
  # * GSL::Linalg::hesstri_decomp!(A, B, U, V, work)
490
490
  #
491
- # Compute the Hessenberg-Triangular decomposition of the matrix pair
492
- # <tt>(A, B)</tt>. On output, <tt>H</tt> is stored in <tt>A</tt>,
491
+ # Compute the Hessenberg-Triangular decomposition of the matrix pair
492
+ # <tt>(A, B)</tt>. On output, <tt>H</tt> is stored in <tt>A</tt>,
493
493
  # and <tt>R</tt> is stored in <tt>B</tt>.
494
- # If U and V are provided (they may be null), the similarity
494
+ # If U and V are provided (they may be null), the similarity
495
495
  # transformations are stored in them. <tt>work</tt> is an additional workspace
496
496
  # of length <tt>N</tt>.
497
497
  #
498
- # == {}[link:index.html"name="10] Bidiagonalization
498
+ # == Bidiagonalization
499
499
  # ---
500
500
  # * GSL::Linalg::Bidiag::decomp!(A)
501
501
  # * GSL::Linalg::bidiag_decomp!(A)
@@ -512,71 +512,71 @@
512
512
  # * GSL::Linalg::bidiag_unpack_B
513
513
  #
514
514
  #
515
- # == {}[link:index.html"name="11] Householder Transformations
515
+ # == Householder Transformations
516
516
  # ---
517
517
  # * GSL::Linalg::Householder::transform(v)
518
518
  # * GSL::Linalg::HH::transform(v)
519
519
  # * GSL::Vector#householder_transform
520
520
  #
521
- # These methods prepare a Householder transformation P = I - tau v v^T
522
- # which can be used to zero all the elements of the input vector except the first.
523
- # On output the transformation is stored in the vector <tt>v</tt>
521
+ # These methods prepare a Householder transformation P = I - tau v v^T
522
+ # which can be used to zero all the elements of the input vector except the first.
523
+ # On output the transformation is stored in the vector <tt>v</tt>
524
524
  # and the scalar tau is returned.
525
525
  #
526
526
  # ---
527
527
  # * GSL::Linalg::Householder::hm(tau, v, A)
528
528
  # * GSL::Linalg::HH::hm(tau, v, A)
529
529
  #
530
- # These methods apply the Householder matrix P defined by the scalar
531
- # <tt>tau</tt> and the vector <tt>v</tt> to the left-hand side of the matrix <tt>A</tt>.
530
+ # These methods apply the Householder matrix P defined by the scalar
531
+ # <tt>tau</tt> and the vector <tt>v</tt> to the left-hand side of the matrix <tt>A</tt>.
532
532
  # On output the result P A is stored in <tt>A</tt>.
533
533
  #
534
534
  # ---
535
535
  # * GSL::Linalg::Householder::mh(tau, v, A)
536
536
  # * GSL::Linalg::HH::mh(tau, v, A)
537
537
  #
538
- # These methods apply the Householder matrix P defined by the scalar <tt>tau</tt>
539
- # and the vector <tt>v</tt> to the right-hand side of the matrix <tt>A</tt>.
538
+ # These methods apply the Householder matrix P defined by the scalar <tt>tau</tt>
539
+ # and the vector <tt>v</tt> to the right-hand side of the matrix <tt>A</tt>.
540
540
  # On output the result A P is stored in <tt>A</tt>.
541
541
  #
542
542
  # ---
543
543
  # * GSL::Linalg::Householder::hv(tau, v, w)
544
544
  # * GSL::Linalg::HH::hv(tau, v, w)
545
545
  #
546
- # These methods apply the Householder transformation P defined by the scalar
547
- # <tt>tau</tt> and the vector <tt>v</tt> to the vector <tt>w</tt>.
546
+ # These methods apply the Householder transformation P defined by the scalar
547
+ # <tt>tau</tt> and the vector <tt>v</tt> to the vector <tt>w</tt>.
548
548
  # On output the result P w is stored in <tt>w</tt>.
549
549
  #
550
- # == {}[link:index.html"name="12] Householder solver for linear systems
550
+ # == Householder solver for linear systems
551
551
  # ---
552
552
  # * GSL::Linalg::HH.solve(A, b)
553
553
  # * GSL::Matrix#HH_solve(b)
554
554
  #
555
- # These methods solve the system <tt>A x = b</tt> directly using Householder
555
+ # These methods solve the system <tt>A x = b</tt> directly using Householder
556
556
  # transformations. The matrix <tt>A</tt> is not modified.
557
557
  # ---
558
558
  # * GSL::Linalg::HH.solve!(A, b)
559
559
  # * GSL::Matrix#HH_solve!(b)
560
560
  #
561
- # These methods solve the system <tt>A x = b</tt> directly using Householder
562
- # transformations. The matrix <tt>A</tt> is destroyed by the
561
+ # These methods solve the system <tt>A x = b</tt> directly using Householder
562
+ # transformations. The matrix <tt>A</tt> is destroyed by the
563
563
  # Householder transformations.
564
564
  #
565
565
  # ---
566
566
  # * GSL::Linalg::HH.svx(A, b)
567
567
  # * GSL::Matrix#HH_svx(b)
568
568
  #
569
- # These methods solve the system <tt>A x = b</tt> in-place directly using Householder
569
+ # These methods solve the system <tt>A x = b</tt> in-place directly using Householder
570
570
  # transformations. The input vector <tt>b</tt> is replaced by the solution.
571
571
  #
572
- # == {}[link:index.html"name="13] Tridiagonal Systems
572
+ # == Tridiagonal Systems
573
573
  # ---
574
574
  # * GSL::Linglg::solve_tridiag(diag, e, f, b)
575
575
  # * GSL::Linglg::Tridiag::solve(diag, e, f, b)
576
576
  #
577
- # These methods solve the general N-by-N system A x = b where <tt>A</tt>
578
- # is tridiagonal ( N >= 2). The super-diagonal and sub-diagonal vectors <tt>e</tt>
579
- # and <tt>f</tt> must be one element shorter than the diagonal vector <tt>diag</tt>.
577
+ # These methods solve the general N-by-N system A x = b where <tt>A</tt>
578
+ # is tridiagonal ( N >= 2). The super-diagonal and sub-diagonal vectors <tt>e</tt>
579
+ # and <tt>f</tt> must be one element shorter than the diagonal vector <tt>diag</tt>.
580
580
  # The form of <tt>A</tt> for the 4-by-4 case is shown below,
581
581
  # A = ( d_0 e_0 0 0 )
582
582
  # ( f_0 d_1 e_1 0 )
@@ -587,9 +587,9 @@
587
587
  # * GSL::Linglg::solve_symm_tridiag(diag, e, b)
588
588
  # * GSL::Linglg::Tridiag::solve_symm(diag, e, b)
589
589
  #
590
- # These methods solve the general N-by-N system A x = b where <tt>A</tt> is
591
- # symmetric tridiagonal ( N >= 2). The off-diagonal vector <tt>e</tt> must
592
- # be one element shorter than the diagonal vector <tt>diag</tt>.
590
+ # These methods solve the general N-by-N system A x = b where <tt>A</tt> is
591
+ # symmetric tridiagonal ( N >= 2). The off-diagonal vector <tt>e</tt> must
592
+ # be one element shorter than the diagonal vector <tt>diag</tt>.
593
593
  # The form of <tt>A</tt> for the 4-by-4 case is shown below,
594
594
  # A = ( d_0 e_0 0 0 )
595
595
  # ( e_0 d_1 e_1 0 )
@@ -600,9 +600,9 @@
600
600
  # * GSL::Linglg::solve_cyc_tridiag(diag, e, f, b)
601
601
  # * GSL::Linglg::Tridiag::solve_cyc(diag, e, f, b)
602
602
  #
603
- # These methods solve the general N-by-N system A x = b where <tt>A</tt> is
604
- # cyclic tridiagonal ( N >= 3). The cyclic super-diagonal and sub-diagonal
605
- # vectors <tt>e</tt> and <tt>f</tt> must have the same number of elements as the
603
+ # These methods solve the general N-by-N system A x = b where <tt>A</tt> is
604
+ # cyclic tridiagonal ( N >= 3). The cyclic super-diagonal and sub-diagonal
605
+ # vectors <tt>e</tt> and <tt>f</tt> must have the same number of elements as the
606
606
  # diagonal vector <tt>diag</tt>. The form of <tt>A</tt> for the 4-by-4 case is shown below,
607
607
  # A = ( d_0 e_0 0 f_3 )
608
608
  # ( f_0 d_1 e_1 0 )
@@ -613,40 +613,40 @@
613
613
  # * GSL::Linglg::solve_symm_cyc_tridiag(diag, e, b)
614
614
  # * GSL::Linglg::Tridiag::solve_symm_cyc(diag, e, b)
615
615
  #
616
- # These methods solve the general N-by-N system A x = b where <tt>A</tt>
617
- # is symmetric cyclic tridiagonal ( N >= 3). The cyclic off-diagonal vector <tt>e</tt>
618
- # must have the same number of elements as the diagonal vector <tt>diag</tt>.
616
+ # These methods solve the general N-by-N system A x = b where <tt>A</tt>
617
+ # is symmetric cyclic tridiagonal ( N >= 3). The cyclic off-diagonal vector <tt>e</tt>
618
+ # must have the same number of elements as the diagonal vector <tt>diag</tt>.
619
619
  # The form of <tt>A</tt> for the 4-by-4 case is shown below,
620
620
  # A = ( d_0 e_0 0 e_3 )
621
621
  # ( e_0 d_1 e_1 0 )
622
622
  # ( 0 e_1 d_2 e_2 )
623
623
  # ( e_3 0 e_2 d_3 )
624
624
  #
625
- # == {}[link:index.html"name="14] Balancing
626
- # The process of balancing a matrix applies similarity transformations to
627
- # make the rows and columns have comparable norms. This is useful,
628
- # for example, to reduce roundoff errors in the solution of eigenvalue problems.
629
- # Balancing a matrix <tt>A</tt> consists of replacing <tt>A</tt> with a similar matrix
630
- # where <tt>D</tt> is a diagonal matrix whose entries are powers of the floating
631
- # point radix.
625
+ # == Balancing
626
+ # The process of balancing a matrix applies similarity transformations to
627
+ # make the rows and columns have comparable norms. This is useful,
628
+ # for example, to reduce roundoff errors in the solution of eigenvalue problems.
629
+ # Balancing a matrix <tt>A</tt> consists of replacing <tt>A</tt> with a similar matrix
630
+ # where <tt>D</tt> is a diagonal matrix whose entries are powers of the floating
631
+ # point radix.
632
632
  #
633
633
  # ---
634
634
  # * GSL::Linalg::balance(A)
635
635
  # * GSL::Linalg::balance(A, D)
636
636
  #
637
- # Calculates the balanced counterpart of <tt>A</tt> and the diagonal elements
637
+ # Calculates the balanced counterpart of <tt>A</tt> and the diagonal elements
638
638
  # of the similarity transformation. The result is returned as <tt>(A', D)</tt>.
639
639
  #
640
640
  # ---
641
641
  # * GSL::Linalg::balance!(A)
642
642
  # * GSL::Linalg::balance!(A, D)
643
643
  #
644
- # Replaces the matrix <tt>A</tt> with its balanced counterpart and
645
- # stores the diagonal elements of the similarity transformation into
646
- # the vector <tt>D</tt>.
644
+ # Replaces the matrix <tt>A</tt> with its balanced counterpart and
645
+ # stores the diagonal elements of the similarity transformation into
646
+ # the vector <tt>D</tt>.
647
647
  #
648
648
  #
649
- # == {}[link:index.html"name="15] NArray
649
+ # == NArray
650
650
  # The following Linalg methods can handle NArray objects:
651
651
  # * GSL::Linalg::
652
652
  # * LU::
@@ -658,7 +658,7 @@
658
658
  # * LU.invert(lu, perm)
659
659
  # * QR::
660
660
  # * QR.decomp(m)
661
- # * QR.solve(qr, tau, b)
661
+ # * QR.solve(qr, tau, b)
662
662
  # * QR.svx(qr, tau, bx)
663
663
  # * SV::
664
664
  # * SV.decomp(m)
@@ -672,10 +672,10 @@
672
672
  # * HH.solve(m, b)
673
673
  # * HH.svx(m, bx)
674
674
  #
675
- # {prev}[link:files/rdoc/blas_rdoc.html]
676
- # {next}[link:files/rdoc/eigen_rdoc.html]
675
+ # {prev}[link:rdoc/blas_rdoc.html]
676
+ # {next}[link:rdoc/eigen_rdoc.html]
677
677
  #
678
- # {Reference index}[link:files/rdoc/ref_rdoc.html]
679
- # {top}[link:files/rdoc/index_rdoc.html]
678
+ # {Reference index}[link:rdoc/ref_rdoc.html]
679
+ # {top}[link:index.html]
680
680
  #
681
681
  #