rb-gsl 1.16.0.5 → 1.16.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (612) hide show
  1. checksums.yaml +4 -4
  2. data/rb-gsl.gemspec +5 -10
  3. metadata +10 -713
  4. data/.gitignore +0 -12
  5. data/.travis.yml +0 -24
  6. data/AUTHORS +0 -12
  7. data/COPYING +0 -341
  8. data/ChangeLog +0 -621
  9. data/Gemfile +0 -4
  10. data/README.md +0 -77
  11. data/Rakefile +0 -20
  12. data/THANKS +0 -17
  13. data/examples/alf/alf.gp +0 -15
  14. data/examples/alf/alf.rb +0 -32
  15. data/examples/blas/blas.rb +0 -13
  16. data/examples/blas/dnrm2.rb +0 -16
  17. data/examples/blas/level1.rb +0 -81
  18. data/examples/blas/level2.rb +0 -11
  19. data/examples/blas/level3.rb +0 -12
  20. data/examples/bspline.rb +0 -57
  21. data/examples/cdf.rb +0 -16
  22. data/examples/cheb.rb +0 -21
  23. data/examples/combination.rb +0 -23
  24. data/examples/complex/RC-lpf.rb +0 -47
  25. data/examples/complex/add.rb +0 -36
  26. data/examples/complex/coerce.rb +0 -14
  27. data/examples/complex/complex.rb +0 -25
  28. data/examples/complex/fpmi.rb +0 -70
  29. data/examples/complex/functions.rb +0 -77
  30. data/examples/complex/michelson.rb +0 -36
  31. data/examples/complex/mul.rb +0 -28
  32. data/examples/complex/oscillator.rb +0 -17
  33. data/examples/complex/set.rb +0 -37
  34. data/examples/const/physconst.rb +0 -151
  35. data/examples/const/travel.rb +0 -45
  36. data/examples/deriv/demo.rb +0 -13
  37. data/examples/deriv/deriv.rb +0 -36
  38. data/examples/deriv/diff.rb +0 -35
  39. data/examples/dht.rb +0 -42
  40. data/examples/dirac.rb +0 -56
  41. data/examples/eigen/eigen.rb +0 -34
  42. data/examples/eigen/herm.rb +0 -22
  43. data/examples/eigen/narray.rb +0 -9
  44. data/examples/eigen/nonsymm.rb +0 -37
  45. data/examples/eigen/nonsymmv.rb +0 -43
  46. data/examples/eigen/qhoscillator.gp +0 -35
  47. data/examples/eigen/qhoscillator.rb +0 -90
  48. data/examples/eigen/vander.rb +0 -41
  49. data/examples/fft/fft.rb +0 -17
  50. data/examples/fft/fft2.rb +0 -17
  51. data/examples/fft/forward.rb +0 -25
  52. data/examples/fft/forward2.rb +0 -26
  53. data/examples/fft/radix2.rb +0 -18
  54. data/examples/fft/real-halfcomplex.rb +0 -33
  55. data/examples/fft/real-halfcomplex2.rb +0 -30
  56. data/examples/fft/realradix2.rb +0 -19
  57. data/examples/fft/sunspot.dat +0 -256
  58. data/examples/fft/sunspot.rb +0 -16
  59. data/examples/fit/expdata.dat +0 -20
  60. data/examples/fit/expfit.rb +0 -31
  61. data/examples/fit/gaussfit.rb +0 -29
  62. data/examples/fit/gaussian_2peaks.rb +0 -34
  63. data/examples/fit/hillfit.rb +0 -40
  64. data/examples/fit/lognormal.rb +0 -26
  65. data/examples/fit/lorentzfit.rb +0 -22
  66. data/examples/fit/multifit.rb +0 -72
  67. data/examples/fit/ndlinear.rb +0 -133
  68. data/examples/fit/nonlinearfit.rb +0 -89
  69. data/examples/fit/plot.gp +0 -36
  70. data/examples/fit/polyfit.rb +0 -9
  71. data/examples/fit/powerfit.rb +0 -21
  72. data/examples/fit/sigmoidfit.rb +0 -40
  73. data/examples/fit/sinfit.rb +0 -22
  74. data/examples/fit/wlinear.rb +0 -46
  75. data/examples/fresnel.rb +0 -11
  76. data/examples/function/function.rb +0 -36
  77. data/examples/function/log.rb +0 -7
  78. data/examples/function/min.rb +0 -33
  79. data/examples/function/sin.rb +0 -10
  80. data/examples/function/synchrotron.rb +0 -18
  81. data/examples/gallery/butterfly.rb +0 -7
  82. data/examples/gallery/cayley.rb +0 -12
  83. data/examples/gallery/cornu.rb +0 -23
  84. data/examples/gallery/eight.rb +0 -11
  85. data/examples/gallery/koch.rb +0 -40
  86. data/examples/gallery/lemniscate.rb +0 -11
  87. data/examples/gallery/polar.rb +0 -11
  88. data/examples/gallery/rgplot/cossin.rb +0 -35
  89. data/examples/gallery/rgplot/rgplot.replaced +0 -0
  90. data/examples/gallery/rgplot/roesller.rb +0 -55
  91. data/examples/gallery/roesller.rb +0 -39
  92. data/examples/gallery/scarabaeus.rb +0 -14
  93. data/examples/histogram/cauchy.rb +0 -27
  94. data/examples/histogram/cauchy.sh +0 -2
  95. data/examples/histogram/exponential.rb +0 -19
  96. data/examples/histogram/gauss.rb +0 -16
  97. data/examples/histogram/gsl-histogram.rb +0 -40
  98. data/examples/histogram/histo2d.rb +0 -31
  99. data/examples/histogram/histo3d.rb +0 -34
  100. data/examples/histogram/histogram-pdf.rb +0 -27
  101. data/examples/histogram/histogram.rb +0 -26
  102. data/examples/histogram/integral.rb +0 -28
  103. data/examples/histogram/poisson.rb +0 -27
  104. data/examples/histogram/power.rb +0 -25
  105. data/examples/histogram/rebin.rb +0 -17
  106. data/examples/histogram/smp.dat +0 -5
  107. data/examples/histogram/xexp.rb +0 -21
  108. data/examples/integration/ahmed.rb +0 -21
  109. data/examples/integration/cosmology.rb +0 -75
  110. data/examples/integration/friedmann.gp +0 -16
  111. data/examples/integration/friedmann.rb +0 -35
  112. data/examples/integration/gamma-zeta.rb +0 -35
  113. data/examples/integration/integration.rb +0 -22
  114. data/examples/integration/qag.rb +0 -8
  115. data/examples/integration/qag2.rb +0 -14
  116. data/examples/integration/qag3.rb +0 -8
  117. data/examples/integration/qagi.rb +0 -28
  118. data/examples/integration/qagi2.rb +0 -49
  119. data/examples/integration/qagiu.rb +0 -29
  120. data/examples/integration/qagp.rb +0 -20
  121. data/examples/integration/qags.rb +0 -14
  122. data/examples/integration/qawc.rb +0 -18
  123. data/examples/integration/qawf.rb +0 -41
  124. data/examples/integration/qawo.rb +0 -29
  125. data/examples/integration/qaws.rb +0 -30
  126. data/examples/integration/qng.rb +0 -17
  127. data/examples/interp/demo.gp +0 -20
  128. data/examples/interp/demo.rb +0 -45
  129. data/examples/interp/interp.rb +0 -37
  130. data/examples/interp/points +0 -10
  131. data/examples/interp/spline.rb +0 -20
  132. data/examples/jacobi/deriv.rb +0 -40
  133. data/examples/jacobi/integrate.rb +0 -34
  134. data/examples/jacobi/interp.rb +0 -43
  135. data/examples/jacobi/jacobi.rb +0 -11
  136. data/examples/linalg/HH.rb +0 -15
  137. data/examples/linalg/HH_narray.rb +0 -13
  138. data/examples/linalg/LQ_solve.rb +0 -73
  139. data/examples/linalg/LU.rb +0 -84
  140. data/examples/linalg/LU2.rb +0 -31
  141. data/examples/linalg/LU_narray.rb +0 -24
  142. data/examples/linalg/PTLQ.rb +0 -47
  143. data/examples/linalg/QR.rb +0 -18
  144. data/examples/linalg/QRPT.rb +0 -47
  145. data/examples/linalg/QR_solve.rb +0 -78
  146. data/examples/linalg/QR_solve_narray.rb +0 -13
  147. data/examples/linalg/SV.rb +0 -16
  148. data/examples/linalg/SV_narray.rb +0 -12
  149. data/examples/linalg/SV_solve.rb +0 -49
  150. data/examples/linalg/chol.rb +0 -29
  151. data/examples/linalg/chol_narray.rb +0 -15
  152. data/examples/linalg/complex.rb +0 -57
  153. data/examples/linalg/invert_narray.rb +0 -10
  154. data/examples/math/const.rb +0 -67
  155. data/examples/math/elementary.rb +0 -35
  156. data/examples/math/functions.rb +0 -41
  157. data/examples/math/inf_nan.rb +0 -34
  158. data/examples/math/minmax.rb +0 -22
  159. data/examples/math/power.rb +0 -18
  160. data/examples/math/test.rb +0 -31
  161. data/examples/matrix/a.dat +0 -0
  162. data/examples/matrix/add.rb +0 -45
  163. data/examples/matrix/b.dat +0 -4
  164. data/examples/matrix/cat.rb +0 -31
  165. data/examples/matrix/colvectors.rb +0 -24
  166. data/examples/matrix/complex.rb +0 -41
  167. data/examples/matrix/det.rb +0 -29
  168. data/examples/matrix/diagonal.rb +0 -23
  169. data/examples/matrix/get_all.rb +0 -159
  170. data/examples/matrix/hilbert.rb +0 -31
  171. data/examples/matrix/iterator.rb +0 -19
  172. data/examples/matrix/matrix.rb +0 -57
  173. data/examples/matrix/minmax.rb +0 -53
  174. data/examples/matrix/mul.rb +0 -39
  175. data/examples/matrix/rand.rb +0 -20
  176. data/examples/matrix/read.rb +0 -29
  177. data/examples/matrix/rowcol.rb +0 -47
  178. data/examples/matrix/set.rb +0 -41
  179. data/examples/matrix/set_all.rb +0 -100
  180. data/examples/matrix/view.rb +0 -32
  181. data/examples/matrix/view_all.rb +0 -148
  182. data/examples/matrix/write.rb +0 -23
  183. data/examples/min.rb +0 -29
  184. data/examples/monte/miser.rb +0 -47
  185. data/examples/monte/monte.rb +0 -47
  186. data/examples/monte/plain.rb +0 -47
  187. data/examples/monte/vegas.rb +0 -46
  188. data/examples/multimin/bundle.rb +0 -66
  189. data/examples/multimin/cqp.rb +0 -109
  190. data/examples/multimin/fdfminimizer.rb +0 -40
  191. data/examples/multimin/fminimizer.rb +0 -41
  192. data/examples/multiroot/demo.rb +0 -36
  193. data/examples/multiroot/fdfsolver.rb +0 -50
  194. data/examples/multiroot/fsolver.rb +0 -33
  195. data/examples/multiroot/fsolver2.rb +0 -32
  196. data/examples/multiroot/fsolver3.rb +0 -26
  197. data/examples/narray/histogram.rb +0 -14
  198. data/examples/narray/mandel.rb +0 -27
  199. data/examples/narray/narray.rb +0 -28
  200. data/examples/narray/narray2.rb +0 -44
  201. data/examples/narray/sf.rb +0 -26
  202. data/examples/ntuple/create.rb +0 -17
  203. data/examples/ntuple/project.rb +0 -31
  204. data/examples/odeiv/binarysystem.gp +0 -23
  205. data/examples/odeiv/binarysystem.rb +0 -104
  206. data/examples/odeiv/demo.gp +0 -24
  207. data/examples/odeiv/demo.rb +0 -69
  208. data/examples/odeiv/demo2.gp +0 -26
  209. data/examples/odeiv/duffing.rb +0 -45
  210. data/examples/odeiv/frei1.rb +0 -109
  211. data/examples/odeiv/frei2.rb +0 -76
  212. data/examples/odeiv/legendre.rb +0 -52
  213. data/examples/odeiv/odeiv.rb +0 -32
  214. data/examples/odeiv/odeiv2.rb +0 -45
  215. data/examples/odeiv/oscillator.rb +0 -42
  216. data/examples/odeiv/sedov.rb +0 -97
  217. data/examples/odeiv/whitedwarf.gp +0 -40
  218. data/examples/odeiv/whitedwarf.rb +0 -158
  219. data/examples/ool/conmin.rb +0 -100
  220. data/examples/ool/gencan.rb +0 -99
  221. data/examples/ool/pgrad.rb +0 -100
  222. data/examples/ool/spg.rb +0 -100
  223. data/examples/pdf/bernoulli.rb +0 -5
  224. data/examples/pdf/beta.rb +0 -7
  225. data/examples/pdf/binomiral.rb +0 -10
  226. data/examples/pdf/cauchy.rb +0 -6
  227. data/examples/pdf/chisq.rb +0 -8
  228. data/examples/pdf/exponential.rb +0 -7
  229. data/examples/pdf/exppow.rb +0 -6
  230. data/examples/pdf/fdist.rb +0 -7
  231. data/examples/pdf/flat.rb +0 -7
  232. data/examples/pdf/gamma.rb +0 -8
  233. data/examples/pdf/gauss-tail.rb +0 -5
  234. data/examples/pdf/gauss.rb +0 -6
  235. data/examples/pdf/geometric.rb +0 -5
  236. data/examples/pdf/gumbel.rb +0 -6
  237. data/examples/pdf/hypergeometric.rb +0 -11
  238. data/examples/pdf/landau.rb +0 -5
  239. data/examples/pdf/laplace.rb +0 -7
  240. data/examples/pdf/logarithmic.rb +0 -5
  241. data/examples/pdf/logistic.rb +0 -6
  242. data/examples/pdf/lognormal.rb +0 -6
  243. data/examples/pdf/neg-binomiral.rb +0 -10
  244. data/examples/pdf/pareto.rb +0 -7
  245. data/examples/pdf/pascal.rb +0 -10
  246. data/examples/pdf/poisson.rb +0 -5
  247. data/examples/pdf/rayleigh-tail.rb +0 -6
  248. data/examples/pdf/rayleigh.rb +0 -6
  249. data/examples/pdf/tdist.rb +0 -6
  250. data/examples/pdf/weibull.rb +0 -8
  251. data/examples/permutation/ex1.rb +0 -22
  252. data/examples/permutation/permutation.rb +0 -16
  253. data/examples/poly/bell.rb +0 -6
  254. data/examples/poly/bessel.rb +0 -6
  255. data/examples/poly/cheb.rb +0 -6
  256. data/examples/poly/cheb_II.rb +0 -6
  257. data/examples/poly/cubic.rb +0 -9
  258. data/examples/poly/demo.rb +0 -20
  259. data/examples/poly/eval.rb +0 -28
  260. data/examples/poly/eval_derivs.rb +0 -14
  261. data/examples/poly/fit.rb +0 -21
  262. data/examples/poly/hermite.rb +0 -6
  263. data/examples/poly/poly.rb +0 -13
  264. data/examples/poly/quadratic.rb +0 -25
  265. data/examples/random/diffusion.rb +0 -34
  266. data/examples/random/gaussian.rb +0 -9
  267. data/examples/random/generator.rb +0 -27
  268. data/examples/random/hdsobol.rb +0 -21
  269. data/examples/random/poisson.rb +0 -9
  270. data/examples/random/qrng.rb +0 -19
  271. data/examples/random/randomwalk.rb +0 -37
  272. data/examples/random/randomwalk2d.rb +0 -19
  273. data/examples/random/rayleigh.rb +0 -36
  274. data/examples/random/rng.rb +0 -33
  275. data/examples/random/rngextra.rb +0 -14
  276. data/examples/roots/bisection.rb +0 -25
  277. data/examples/roots/brent.rb +0 -43
  278. data/examples/roots/demo.rb +0 -30
  279. data/examples/roots/newton.rb +0 -46
  280. data/examples/roots/recombination.gp +0 -11
  281. data/examples/roots/recombination.rb +0 -61
  282. data/examples/roots/steffenson.rb +0 -48
  283. data/examples/sf/ShiChi.rb +0 -6
  284. data/examples/sf/SiCi.rb +0 -6
  285. data/examples/sf/airy_Ai.rb +0 -8
  286. data/examples/sf/airy_Bi.rb +0 -8
  287. data/examples/sf/bessel_IK.rb +0 -12
  288. data/examples/sf/bessel_JY.rb +0 -13
  289. data/examples/sf/beta_inc.rb +0 -9
  290. data/examples/sf/clausen.rb +0 -6
  291. data/examples/sf/dawson.rb +0 -5
  292. data/examples/sf/debye.rb +0 -9
  293. data/examples/sf/dilog.rb +0 -6
  294. data/examples/sf/ellint.rb +0 -6
  295. data/examples/sf/expint.rb +0 -8
  296. data/examples/sf/fermi.rb +0 -10
  297. data/examples/sf/gamma_inc_P.rb +0 -9
  298. data/examples/sf/gegenbauer.rb +0 -8
  299. data/examples/sf/hyperg.rb +0 -7
  300. data/examples/sf/laguerre.rb +0 -19
  301. data/examples/sf/lambertW.rb +0 -5
  302. data/examples/sf/legendre_P.rb +0 -10
  303. data/examples/sf/lngamma.rb +0 -5
  304. data/examples/sf/psi.rb +0 -54
  305. data/examples/sf/sphbessel.gp +0 -27
  306. data/examples/sf/sphbessel.rb +0 -30
  307. data/examples/sf/synchrotron.rb +0 -5
  308. data/examples/sf/transport.rb +0 -10
  309. data/examples/sf/zetam1.rb +0 -5
  310. data/examples/siman.rb +0 -44
  311. data/examples/sort/heapsort.rb +0 -23
  312. data/examples/sort/heapsort_vector_complex.rb +0 -21
  313. data/examples/sort/sort.rb +0 -23
  314. data/examples/sort/sort2.rb +0 -16
  315. data/examples/stats/mean.rb +0 -17
  316. data/examples/stats/statistics.rb +0 -18
  317. data/examples/stats/test.rb +0 -9
  318. data/examples/sum.rb +0 -34
  319. data/examples/tamu_anova.rb +0 -18
  320. data/examples/vector/a.dat +0 -0
  321. data/examples/vector/add.rb +0 -56
  322. data/examples/vector/b.dat +0 -4
  323. data/examples/vector/c.dat +0 -3
  324. data/examples/vector/collect.rb +0 -26
  325. data/examples/vector/compare.rb +0 -28
  326. data/examples/vector/complex.rb +0 -51
  327. data/examples/vector/complex_get_all.rb +0 -85
  328. data/examples/vector/complex_set_all.rb +0 -131
  329. data/examples/vector/complex_view_all.rb +0 -77
  330. data/examples/vector/connect.rb +0 -22
  331. data/examples/vector/decimate.rb +0 -38
  332. data/examples/vector/diff.rb +0 -31
  333. data/examples/vector/filescan.rb +0 -17
  334. data/examples/vector/floor.rb +0 -23
  335. data/examples/vector/get_all.rb +0 -82
  336. data/examples/vector/gnuplot.rb +0 -38
  337. data/examples/vector/graph.rb +0 -28
  338. data/examples/vector/histogram.rb +0 -22
  339. data/examples/vector/linspace.rb +0 -24
  340. data/examples/vector/log.rb +0 -17
  341. data/examples/vector/logic.rb +0 -33
  342. data/examples/vector/logspace.rb +0 -25
  343. data/examples/vector/minmax.rb +0 -47
  344. data/examples/vector/mul.rb +0 -49
  345. data/examples/vector/narray.rb +0 -46
  346. data/examples/vector/read.rb +0 -29
  347. data/examples/vector/set.rb +0 -35
  348. data/examples/vector/set_all.rb +0 -121
  349. data/examples/vector/smpv.dat +0 -15
  350. data/examples/vector/test.rb +0 -43
  351. data/examples/vector/test_gslblock.rb +0 -58
  352. data/examples/vector/vector.rb +0 -110
  353. data/examples/vector/view.rb +0 -35
  354. data/examples/vector/view_all.rb +0 -73
  355. data/examples/vector/where.rb +0 -29
  356. data/examples/vector/write.rb +0 -24
  357. data/examples/vector/zip.rb +0 -34
  358. data/examples/wavelet/ecg.dat +0 -256
  359. data/examples/wavelet/wavelet1.rb +0 -50
  360. data/ext/gsl_native/alf.c +0 -206
  361. data/ext/gsl_native/array.c +0 -553
  362. data/ext/gsl_native/array_complex.c +0 -245
  363. data/ext/gsl_native/blas.c +0 -28
  364. data/ext/gsl_native/blas1.c +0 -733
  365. data/ext/gsl_native/blas2.c +0 -1088
  366. data/ext/gsl_native/blas3.c +0 -880
  367. data/ext/gsl_native/block.c +0 -40
  368. data/ext/gsl_native/block_source.h +0 -885
  369. data/ext/gsl_native/bspline.c +0 -122
  370. data/ext/gsl_native/bundle.c +0 -3
  371. data/ext/gsl_native/cdf.c +0 -740
  372. data/ext/gsl_native/cheb.c +0 -531
  373. data/ext/gsl_native/combination.c +0 -275
  374. data/ext/gsl_native/common.c +0 -293
  375. data/ext/gsl_native/complex.c +0 -1002
  376. data/ext/gsl_native/const.c +0 -331
  377. data/ext/gsl_native/const_additional.c +0 -99
  378. data/ext/gsl_native/cqp.c +0 -283
  379. data/ext/gsl_native/deriv.c +0 -187
  380. data/ext/gsl_native/dht.c +0 -353
  381. data/ext/gsl_native/diff.c +0 -164
  382. data/ext/gsl_native/dirac.c +0 -388
  383. data/ext/gsl_native/eigen.c +0 -2322
  384. data/ext/gsl_native/error.c +0 -193
  385. data/ext/gsl_native/extconf.rb +0 -118
  386. data/ext/gsl_native/fft.c +0 -1095
  387. data/ext/gsl_native/fit.c +0 -204
  388. data/ext/gsl_native/fresnel.c +0 -312
  389. data/ext/gsl_native/function.c +0 -518
  390. data/ext/gsl_native/geometry.c +0 -139
  391. data/ext/gsl_native/graph.c +0 -1590
  392. data/ext/gsl_native/gsl.c +0 -259
  393. data/ext/gsl_native/gsl_narray.c +0 -794
  394. data/ext/gsl_native/histogram.c +0 -1964
  395. data/ext/gsl_native/histogram2d.c +0 -1042
  396. data/ext/gsl_native/histogram3d.c +0 -884
  397. data/ext/gsl_native/histogram3d_source.c +0 -749
  398. data/ext/gsl_native/histogram_find.c +0 -99
  399. data/ext/gsl_native/histogram_oper.c +0 -150
  400. data/ext/gsl_native/ieee.c +0 -88
  401. data/ext/gsl_native/include/rb_gsl.h +0 -136
  402. data/ext/gsl_native/include/rb_gsl_array.h +0 -214
  403. data/ext/gsl_native/include/rb_gsl_cheb.h +0 -19
  404. data/ext/gsl_native/include/rb_gsl_common.h +0 -348
  405. data/ext/gsl_native/include/rb_gsl_complex.h +0 -25
  406. data/ext/gsl_native/include/rb_gsl_const.h +0 -23
  407. data/ext/gsl_native/include/rb_gsl_dirac.h +0 -6
  408. data/ext/gsl_native/include/rb_gsl_eigen.h +0 -17
  409. data/ext/gsl_native/include/rb_gsl_fft.h +0 -49
  410. data/ext/gsl_native/include/rb_gsl_fit.h +0 -23
  411. data/ext/gsl_native/include/rb_gsl_function.h +0 -23
  412. data/ext/gsl_native/include/rb_gsl_graph.h +0 -68
  413. data/ext/gsl_native/include/rb_gsl_histogram.h +0 -63
  414. data/ext/gsl_native/include/rb_gsl_histogram3d.h +0 -97
  415. data/ext/gsl_native/include/rb_gsl_integration.h +0 -17
  416. data/ext/gsl_native/include/rb_gsl_interp.h +0 -41
  417. data/ext/gsl_native/include/rb_gsl_linalg.h +0 -21
  418. data/ext/gsl_native/include/rb_gsl_math.h +0 -20
  419. data/ext/gsl_native/include/rb_gsl_odeiv.h +0 -18
  420. data/ext/gsl_native/include/rb_gsl_poly.h +0 -67
  421. data/ext/gsl_native/include/rb_gsl_rational.h +0 -30
  422. data/ext/gsl_native/include/rb_gsl_rng.h +0 -20
  423. data/ext/gsl_native/include/rb_gsl_root.h +0 -22
  424. data/ext/gsl_native/include/rb_gsl_sf.h +0 -110
  425. data/ext/gsl_native/include/rb_gsl_statistics.h +0 -17
  426. data/ext/gsl_native/include/rb_gsl_tensor.h +0 -43
  427. data/ext/gsl_native/include/rb_gsl_with_narray.h +0 -31
  428. data/ext/gsl_native/include/templates_off.h +0 -87
  429. data/ext/gsl_native/include/templates_on.h +0 -241
  430. data/ext/gsl_native/integration.c +0 -1154
  431. data/ext/gsl_native/interp.c +0 -499
  432. data/ext/gsl_native/jacobi.c +0 -733
  433. data/ext/gsl_native/linalg.c +0 -3915
  434. data/ext/gsl_native/linalg_complex.c +0 -726
  435. data/ext/gsl_native/math.c +0 -706
  436. data/ext/gsl_native/matrix.c +0 -36
  437. data/ext/gsl_native/matrix_complex.c +0 -1733
  438. data/ext/gsl_native/matrix_double.c +0 -557
  439. data/ext/gsl_native/matrix_int.c +0 -255
  440. data/ext/gsl_native/matrix_source.h +0 -2708
  441. data/ext/gsl_native/min.c +0 -219
  442. data/ext/gsl_native/monte.c +0 -978
  443. data/ext/gsl_native/multifit.c +0 -1862
  444. data/ext/gsl_native/multimin.c +0 -778
  445. data/ext/gsl_native/multimin_fsdf.c +0 -156
  446. data/ext/gsl_native/multiroots.c +0 -952
  447. data/ext/gsl_native/multiset.c +0 -210
  448. data/ext/gsl_native/ndlinear.c +0 -320
  449. data/ext/gsl_native/nmf.c +0 -171
  450. data/ext/gsl_native/nmf_wrap.c +0 -75
  451. data/ext/gsl_native/ntuple.c +0 -469
  452. data/ext/gsl_native/odeiv.c +0 -947
  453. data/ext/gsl_native/ool.c +0 -879
  454. data/ext/gsl_native/permutation.c +0 -598
  455. data/ext/gsl_native/poly.c +0 -39
  456. data/ext/gsl_native/poly2.c +0 -265
  457. data/ext/gsl_native/poly_source.h +0 -1871
  458. data/ext/gsl_native/qrng.c +0 -160
  459. data/ext/gsl_native/randist.c +0 -1848
  460. data/ext/gsl_native/rational.c +0 -480
  461. data/ext/gsl_native/rng.c +0 -595
  462. data/ext/gsl_native/root.c +0 -407
  463. data/ext/gsl_native/sf.c +0 -1446
  464. data/ext/gsl_native/sf_airy.c +0 -200
  465. data/ext/gsl_native/sf_bessel.c +0 -871
  466. data/ext/gsl_native/sf_clausen.c +0 -28
  467. data/ext/gsl_native/sf_coulomb.c +0 -206
  468. data/ext/gsl_native/sf_coupling.c +0 -121
  469. data/ext/gsl_native/sf_dawson.c +0 -29
  470. data/ext/gsl_native/sf_debye.c +0 -148
  471. data/ext/gsl_native/sf_dilog.c +0 -43
  472. data/ext/gsl_native/sf_elementary.c +0 -46
  473. data/ext/gsl_native/sf_ellint.c +0 -206
  474. data/ext/gsl_native/sf_elljac.c +0 -30
  475. data/ext/gsl_native/sf_erfc.c +0 -89
  476. data/ext/gsl_native/sf_exp.c +0 -169
  477. data/ext/gsl_native/sf_expint.c +0 -201
  478. data/ext/gsl_native/sf_fermi_dirac.c +0 -148
  479. data/ext/gsl_native/sf_gamma.c +0 -343
  480. data/ext/gsl_native/sf_gegenbauer.c +0 -97
  481. data/ext/gsl_native/sf_hyperg.c +0 -203
  482. data/ext/gsl_native/sf_laguerre.c +0 -113
  483. data/ext/gsl_native/sf_lambert.c +0 -47
  484. data/ext/gsl_native/sf_legendre.c +0 -368
  485. data/ext/gsl_native/sf_log.c +0 -105
  486. data/ext/gsl_native/sf_mathieu.c +0 -235
  487. data/ext/gsl_native/sf_power.c +0 -47
  488. data/ext/gsl_native/sf_psi.c +0 -89
  489. data/ext/gsl_native/sf_synchrotron.c +0 -48
  490. data/ext/gsl_native/sf_transport.c +0 -76
  491. data/ext/gsl_native/sf_trigonometric.c +0 -210
  492. data/ext/gsl_native/sf_zeta.c +0 -115
  493. data/ext/gsl_native/signal.c +0 -303
  494. data/ext/gsl_native/siman.c +0 -713
  495. data/ext/gsl_native/sort.c +0 -207
  496. data/ext/gsl_native/spline.c +0 -377
  497. data/ext/gsl_native/stats.c +0 -787
  498. data/ext/gsl_native/sum.c +0 -168
  499. data/ext/gsl_native/tamu_anova.c +0 -56
  500. data/ext/gsl_native/tensor.c +0 -35
  501. data/ext/gsl_native/tensor_source.h +0 -1122
  502. data/ext/gsl_native/vector.c +0 -35
  503. data/ext/gsl_native/vector_complex.c +0 -2241
  504. data/ext/gsl_native/vector_double.c +0 -1433
  505. data/ext/gsl_native/vector_int.c +0 -202
  506. data/ext/gsl_native/vector_source.h +0 -3321
  507. data/ext/gsl_native/wavelet.c +0 -923
  508. data/lib/gsl.rb +0 -8
  509. data/lib/gsl/gnuplot.rb +0 -41
  510. data/lib/gsl/oper.rb +0 -43
  511. data/lib/gsl/version.rb +0 -3
  512. data/lib/ool.rb +0 -22
  513. data/lib/ool/conmin.rb +0 -30
  514. data/lib/rbgsl.rb +0 -1
  515. data/rdoc/alf.rdoc +0 -77
  516. data/rdoc/blas.rdoc +0 -269
  517. data/rdoc/bspline.rdoc +0 -42
  518. data/rdoc/changes.rdoc +0 -159
  519. data/rdoc/cheb.rdoc +0 -99
  520. data/rdoc/cholesky_complex.rdoc +0 -46
  521. data/rdoc/combi.rdoc +0 -125
  522. data/rdoc/complex.rdoc +0 -210
  523. data/rdoc/const.rdoc +0 -546
  524. data/rdoc/dht.rdoc +0 -122
  525. data/rdoc/diff.rdoc +0 -133
  526. data/rdoc/ehandling.rdoc +0 -50
  527. data/rdoc/eigen.rdoc +0 -401
  528. data/rdoc/fft.rdoc +0 -535
  529. data/rdoc/fit.rdoc +0 -284
  530. data/rdoc/function.rdoc +0 -94
  531. data/rdoc/graph.rdoc +0 -137
  532. data/rdoc/hist.rdoc +0 -409
  533. data/rdoc/hist2d.rdoc +0 -279
  534. data/rdoc/hist3d.rdoc +0 -112
  535. data/rdoc/integration.rdoc +0 -398
  536. data/rdoc/interp.rdoc +0 -231
  537. data/rdoc/intro.rdoc +0 -27
  538. data/rdoc/linalg.rdoc +0 -681
  539. data/rdoc/linalg_complex.rdoc +0 -88
  540. data/rdoc/math.rdoc +0 -276
  541. data/rdoc/matrix.rdoc +0 -1093
  542. data/rdoc/min.rdoc +0 -189
  543. data/rdoc/monte.rdoc +0 -234
  544. data/rdoc/multimin.rdoc +0 -312
  545. data/rdoc/multiroot.rdoc +0 -293
  546. data/rdoc/narray.rdoc +0 -177
  547. data/rdoc/ndlinear.rdoc +0 -250
  548. data/rdoc/nonlinearfit.rdoc +0 -348
  549. data/rdoc/ntuple.rdoc +0 -88
  550. data/rdoc/odeiv.rdoc +0 -378
  551. data/rdoc/perm.rdoc +0 -221
  552. data/rdoc/poly.rdoc +0 -335
  553. data/rdoc/qrng.rdoc +0 -90
  554. data/rdoc/randist.rdoc +0 -233
  555. data/rdoc/ref.rdoc +0 -93
  556. data/rdoc/rng.rdoc +0 -203
  557. data/rdoc/roots.rdoc +0 -305
  558. data/rdoc/sf.rdoc +0 -1622
  559. data/rdoc/siman.rdoc +0 -89
  560. data/rdoc/sort.rdoc +0 -94
  561. data/rdoc/start.rdoc +0 -16
  562. data/rdoc/stats.rdoc +0 -219
  563. data/rdoc/sum.rdoc +0 -65
  564. data/rdoc/tensor.rdoc +0 -251
  565. data/rdoc/tut.rdoc +0 -5
  566. data/rdoc/use.rdoc +0 -177
  567. data/rdoc/vector.rdoc +0 -1243
  568. data/rdoc/vector_complex.rdoc +0 -347
  569. data/rdoc/wavelet.rdoc +0 -218
  570. data/test/gsl/blas_test.rb +0 -79
  571. data/test/gsl/bspline_test.rb +0 -63
  572. data/test/gsl/cdf_test.rb +0 -1512
  573. data/test/gsl/cheb_test.rb +0 -80
  574. data/test/gsl/combination_test.rb +0 -100
  575. data/test/gsl/complex_test.rb +0 -20
  576. data/test/gsl/const_test.rb +0 -29
  577. data/test/gsl/deriv_test.rb +0 -62
  578. data/test/gsl/dht_test.rb +0 -79
  579. data/test/gsl/diff_test.rb +0 -53
  580. data/test/gsl/eigen_test.rb +0 -563
  581. data/test/gsl/err_test.rb +0 -23
  582. data/test/gsl/fit_test.rb +0 -101
  583. data/test/gsl/histo_test.rb +0 -14
  584. data/test/gsl/index_test.rb +0 -61
  585. data/test/gsl/integration_test.rb +0 -274
  586. data/test/gsl/interp_test.rb +0 -27
  587. data/test/gsl/linalg_test.rb +0 -463
  588. data/test/gsl/matrix_nmf_test.rb +0 -37
  589. data/test/gsl/matrix_test.rb +0 -98
  590. data/test/gsl/min_test.rb +0 -89
  591. data/test/gsl/monte_test.rb +0 -77
  592. data/test/gsl/multifit_test.rb +0 -753
  593. data/test/gsl/multimin_test.rb +0 -157
  594. data/test/gsl/multiroot_test.rb +0 -135
  595. data/test/gsl/multiset_test.rb +0 -52
  596. data/test/gsl/odeiv_test.rb +0 -275
  597. data/test/gsl/oper_test.rb +0 -98
  598. data/test/gsl/poly_test.rb +0 -338
  599. data/test/gsl/qrng_test.rb +0 -94
  600. data/test/gsl/quartic_test.rb +0 -28
  601. data/test/gsl/randist_test.rb +0 -122
  602. data/test/gsl/rng_test.rb +0 -303
  603. data/test/gsl/roots_test.rb +0 -78
  604. data/test/gsl/sf_test.rb +0 -2079
  605. data/test/gsl/stats_test.rb +0 -122
  606. data/test/gsl/sum_test.rb +0 -69
  607. data/test/gsl/tensor_test.rb +0 -396
  608. data/test/gsl/vector_test.rb +0 -223
  609. data/test/gsl/wavelet_test.rb +0 -130
  610. data/test/gsl_test.rb +0 -321
  611. data/test/test_helper.rb +0 -42
  612. data/uncrustify.cfg +0 -1693
