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
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.dirname(__FILE__) + '/lib/gsl/version'
3
+ require 'date'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'gsl'
7
+ s.version = GSL::RUBY_GSL_VERSION
8
+ s.date = Date.today.to_s
9
+
10
+ s.require_paths = %w(lib)
11
+ s.authors = ['Yoshiki Tsunesada', 'David MacMahon', 'Jens Wille', 'Daniel Mendler']
12
+ s.summary = 'Ruby interface to the GNU Scientific Library'
13
+ s.description = 'Ruby/GSL is a Ruby interface to the GNU Scientific Library, for numerical computing with Ruby'
14
+ s.email = 'mail@daniel-mendler.de'
15
+ s.extensions = Dir['ext/**/extconf.rb']
16
+ s.extra_rdoc_files = Dir['**/*.rdoc']
17
+ s.files = `git ls-files`.split("\n")
18
+ s.homepage = 'http://github.com/SciRuby/rb-gsl'
19
+ s.licenses = ['GPL-2.0']
20
+ s.rdoc_options = ['--title', "Ruby/GSL (#{GSL::RUBY_GSL_VERSION})", '--charset', 'UTF-8', '--line-numbers', '--all', '--main', 'index.rdoc', '--root', 'rdoc']
21
+ s.required_ruby_version = '>= 1.9.3'
22
+ s.requirements = ['GSL (http://www.gnu.org/software/gsl/)']
23
+
24
+ s.post_install_message = "#{s.name} can be installed with or without narray support. Please install narray before and reinstall #{s.name} if it is missing."
25
+
26
+ s.add_development_dependency 'rake-compiler', '>= 0'
27
+ s.add_development_dependency 'rake', '>= 0'
28
+ s.add_development_dependency 'test-unit', '>= 0'
29
+ end
data/lib/gsl.rb CHANGED
@@ -1,3 +1,8 @@
1
- require('narray')
2
- require('rb_gsl')
3
- require('gsl/oper.rb')
1
+ begin
2
+ require 'narray'
3
+ rescue LoadError
4
+ end
5
+
6
+ require 'gsl_native'
7
+ require 'gsl/version'
8
+ require 'gsl/oper'
@@ -1,4 +1,4 @@
1
- require("gnuplot")
1
+ require 'gnuplot'
2
2
 
3
3
  class Array
4
4
  def to_gplot
@@ -18,7 +18,7 @@ class Array
18
18
  end
19
19
  def to_gsplot
20
20
  f = ""
21
-
21
+
22
22
  if ( self[0].kind_of? Array ) then
23
23
  x = self[0]
24
24
  y = self[1]
@@ -35,7 +35,7 @@ class Array
35
35
  else
36
36
  self[0].zip( *self[1..-1] ).to_gsplot
37
37
  end
38
-
38
+
39
39
  f
40
40
  end
41
41
  end
@@ -1,68 +1,43 @@
1
- class Fixnum
2
- alias :_orig_mul :*
3
- alias :_orig_div :/
4
- def *(other)
5
- if other.kind_of?(GSL::Matrix) or other.kind_of?(GSL::Vector) or other.kind_of?(GSL::Matrix::Int) or other.kind_of?(GSL::Vector::Int) or other.kind_of?(GSL::Vector::Complex)or other.kind_of?(GSL::Matrix::Complex)
6
- other.scale(self)
7
- else
8
- if GSL.have_tensor?
9
- if other.kind_of?(GSL::Tensor) or other.kind_of?(GSL::Tensor::Int)
10
- other.scale(self)
11
- else
12
- self._orig_mul(other)
13
- end
14
- else
15
- self._orig_mul(other)
16
- end
17
- end
18
- end
1
+ module GSL::Oper
19
2
 
20
- def /(other)
21
- if other.kind_of?(GSL::Poly) or other.kind_of?(GSL::Poly::Int)
22
- a = GSL::Poly[1]; a[0] = self
23
- GSL::Rational.new(a, other)
24
- elsif other.kind_of?(GSL::Vector::Col)
25
- other.scale(1.0/GSL::pow_2(other.dnrm2))
26
- elsif other.kind_of?(GSL::Vector::Int::Col)
27
- v = other.to_f
28
- v.scale(1.0/GSL::pow_2(v.dnrm2))
29
- else
30
- self._orig_div(other)
31
- end
32
- end
33
- end
3
+ def self.included(base)
4
+ base.class_eval {
5
+ alias_method :_gsl_oper_original_mul, :*
6
+ alias_method :_gsl_oper_original_div, :/
34
7
 
35
- class Float
36
- alias :_orig_mul :*
37
- alias :_orig_div :/
8
+ def *(other)
9
+ case other
10
+ when Numeric
11
+ _gsl_oper_original_mul(other)
12
+ when GSL::Matrix, GSL::Vector,
13
+ GSL::Matrix::Int, GSL::Vector::Int,
14
+ GSL::Vector::Complex, GSL::Matrix::Complex,
15
+ *GSL.have_tensor? ? [GSL::Tensor, GSL::Tensor::Int] : []
16
+ other.scale(self)
17
+ else
18
+ _gsl_oper_original_mul(other)
19
+ end
20
+ end
38
21
 
39
- def *(other)
40
- if other.kind_of?(GSL::Matrix) or other.kind_of?(GSL::Vector) or other.kind_of?(GSL::Matrix::Int) or other.kind_of?(GSL::Vector::Int) or other.kind_of?(GSL::Vector::Complex)or other.kind_of?(GSL::Matrix::Complex)
41
- other.scale(self)
42
- else
43
- if GSL.have_tensor?
44
- if other.kind_of?(GSL::Tensor) or other.kind_of?(GSL::Tensor::Int)
45
- other.scale(self)
46
- else
47
- self._orig_mul(other)
22
+ def /(other)
23
+ case other
24
+ when Numeric
25
+ _gsl_oper_original_div(other)
26
+ when GSL::Poly, GSL::Poly::Int
27
+ a = GSL::Poly[1]; a[0] = self
28
+ GSL::Rational.new(a, other)
29
+ when GSL::Vector::Col
30
+ other.scale(self / GSL.pow_2(other.dnrm2))
31
+ when GSL::Vector::Int::Col
32
+ v = other.to_f
33
+ v.scale(self / GSL.pow_2(v.dnrm2))
34
+ else
35
+ _gsl_oper_original_div(other)
48
36
  end
49
- else
50
- self._orig_mul(other)
51
37
  end
52
- end
38
+ }
53
39
  end
54
40
 
55
- def /(other)
56
- if other.kind_of?(GSL::Poly) or other.kind_of?(GSL::Poly::Int)
57
- a = GSL::Poly[1]; a[0] = self
58
- GSL::Rational.new(a, other)
59
- elsif other.kind_of?(GSL::Vector::Col)
60
- other.scale(1.0/GSL::pow_2(other.dnrm2))
61
- elsif other.kind_of?(GSL::Vector::Int::Col)
62
- v = other.to_f
63
- v.scale(1.0/GSL::pow_2(v.dnrm2))
64
- else
65
- self._orig_div(other)
66
- end
67
- end
68
41
  end
42
+
43
+ [Fixnum, Float].each { |klass| klass.send(:include, GSL::Oper) }
@@ -0,0 +1,3 @@
1
+ module GSL
2
+ RUBY_GSL_VERSION = RB_GSL_VERSION = '1.16.0.6'
3
+ end
@@ -1,3 +1 @@
1
- require('narray')
2
- require('rb_gsl')
3
- require('gsl/oper.rb')
1
+ require 'gsl'
@@ -5,18 +5,18 @@
5
5
  #
6
6
  # The class and method descriptions below are based on references from the document of ALF (alf-1.0/doc/alf.texi) by P.Alken.
7
7
  #
8
- # == {}[link:index.html"name="1] Module structure
8
+ # == Module structure
9
9
  # * GSL::ALF (module)
10
10
  # * GSL::ALF::Workspace (Class)
11
11
  #
12
- # == {}[link:index.html"name="2] Creating ALF workspace
12
+ # == Creating ALF workspace
13
13
  # ---
14
14
  # * GSL::ALF::Workspace.alloc(lmax)
15
15
  # * GSL::ALF.alloc(lmax)
16
16
  #
17
17
  # Creates a workspace for computing associated Legendre polynomials (ALFs). The maximum ALF degree is specified by lmax. The size of this workspace is O(lmax).
18
18
  #
19
- # == {}[link:index.html"name="3] Methods
19
+ # == Methods
20
20
  # ---
21
21
  # * GSL::ALF::Workspace#params(csphase, cnorm, norm)
22
22
  #
@@ -49,7 +49,7 @@
49
49
  # must have enough length to store all the values for the polynomial