@@ -1,112 +0,0 @@
1
- #
2
- # = GSL::Histogram3d class
3
- #
4
- # == Class methods
5
- # ---
6
- # * GSL::Histogram3d.alloc(nx, ny, nz)
7
- # * GSL::Histogram3d.alloc(xrange, yrange, zrange)
8
- # * GSL::Histogram3d.alloc(nx, xmin, xmax, ny, ymin, ymax, nz, zmin, zmax)
9
- # * GSL::Histogram3d.alloc(nx, [xmin, xmax], ny, [ymin, ymax], nz, [zmin, zmax])
10
- #
11
- # Constructors
12
- #
13
- # ---
14
- # * GSL::Histogram3d.memcpy(h1, h2)
15
- # * GSL::Histogram3d.equal_bins_p(h1, h2)
16
- # * GSL::Histogram3d.equal_bins_?p(h1, h2)
17
- #
18
- #
19
- # == Methods
20
- # ---
21
- # * GSL::Histogram3d#set_ranges(xrange, yrange, zrange)
22
- # * GSL::Histogram3d#set_ranges_uniform(xmin, xmax, ymin, ymax, zmin, zmax)
23
- # * GSL::Histogram3d#set_ranges_uniform([xmin, xmax], [ymin, ymax], [zmin, zmax])
24
- #
25
- #
26
- # ---
27
- # * GSL::Histogram3d#clone
28
- # * GSL::Histogram3d#duplicate
29
- #
30
- #
31
- # ---
32
- # * GSL::Histogram3d#increment(x, y, z, weight = 1)
33
- # * GSL::Histogram3d#accumulate(x, y, z, weight = 1)
34
- # * GSL::Histogram3d#fill(x, y, z, weight = 1)
35
- # * GSL::Histogram3d#increment2(x, y, z, weight = 1)
36
- # * GSL::Histogram3d#accumulate2(x, y, z, weight = 1)
37
- # * GSL::Histogram3d#fill2(x, y, z, weight = 1)
38
- # * GSL::Histogram3d#get(i[, j[, k]])
39
- # * GSL::Histogram3d#[]
40
- # * GSL::Histogram3d#get_xrange(i)
41
- # * GSL::Histogram3d#get_yrange(j)
42
- # * GSL::Histogram3d#get_zrange(k)
43
- # * GSL::Histogram3d#xrange
44
- # * GSL::Histogram3d#yrange
45
- # * GSL::Histogram3d#zrange
46
- # * GSL::Histogram3d#bin
47
- # * GSL::Histogram3d#xmax
48
- # * GSL::Histogram3d#xmin
49
- # * GSL::Histogram3d#ymax
50
- # * GSL::Histogram3d#ymin
51
- # * GSL::Histogram3d#zmax
52
- # * GSL::Histogram3d#zmin
53
- # * GSL::Histogram3d#nx
54
- # * GSL::Histogram3d#ny
55
- # * GSL::Histogram3d#nz
56
- # * GSL::Histogram3d#reset
57
- # * GSL::Histogram3d#find(x, y, z)
58
- # * GSL::Histogram3d#max_val
59
- # * GSL::Histogram3d#max_bin
60
- # * GSL::Histogram3d#min_val
61
- # * GSL::Histogram3d#min_bin
62
- # * GSL::Histogram3d#xmean
63
- # * GSL::Histogram3d#xsigma
64
- # * GSL::Histogram3d#ymean
65
- # * GSL::Histogram3d#ysigma
66
- # * GSL::Histogram3d#zmean
67
- # * GSL::Histogram3d#zsigma
68
- #
69
- #
70
- # ---
71
- # * GSL::Histogram3d#sum
72
- # * GSL::Histogram3d#integral
73
- # * GSL::Histogram3d#add(h2)
74
- # * GSL::Histogram3d#sub(h2)
75
- # * GSL::Histogram3d#mul(h2)
76
- # * GSL::Histogram3d#div(h2)
77
- # * GSL::Histogram3d#scale(val)
78
- # * GSL::Histogram3d#shift(val)
79
- # * GSL::Histogram3d#+(h2)
80
- # * GSL::Histogram3d#-(h2)
81
- # * GSL::Histogram3d#*(h2)
82
- # * GSL::Histogram3d#/(h2)
83
- # * GSL::Histogram3d#fwrite(io)
84
- # * GSL::Histogram3d#fwrite(filename)
85
- # * GSL::Histogram3d#fread(io)
86
- # * GSL::Histogram3d#fread(filename)
87
- #
88
- #
89
- # ---
90
- # * GSL::Histogram3d#xyproject(kstart = 0, kend = nz-1)
91
- #
92
- # Creates a <tt>GSL::Histogram2d</tt> object by projecting the 3D histogram
93
- # <tt>self</tt> onto the xy-plane over the z-range from <tt>kstart</tt> to <tt>kend</tt>.
94
- #
95
- # ---
96
- # * GSL::Histogram3d#xzproject(jstart = 0, jend = ny-1)
97
- #
98
- # Creates a <tt>GSL::Histogram2d</tt> object by projecting the 3D histogram
99
- # <tt>self</tt> onto the xz-plane over the y-range from <tt>jstart</tt> to <tt>jend</tt>.
100
- #
101
- # ---
102
- # * GSL::Histogram3d#yzproject(istart = 0, iend = nx-1)
103
- #
104
- # Creates a <tt>GSL::Histogram2d</tt> object by projecting the 3D histogram
105
- # <tt>self</tt> onto the yz-plane over the x-range from <tt>istart</tt> to <tt>iend</tt>.
106
- #
107
- # {prev}[link:rdoc/hist2d_rdoc.html]
108
- # {next}[link:rdoc/ntuple_rdoc.html]
109
- #
110
- # {Reference index}[link:rdoc/ref_rdoc.html]
111
- # {top}[link:index.html]
112
- #
@@ -1,398 +0,0 @@
1
- #
2
- # = Numerical Integration
3
- # Contents:
4
- # 1. {Introduction}[link:rdoc/integration_rdoc.html#label-Introduction]
5
- # 1. {QNG non-adaptive Gauss-Kronrod integration}[link:rdoc/integration_rdoc.html#label-QNG+non-adaptive+Gauss-Kronrod+integration]
6
- # 1. {QAG adaptive integration}[link:rdoc/integration_rdoc.html#label-QAG+adaptive+integration]
7
- # 1. {GSL::Integration::Workspace class}[link:rdoc/integration_rdoc.html#label-Workspace+class]
8
- # 1. {Methods}[link:rdoc/integration_rdoc.html#label-Methods]
9
- # 1. {QAGS adaptive integration with singularities}[link:rdoc/integration_rdoc.html#label-QAGS+adaptive+integration+with+singularities]
10
- # 1. {QAGP adaptive integration with known singular points}[link:rdoc/integration_rdoc.html#label-QAGP+adaptive+integration+with+known+singular+points]
11
- # 1. {QAGI adaptive integration on infinite intervals}[link:rdoc/integration_rdoc.html#label-QAGI+adaptive+integration+on+infinite+intervals]
12
- # 1. {QAWC adaptive integration for Cauchy principal values}[link:rdoc/integration_rdoc.html#label-QAWC+adaptive+integration+for+Cauchy+principal+values]
13
- # 1. {QAWS adaptive integration for singular functions}[link:rdoc/integration_rdoc.html#label-QAWS+adaptive+integration+for+singular+functions]
14
- # 1. {QAWO adaptive integration for oscillatory functions}[link:rdoc/integration_rdoc.html#label-QAWO+adaptive+integration+for+oscillatory+functions]
15
- # 1. {QAWF adaptive integration for Fourier integrals}[link:rdoc/integration_rdoc.html#label-QAWF+adaptive+integration+for+Fourier+integrals]
16
- #
17
- # == Introduction
18
- # This section describes how to compute numerical integration of a function
19
- # in one dimension. In Ruby/GSL, all the GSL routines for numerical integration
20
- # is provided as methods of {GSL::Function}[link:rdoc/function_rdoc.html] objects.
21
- # For example, a <tt>GSL::Function</tt> object which represents the sine function
22
- # <tt>sin(x)</tt> can be expressed as
23
- # f = GSL::Function.alloc { |x| sin(x) }
24
- # To compute numerical integration of <tt>sin(x)</tt> over the range <tt>(a, b)</tt>,
25
- # one can use the methods <tt>integrate_xxx</tt> or simply <tt>xxx</tt>, as
26
- # * <tt>f.integrate_xxx([a, b])</tt>, or <tt>f.xxx([a, b])</tt>
27
- # * <tt>f.integrate_xxx(a, b)</tt>, or <tt>f.xxx(a, b)</tt>
28
- #
29
- # == QNG non-adaptive Gauss-Kronrod integration
30
- # ---
31
- # * GSL::Function#integration_qng([a, b], [epsabs = 0.0, epsrel = 1e-10])
32
- # * GSL::Function#qng(...)
33
- # * GSL::Integration::qng(...)
34
- #
35
- # These methods apply the Gauss-Kronrod integration rules in succession until
36
- # an estimate of the integral of the reciever function (a <tt>GSL::Function</tt>
37
- # object) over <tt>(a,b)</tt> is achieved within the desired absolute and relative
38
- # error limits, <tt>epsabs</tt> and <tt>epsrel</tt> (these are optional, the default
39
- # values are 0,0 and 1e-10 respectively). These methods return an array of
40
- # four elements <tt>[result, err, neval, status]</tt>, those are the final
41
- # approximation
42
- # of the integration, an estimate of the absolute error, the number of function
43
- # evaluation, and the status which is returned by the GSL
44
- # <tt>integration_qng()</tt> function.
45
- #
46
- # * Ex: Integrate sin(x) over <tt>x = 0 -- 2</tt> with accuracies <tt>epsabs = 0, epsrel = 1.0e-7</tt>.
47
- #
48
- # require 'gsl'
49
- #
50
- # f = GSL::Function.alloc { |x| sin(x) }
51
- # ans = f.integration_qng([0, 2], [0, 1.0e-7]) # or shortly f.qng(...)
52
- # p ans[0] <- result
53
- #
54
- # For all the methods described in this section, the arguments <tt>[epsabs, epsrel]</tt> are optional, and the default values are <tt>[epsabs = 0.0, epsrel = 1e-10]</tt>.
55
- #
56
- # == QAG adaptive integration
57
- # The QAG algorithm is a simple adaptive integration procedure.
58
- # The integration region is divided into subintervals, and on each iteration
59
- # the subinterval with the largest estimated error is bisected.
60
- # This reduces the overall error rapidly, as the subintervals become concentrated
61
- # around local difficulties in the integrand. These subintervals are managed by
62
- # a GSL::Integration::Workspace object, which handles the memory for the
63
- # subinterval ranges, results and error estimates.
64
- #
65
- # === Workspace class
66
- # ---
67
- # * GSL::Integration::Workspace.alloc(n = 1000)
68
- #
69
- # This creates a workspace sufficient to hold n double precision intervals,
70
- # their integration results and error estimates.
71
- #
72
- # ---
73
- # * GSL::Integration::Workspace#limit
74
- # * GSL::Integration::Workspace#size
75
- #
76
- #
77
- # ==== Algorithms which require the workspace
78
- # The algorithms described below require <tt>gsl_integration_workspace</tt> struct
79
- # in C. In Ruby/GSL, the corresponding methods require
80
- # a <tt>GSL::Integration::Workspace</tt> object in their arguments. But it is also
81
- # possible to use these methods without workspace arguments: if it
82
- # is not given, a workspace is created/destroyed internally. Thus
83
- # method calls are as
84
- #
85
- # f = GSL::Function.alloc { |x| Math::sin(x)/x }
86
- # p f.qag([a, b])
87
- #
88
- # or
89
- # w = GSL::Integration::Workspace.alloc(limit)
90
- # p f.qag([a, b], w)
91
- #
92
- # Explicit uses of a <tt>Workspace</tt> object reduce C function calls for memory
93
- # allocations of workspace objects.
94
- #
95
- # === Methods
96
- # ---
97
- # * GSL::Function#integration_qag([a, b], key = GSL::Integration::GAUSS61)
98
- # * GSL::Function#integration_qag([a, b], key, w)
99
- # * GSL::Function#integration_qag([a, b], w)
100
- # * GSL::Function#integration_qag([a, b], [epsabs, epsrel], key)
101
- # * GSL::Function#integration_qag([a, b], [epsabs, epsrel], key, w)
102
- # * GSL::Function#qag(...)
103
- # * GSL::Integration::qag(...)
104
- #
105
- # These methods apply an integration rule adaptively until an estimate of the
106
- # integral of the reciever function over <tt>(a,b)</tt> is achieved within the
107
- # desired absolute and relative error limits, <tt>epsabs</tt> and <tt>epsrel</tt>.
108
- # One can give a <tt>GSL::Integration::Workspace</tt> object <tt>w</tt> with the
109
- # last argument (option: if not given, the workspace is internally allocated and
110
- # freed). The method returns an array with four elements
111
- # <tt>[result, err, neval, status]</tt>.
112
- # The integration rule is determined by the value of key, which should be
113
- # chosen from the following symbolic names,
114
- #
115
- # GSL::Integration::GAUSS15 (key = 1)
116
- # GSL::Integration::GAUSS21 (key = 2)
117
- # GSL::Integration::GAUSS31 (key = 3)
118
- # GSL::Integration::GAUSS41 (key = 4)
119
- # GSL::Integration::GAUSS51 (key = 5)
120
- # GSL::Integration::GAUSS61 (key = 6)
121
- #
122
- # corresponding to the 15, 21, 31, 41, 51 and 61 point Gauss-Kronrod rules. The
123
- # higher-order rules give better accuracy for smooth functions,
124
- # while lower-order rules save time when the function contains local
125
- # difficulties, such as discontinuities.
126
- #
127
- # == QAGS adaptive integration with singularities
128
- # The presence of an integrable singularity in the integration region causes
129
- # an adaptive routine to concentrate new subintervals around the singularity.
130
- # As the subintervals decrease in size the successive approximations to the
131
- # integral converge in a limiting fashion. This approach to the limit can be
132
- # accelerated using an extrapolation procedure.
133
- # The QAGS algorithm combines adaptive bisection with the Wynn epsilon-algorithm
134
- # to speed up the integration of many types of integrable singularities.
135
- #
136
- # ---
137
- # * GSL::Function#integration_qags([a, b], [epsabs = 0.0, epsrel = 1e-10], limit)
138
- # * GSL::Function#integration_qags([a, b], [epsabs, epsrel], limit, w)
139
- # * GSL::Function#integration_qags([a, b], [epsabs, epsrel], w)
140
- # * GSL::Function#qags(...)
141
- # * GSL::Integration::qags(...)
142
- #
143
- # These methods apply the Gauss-Kronrod 21-point integration rule
144
- # adaptively until an estimate of the integral over <tt>(a,b)</tt> is
145
- # achieved within the desired absolute and relative error limits,
146
- # <tt>epsabs</tt> and <tt>epsrel</tt>. The results are extrapolated using the
147
- # epsilon-algorithm, which accelerates the convergence of the integral
148
- # in the presence of discontinuities and integrable singularities.
149
- # The maximum number of subintervals is given by <tt>limit</tt>.
150
- #
151
- # * ex:
152
- #
153
- # proc = Proc.new{ |x, alpha| # integrant
154
- # log(alpha*x)/sqrt(x)
155
- # }
156
- #
157
- # # create the function, with the parameter alpha = 1.0
158
- # f = GSL::Function.alloc(proc, 1.0)
159
- #
160
- # p f.integration_qags(0, 1)
161
- #
162
- # == QAGP adaptive integration with known singular points
163
- # ---
164
- # * GSL::Function#integration_qagp(pts, [epsabs = 0.0, epsrel = 1e-10], limit = 1000, w)
165
- # * GSL::Function#qagp(...)
166
- # * GSL::Integration::qagp(...)
167
- #
168
- # These methods apply the adaptive integration algorithm QAGS taking
169
- # account of the user-supplied locations of singular points. The array
170
- # <tt>pts</tt> (a Ruby array or a GSL::Vector object) should contain the
171
- # endpoints of the integration ranges defined by the integration region a
172
- # nd locations of the singularities. For example, to integrate over the
173
- # region <tt>(a,b)</tt> with break-points at x_1, x_2, x_3
174
- # (where a < x_1 < x_2 < x_3 < b) the following <tt>pts</tt> array should be used
175
- #
176
- # pts[0] = a
177
- # pts[1] = x_1
178
- # pts[2] = x_2
179
- # pts[3] = x_3
180
- # pts[4] = b
181
- #
182
- # If you know the locations of the singular points in the integration region then this routine will be faster than QAGS.
183
- #
184
- # * ex:
185
- # f454 = Function.alloc{ |x|
186
- # x2 = x*x
187
- # x3 = x2*x
188
- # x3*log(((x2-1)*(x2-2)).abs)
189
- # }
190
- # pts = [0, 1, sqrt(2), 3] # range: [0, 3], singular points: [1, sqrt(2)]
191
- # p f454.qagp(pts, 0.0, 1e-3) # <---- [52.7408061167272, 0.000175570384826074, 20, 0]
192
- # # Expect: 61 log(2) + (77/4) log(7) - 27 = 52.7408061167272
193
- #
194
- # == QAGI adaptive integration on infinite intervals
195
- # ---
196
- # * GSL::Function#integration_qagi([epsabs = 0.0, epsrel = 1e-10], limit = 1000, w)
197
- # * GSL::Function#qagi(...)
198
- # * GSL::Integration::qagi(...)
199
- #
200
- # These methods compute the integral of the function over the infinite
201
- # interval (-infty,+infty). The integral is mapped onto the interval
202
- # (0,1] using the transformation x = (1-t)/t. It is then integrated using
203
- # the QAGS algorithm. The normal 21-point Gauss-Kronrod rule of QAGS is
204
- # replaced by a 15-point rule, because the transformation can generate an
205
- # integrable singularity at the origin. In this case a lower-order rule is
206
- # more efficient.
207
- #
208
- # * ex
209
- # f = Function.alloc{ |x| Math::exp(-x*x) }
210
- # exact = Math::sqrt(Math::PI)
211
- #
212
- # result, = f.qagi
213
- # puts("exp(-x*x), x = -infty --- +infty")
214
- # printf("exact = %.18f\n", exact)
215
- # printf("result = %.18f\n\n", result)
216
- #
217
- # ---
218
- # * GSL::Function#integration_qagiu(a, epsabs = 0.0, epsrel = 1e-10, limit = 1000)
219
- # * GSL::Function#integration_qagiu(a, epsabs = 0.0, epsrel = 1e-10, w)
220
- # * GSL::Function#qagiu(...)
221
- # * GSL::Integration::qagiu(...)
222
- #
223
- # These methods compute the integral of the function over the
224
- # semi-infinite interval (a,+infty).
225
- #
226
- # ---
227
- # * GSL::Function#integration_qagil(b, epsabs = 0.0, epsrel = 1e-10, limit = 1000)
228
- # * GSL::Function#integration_qagil(b, epsabs = 0.0, epsrel = 1e-10, w)
229
- # * GSL::Function#integration_qagil(b, [epsabs, epsrel], limit, w)
230
- # * GSL::Function#qagil(...)
231
- # * GSL::Integration::qagil(...)
232
- #
233
- # These methods compute the integral of the function over the
234
- # semi-infinite interval (-infty,b).
235
- #
236
- # == QAWC adaptive integration for Cauchy principal values
237
- # ---
238
- # * GSL::Function#integration_qawc([a, b], c, [epsabs = 0.0, epsrel = 1e-10], limit. 1000)
239
- # * GSL::Function#qawc(...)
240
- # * GSL::Function#qawc(...)
241
- #
242
- # These methods compute the Cauchy principal value of the integral over
243
- # <tt>(a,b)</tt>, with a singularity at <tt>c</tt>. The adaptive bisection algorithm
244
- # of QAG is used, with modifications to ensure that subdivisions do not occur
245
- # at the singular point <tt>x = c</tt>. When a subinterval contains the point
246
- # <tt>x = c</tt> or is close to it then a special 25-point modified
247
- # Clenshaw-Curtis rule is used to control the singularity. Further away from
248
- # the singularity the algorithm uses an ordinary 15-point Gauss-Kronrod
249
- # integration rule.
250
- #
251
- # * ex:
252
- # require 'gsl'
253
- # f459 = Function.alloc { |x| 1.0/(5.0*x*x*x + 6.0) }
254
- #
255
- # p f459.qawc([-1.0, 5.0], 0, [0.0, 1e-3]) # Expect: log(125/631)/18
256
- #
257
- # == QAWS adaptive integration for singular functions
258
- # The QAWS algorithm is designed for integrands with algebraic-logarithmic
259
- # singularities at the end-points of an integration region.
260
- # In order to work efficiently the algorithm requires a precomputed
261
- # table of Chebyshev moments.
262
- #
263
- # ---
264
- # * GSL::Function#integration_qaws([a, b], table, [epsabs = 0.0, epsrel = 1e-10], limit = 1000)
265
- # * GSL::Function#integration_qaws(a, b, table, epsabs, epsrel, limit, w)
266
- # * GSL::Function#qaws(...)
267
- # * GSL::Integration::qaws(...)
268
- #
269
- # These methods compute the integral of the function over the interval
270
- # <tt>(a,b)</tt> with the singular weight function
271
- # (x-a)^alpha (b-x)^beta log^mu (x-a) log^nu (b-x)
272
- # The parameters <tt>[alpha, beta, mu, nu]</tt> is given by a Ruby array
273
- # <tt>table</tt>, or by a <tt>GSL::Integration::QAWS_Table</tt> object.
274
- #
275
- # The adaptive bisection algorithm of QAG is used. When a subinterval contains one of the endpoints then a special 25-point modified Clenshaw-Curtis rule is used to control the singularities. For subintervals which do not include the endpoints an ordinary 15-point Gauss-Kronrod integration rule is used.
276
- #
277
- # * ex1:
278
- # f458 = Function.alloc { |x|
279
- # if x.zero?
280
- # val = 0.0
281
- # else
282
- # u = log(x)
283
- # v = 1.0 + u*u
284
- # val = 1.0/(v*v)
285
- # end
286
- # val
287
- # }
288
- # table = [0.0, 0.0, 1, 0]
289
- # p f458.qaws([0.0, 1.0], table, [0.0, 1e-10]) # Expect: -0.1892752
290
- #
291
- # * ex2:
292
- # table = Integration::QAWS_Table.alloc(0.0, 0.0, 1, 0)
293
- # p f458.qaws([0.0, 1.0], table, [0.0, 1e-10])
294
- #
295
- # == QAWO adaptive integration for oscillatory functions
296
- # The QAWO algorithm is designed for integrands with an oscillatory factor,
297
- # sin(omega x) or cos(omega x). In order to work efficiently the algorithm
298
- # requires a table of Chebyshev moments.
299
- #
300
- #
301
- # ---
302
- # * GSL::Function#integration_qawo(a, [epsabs = 0.0, epsrel = 1e-10], limit = 1000, w, table, )
303
- # * GSL::Function#qawo(...)
304
- # * GSL::Integration::qawo(...)
305
- #
306
- # This method uses an adaptive algorithm to compute the integral over
307
- # <tt>[a,b]</tt> with the weight function sin(omega x) or cos(omega x) defined by
308
- # the table <tt>table</tt>.
309
- #
310
- # * ex1:
311
- # require("gsl")
312
- # f456 = Function.alloc { |x|
313
- # if x.zero?
314
- # val = 0.0
315
- # else
316
- # val = Math::log(x)
317
- # end
318
- # val
319
- # }
320
- # table = [10.0*Math::PI, 1.0, Integration::SINE, 1000]
321
- # p f456.qawo(0.0, [0.0, 1e-10], table)
322
- #
323
- # * ex2:
324
- # table = Integration::QAWO_Table.alloc(10.0*Math::PI, 1.0, Integration::SINE, 1000)
325
- # p f456.qawo(0.0, [0.0, 1e-10], table)
326
- #
327
- # == QAWF adaptive integration for Fourier integrals
328
- # ---
329
- # * GSL::Function#integration_qawf(a, epsabs = 1e-10, limit = 1000, w, wc, table)
330
- # * GSL::Function#integration_qawf(a, epsabs = 1e-10, limit = 1000, table)
331
- # * GSL::Function#integration_qawf(a, epsabs = 1e-10, table)
332
- # * GSL::Function#integration_qawf(a, table = 1000, table)
333
- # * GSL::Function#integration_qawf(a, table)
334
- # * GSL::Function#qawf(...)
335
- # * GSL::Integration::qawf(...)
336
- #
337
- # This method attempts to compute a Fourier integral of the function over
338
- # the semi-infinite interval [a,+infty).
339
- #
340
- # I = \int_a^{+infty} dx f(x) sin(omega x)
341
- # I = \int_a^{+infty} dx f(x) cos(omega x)
342
- #
343
- # The parameter omega is taken from the table <tt>table</tt> (the length <tt>L|</tt>
344
- # can take any value, since it is overridden by this function to a value
345
- # appropriate for the fourier integration).
346
- #
347
- # * ex:
348
- # f457 = Function.alloc { |x|
349
- # if x.zero?
350
- # val = 0.0
351
- # else
352
- # val = 1.0/Math::sqrt(x)
353
- # end
354
- # val
355
- # }
356
- # table = [PI/2.0, 1.0, GSL::Integration::COSINE, 1000]
357
- # p f457.qawf(0.0, 1e-10, table) # 0.999999999927979, Expect 1
358
- #
359
- # In other style:
360
- #
361
- # limit = 1000
362
- # table = Integration::QAWO_Table.alloc(PI/2.0, 1.0, GSL::Integration::COSINE, 1000)
363
- # w = Integration::Workspace.alloc # default n is 1000
364
- # wc = Integration::Workspace.alloc(limit)
365
- #
366
- # p f457.qawf(0.0, table)
367
- # p f457.qawf(0.0, 1e-10, table)
368
- # p f457.qawf(0.0, 1e-10, limit, table)
369
- # p f457.qawf(0.0, limit, table)
370
- # p f457.qawf(0.0, 1e-10, limit, w, wc, table)
371
- # p f457.qawf(0.0, w, wc, table)
372
- # p f457.qawf(0.0, limit, w, wc, table)
373
- # p f457.qawf(0.0, limit, w, table) # Error
374
- # p f457.qawf(0.0, limit, wc, table) # Error
375
- #
376
- # == Gauss-Legendre integration
377
- # (GSL-1.14)
378
- # The fixed-order Gauss-Legendre integration routines are provided for fast integration of smooth functions with known polynomial order. The n-point Gauss-Legendre rule is exact for polynomials of order 2*n-1 or less. For example, these rules are useful when integrating basis functions to form mass matrices for the Galerkin method. Unlike other numerical integration routines within the library, these routines do not accept absolute or relative error bounds.
379
- #
380
- # ---
381
- # * GSL::Integration::Glfixed_table.alloc(n)
382
- #
383
- # Determines the Gauss-Legendre abscissae and weights necessary for an <tt>n</tt>-point fixed order
384
- # integration scheme. If possible, high precision precomputed coefficients are used.
385
- # If precomputed weights are not available, lower precision coefficients are computed on the fly.
386
- #
387
- # ---
388
- # * GSL::Function#glfixed(a, b, t)
389
- #
390
- # Applies the Gauss-Legendre integration rule contained in table <tt>t</tt> and returns the result.
391
- #
392
- # {prev}[link:rdoc/wavelet_rdoc.html]
393
- # {next}[link:rdoc/rng_rdoc.html]
394
- #
395
- # {Reference index}[link:rdoc/ref_rdoc.html]
396
- # {top}[link:index.html]
397
- #
398
- #