50
50
  # P_l^m(x), and the length required can be known using
51
51
  # <tt>ALF::array_size(lmax)</tt>. If a vector is not given, a new vector is
52
- # created and returned.
52
+ # created and returned.
53
53
  #
54
54
  # The indices of <tt>result</tt> (and <tt>deriv</tt> corresponding to the
55
55
  # associated Legendre function of degree <tt>l</tt> and order <tt>m</tt> can
@@ -61,7 +61,7 @@
61
61
  # * GSL::ALF::Workspace#Plm_deriv_array(lmax, x, result, deriv)
62
62
  #
63
63
  # Compute all associated Legendre polynomials P_l^m(x) and their first
64
- # derivatives dP_l^m(x)/dx for 0 <= l <= lmax, 0 <= m <= l.
64
+ # derivatives dP_l^m(x)/dx for 0 <= l <= lmax, 0 <= m <= l.
65
65
  #
66
66
  # ---
67
67
  # * GSL::ALF::array_size(lmax)
@@ -1,9 +1,9 @@
1
1
  #
2
2
  # = BLAS Support
3
3
  # The following is the list of the methods defined in <tt>GSL::Blas</tt> module.
4
- # See {GSL reference}[http://www.gnu.org/software/gsl/manual/gsl-ref_12.html#SEC212"target="_top] for details.
4
+ # See {GSL reference}[https://gnu.org/software/gsl/manual/gsl-ref_12.html#SEC212] for details.
5
5
  #
6
- # == {}[link:index.html"name="1] Level 1
6
+ # == Level 1
7
7
  # ---
8
8
  # * GSL::Blas::ddot(x, y)
9
9
  # * GSL::Vector#blas_ddot(y)
@@ -134,7 +134,7 @@
134
134
  # * GSL::Blas::drotm!(x, y, p)
135
135
  #
136
136
  #
137
- # == {}[link:index.html"name="2] Level 2
137
+ # == Level 2
138
138
  # ---
139
139
  # * GSL::Blas::dgemv(trans, a, A, x, b, y)
140
140
  # * GSL::Blas::dgemv!(trans, a, A, x, b, y)
@@ -186,7 +186,7 @@
186
186
  # * GSL::Blas::zher2!(uplo, a, x, y, A)
187
187
  #
188
188
  #
189
- # == {}[link:index.html"name="3] Level 3
189
+ # == Level 3
190
190
  # ---
191
191
  # * GSL::Blas::dgemm(transA, transB, alpha, A, B, beta, C)
192
192
  # * GSL::Blas::dgemm(A, B)
@@ -234,7 +234,7 @@
234
234
  # * GSL::Blas::zher2k(uplo, trans, diag, alpha, A, B, beta, C)
235
235
  #
236
236
  #
237
- # == {}[link:index.html"name="4] Constants
237
+ # == Constants
238
238
  # ---
239
239
  # * GSL::Blas::CblasRowMajor
240
240
  # * GSL::Blas::RowMajor
@@ -260,10 +260,10 @@
260
260
  # * GSL::Blas::Right
261
261
  #
262
262
  #
263
- # {prev}[link:files/rdoc/sort_rdoc.html]
264
- # {next}[link:files/rdoc/linalg_rdoc.html]
263
+ # {prev}[link:rdoc/sort_rdoc.html]
264
+ # {next}[link:rdoc/linalg_rdoc.html]
265
265
  #
266
- # {Reference index}[link:files/rdoc/ref_rdoc.html]
267
- # {top}[link:files/rdoc/index_rdoc.html]
266
+ # {Reference index}[link:rdoc/ref_rdoc.html]
267
+ # {top}[link:index.html]
268
268
  #
269
269
  #
@@ -2,24 +2,24 @@
2
2
  # = Basis Splines
3
3
  # This chapter describes functions for the computation of smoothing basis splines (B-splines). This is only for GSL-1.9 or later.
4
4
  #
5
- # 1. {Overview}[link:files/rdoc/bspline_rdoc.html#1]
6
- # 1. {Initializing the B-splines solver}[link:files/rdoc/bspline_rdoc.html#2]
7
- # 1. {Constructing the knots vector}[link:files/rdoc/bspline_rdoc.html#3]
8
- # 1. {Evaluation of B-splines}[link:files/rdoc/bspline_rdoc.html#4]
5
+ # 1. {Overview}[link:rdoc/bspline_rdoc.html#label-Overview]
6
+ # 1. {Initializing the B-splines solver}[link:rdoc/bspline_rdoc.html#label-Initializing+the+B-splines+solver]
7
+ # 1. {Constructing the knots vector}[link:rdoc/bspline_rdoc.html#label-Constructing+the+knots+vector]
8
+ # 1. {Evaluation of B-splines}[link:rdoc/bspline_rdoc.html#label-Evaluation+of+B-splines]
9
9
  #
10
- # == {}[link:index.html"name="1] Overview
10
+ # == Overview
11
11
  #
12
- # B-splines are commonly used as basis functions to fit smoothing curves to large data sets. To do this, the abscissa axis is broken up into some number of intervals, where the endpoints of each interval are called breakpoints. These breakpoints are then converted to knots by imposing various continuity and smoothness conditions at each interface. Given a nondecreasing knot vector t = \{t_0, t_1, \dots, t_{n+k-1\, the n basis splines of order k are defined by for i = 0, \dots, n-1. The common case of cubic B-splines is given by k = 4. The above recurrence relation can be evaluated in a numerically stable way by the de Boor algorithm.
12
+ # B-splines are commonly used as basis functions to fit smoothing curves to large data sets. To do this, the abscissa axis is broken up into some number of intervals, where the endpoints of each interval are called breakpoints. These breakpoints are then converted to knots by imposing various continuity and smoothness conditions at each interface. Given a nondecreasing knot vector t = \{t_0, t_1, \dots, t_{n+k-1\, the n basis splines of order k are defined by for i = 0, \dots, n-1. The common case of cubic B-splines is given by k = 4. The above recurrence relation can be evaluated in a numerically stable way by the de Boor algorithm.
13
13
  #
14
- # If we define appropriate knots on an interval [a,b] then the B-spline basis functions form a complete set on that interval. Therefore we can expand a smoothing function as given enough (x_j, f(x_j)) data pairs. The c_i can be readily obtained from a least-squares fit.
14
+ # If we define appropriate knots on an interval [a,b] then the B-spline basis functions form a complete set on that interval. Therefore we can expand a smoothing function as given enough (x_j, f(x_j)) data pairs. The c_i can be readily obtained from a least-squares fit.
15
15
  #
16
- # == {}[link:index.html"name="2] Initializing the B-splines solver
16
+ # == Initializing the B-splines solver
17
17
  # ---
18
18
  # * GSL::BSpline.alloc(k, nbreak)
19
19
  #
20
- # This method creates a workspace for computing B-splines of order <tt>k</tt>. The number of breakpoints is given by <tt>nbreak</tt>. This leads to <tt>n = nbreak + k - 2</tt> basis functions. Cubic B-splines are specified by <tt>k = 4</tt>. The size of the workspace is <tt>O(5k + nbreak)</tt>.
20
+ # This method creates a workspace for computing B-splines of order <tt>k</tt>. The number of breakpoints is given by <tt>nbreak</tt>. This leads to <tt>n = nbreak + k - 2</tt> basis functions. Cubic B-splines are specified by <tt>k = 4</tt>. The size of the workspace is <tt>O(5k + nbreak)</tt>.
21
21
  #
22
- # == {}[link:index.html"name="3] Constructing the knots vector
22
+ # == Constructing the knots vector
23
23
  # ---
24
24
  # * GSL::BSpline#knots(breakpts)
25
25
  #
@@ -27,16 +27,16 @@
27
27
  # ---
28
28
  # * GSL::BSpline#knots_uniform(a, b)
29
29
  #
30
- # This method assumes uniformly spaced breakpoints on [<tt>a,b</tt>] and constructs the corresponding knot vector using the previously specified <tt>nbreak</tt> parameter.
31
- # == {}[link:index.html"name="4] Evaluation of B-splines
30
+ # This method assumes uniformly spaced breakpoints on [<tt>a,b</tt>] and constructs the corresponding knot vector using the previously specified <tt>nbreak</tt> parameter.
31
+ # == Evaluation of B-splines
32
32
  # ---
33
33
  # * GSL::BSpline#eval(x[, B])
34
34
  #
35
- # This method evaluates all B-spline basis functions at the position <tt>x</tt> and stores them in <tt>B</tt> (if given), so that the ith element of <tt>B</tt> is <tt>B_i(x)</tt>. <tt>B</tt> must be of length <tt>n = nbreak + k - 2</tt>. If <tt>B</tt> is not given, a newly created vector is returned.It is far more efficient to compute all of the basis functions at once than to compute them individually, due to the nature of the defining recurrence relation.
35
+ # This method evaluates all B-spline basis functions at the position <tt>x</tt> and stores them in <tt>B</tt> (if given), so that the ith element of <tt>B</tt> is <tt>B_i(x)</tt>. <tt>B</tt> must be of length <tt>n = nbreak + k - 2</tt>. If <tt>B</tt> is not given, a newly created vector is returned.It is far more efficient to compute all of the basis functions at once than to compute them individually, due to the nature of the defining recurrence relation.
36
36
  #
37
- # {prev}[link:files/rdoc/nonlinearfit_rdoc.html]
38
- # {next}[link:files/rdoc/const_rdoc.html]
37
+ # {prev}[link:rdoc/nonlinearfit_rdoc.html]
38
+ # {next}[link:rdoc/const_rdoc.html]
39
39
  #
40
- # {Reference index}[link:files/rdoc/ref_rdoc.html]
41
- # {top}[link:files/rdoc/index_rdoc.html]
40
+ # {Reference index}[link:rdoc/ref_rdoc.html]
41
+ # {top}[link:index.html]
42
42
  #
@@ -10,12 +10,7 @@
10
10
  # The changes that could break old scripts are described below. They are
11
11
  # followed by highlights of the other enhancements and new features.
12
12
  #
13
- # A complete log of changes since Ruby/GSL version 1.10.3 can be obtained by
14
- # using Subversion's log command to look at the repository...
15
- #
16
- # svn log http://rb-gsl.rubyforge.org/svn/trunk/rb-gsl
17
- #
18
- # == {}[link:index.html"name="1] Backwards incompatibilities introduced in Ruby/GSL 1.11.2
13
+ # == Backwards incompatibilities introduced in Ruby/GSL 1.11.2
19
14
  #
20
15
  # * FFT interface has been extensively changed.
21
16
  #
@@ -39,13 +34,13 @@
39
34
  #
40
35
  # * GSL::Complex objects are now immutable.
41
36
  #
42
- # == {}[link:index.html"name="2] Enhancements and features introduced in Ruby/GSL 1.11.2
37
+ # == Enhancements and features introduced in Ruby/GSL 1.11.2
43
38
  #
44
39
  # * Now distributed and installable as a Ruby Gem.
45
40
  #
46
41
  # * Allow nil for real and/or imag in GSL::Vector::Complex#set(i,re,im) to NOT
47
- # set that component. For example, "z=GSL::Vector::Complex[1]; z[0] = [nil,
48
- # 1]" will set z[0] to GSL::Complex[0,1].
42
+ # set that component. For example, <tt>z=GSL::Vector::Complex[1]; z[0] = [nil,
43
+ # 1]</tt> will set \z[0] to \GSL::Complex[0,1].
49
44
  #
50
45
  # * Added GSL::Vector::Complex#to_s method.
51
46
  #
@@ -1,24 +1,24 @@
1
1
  #
2
2
  # = Chebyshev Approximations
3
- # This chapter describes routines for computing Chebyshev approximations to
4
- # univariate functions. A Chebyshev approximation is a truncation of the series
5
- # f(x) = \sum c_n T_n(x),
6
- # where the Chebyshev polynomials T_n(x) = \cos(n \arccos x)
7
- # provide an orthogonal basis of polynomials on the interval [-1,1]
8
- # with the weight function 1 / \sqrt{1-x^2}.
9
- # The first few Chebyshev polynomials are,
10
- # T_0(x) = 1, T_1(x) = x, T_2(x) = 2 x^2 - 1.
11
- # For further information see Abramowitz & Stegun, Chapter 22.
12
- #
13
- # 1. {GSL::Cheb class}[link:files/rdoc/cheb_rdoc.html#1]
14
- # 1. {Chebyshev Series Evaluation}[link:files/rdoc/cheb_rdoc.html#2]
15
- # 1. {Derivatives and Integrals}[link:files/rdoc/cheb_rdoc.html#3]
16
- # 1. {Examples}[link:files/rdoc/cheb_rdoc.html#4]
17
- #
18
- # == {}[link:index.html"name="1] <tt>GSL::Cheb</tt> class
3
+ # This chapter describes routines for computing Chebyshev approximations to
4
+ # univariate functions. A Chebyshev approximation is a truncation of the series
5
+ # f(x) = \sum c_n T_n(x),
6
+ # where the Chebyshev polynomials T_n(x) = \cos(n \arccos x)
7
+ # provide an orthogonal basis of polynomials on the interval [-1,1]
8
+ # with the weight function 1 / \sqrt{1-x^2}.
9
+ # The first few Chebyshev polynomials are,
10
+ # T_0(x) = 1, T_1(x) = x, T_2(x) = 2 x^2 - 1.
11
+ # For further information see Abramowitz & Stegun, Chapter 22.
12
+ #
13
+ # 1. {GSL::Cheb class}[link:rdoc/cheb_rdoc.html#label-Cheb+class]
14
+ # 1. {Chebyshev Series Evaluation}[link:rdoc/cheb_rdoc.html#label-Chebyshev+Series+Evaluation]
15
+ # 1. {Derivatives and Integrals}[link:rdoc/cheb_rdoc.html#label-Derivatives+and+Integrals]
16
+ # 1. {Examples}[link:rdoc/cheb_rdoc.html#label-Example]
17
+ #
18
+ # == <tt>Cheb</tt> class
19
19
  #
20
20
  # ---
21
- # * GSL::Cheb.alloc(n)
21
+ # * GSL::Cheb.alloc(n)
22
22
  #
23
23
  # This create an instance of the GSL::Cheb class for a Chebyshev series of order n.
24
24
  #
@@ -26,7 +26,7 @@
26
26
  # ---
27
27
  # * GSL::Cheb#init(f, a, b)
28
28
  #
29
- # This computes the Chebyshev approximation the function <tt>f</tt> over the range (<tt>a,b</tt>) to the previously specified order. Where <tt>f</tt> is a {GSL::Function}[link:files/rdoc/function_rdoc.html] object. The computation of the Chebyshev approximation is an O(n^2) process, and requires <tt>n</tt> function evaluations.
29
+ # This computes the Chebyshev approximation the function <tt>f</tt> over the range (<tt>a,b</tt>) to the previously specified order. Where <tt>f</tt> is a {GSL::Function}[link:rdoc/function_rdoc.html] object. The computation of the Chebyshev approximation is an O(n^2) process, and requires <tt>n</tt> function evaluations.
30
30
  #
31
31
  # * ex: Approximate a step function defined in (0, 1) by a Chebyshev series of order 40.
32
32
  # f = GSL::Function.alloc { |x|
@@ -40,7 +40,7 @@
40
40
  # cs = GSL::Cheb.alloc(40)
41
41
  # cs.init(f, 0, 1)
42
42
  #
43
- # == {}[link:index.html"name="2] Chebyshev Series Evaluation
43
+ # == Chebyshev Series Evaluation
44
44
  # ---
45
45
  # * GSL::Cheb#eval(x)
46
46
  #
@@ -51,7 +51,7 @@
51
51
  #
52
52
  # This evaluates the Chebyshev series at a given point <tt>x</tt>, to (at most) the given order <tt>n</tt>.
53
53
  #
54
- # == {}[link:index.html"name="3] Derivatives and Integrals
54
+ # == Derivatives and Integrals
55
55
  #
56
56
  # ---
57
57
  # * GSL::Cheb#calc_deriv()
@@ -65,7 +65,7 @@
65
65
  #
66
66
  # This computes the integral of the series, and returns a new GSL::Cheb object which contains the computed integral coefficients. The reciever is not changed.
67
67
  #
68
- # == {}[link:index.html"name="4] Example
68
+ # == Example
69
69
  # #!/usr/bin/env ruby
70
70
  # require("gsl")
71
71
  #
@@ -91,9 +91,9 @@
91
91
  #
92
92
  # See also the example scripts in <tt>examples/cheb/</tt>.
93
93
  #
94
- # {prev}[link:files/rdoc/diff_rdoc.html]
95
- # {next}[link:files/rdoc/sum_rdoc.html]
94
+ # {prev}[link:rdoc/diff_rdoc.html]
95
+ # {next}[link:rdoc/sum_rdoc.html]
96
96
  #
97
- # {Reference index}[link:files/rdoc/ref_rdoc.html]
98
- # {top}[link:files/rdoc/index_rdoc.html]
97
+ # {Reference index}[link:rdoc/ref_rdoc.html]
98
+ # {top}[link:index.html]
99
99
  #