rb-gsl 1.15.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (660) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +6 -0
  3. data/COPYING +339 -0
  4. data/ChangeLog +567 -0
  5. data/README +32 -0
  6. data/Rakefile +99 -0
  7. data/THANKS +17 -0
  8. data/VERSION +1 -0
  9. data/examples/alf/alf.gp +15 -0
  10. data/examples/alf/alf.rb +32 -0
  11. data/examples/blas/blas.rb +13 -0
  12. data/examples/blas/dnrm2.rb +16 -0
  13. data/examples/blas/level1.rb +81 -0
  14. data/examples/blas/level2.rb +11 -0
  15. data/examples/blas/level3.rb +12 -0
  16. data/examples/bspline.rb +57 -0
  17. data/examples/cdf.rb +16 -0
  18. data/examples/cheb.rb +21 -0
  19. data/examples/combination.rb +23 -0
  20. data/examples/complex/RC-lpf.rb +47 -0
  21. data/examples/complex/add.rb +36 -0
  22. data/examples/complex/coerce.rb +14 -0
  23. data/examples/complex/complex.rb +25 -0
  24. data/examples/complex/fpmi.rb +70 -0
  25. data/examples/complex/functions.rb +77 -0
  26. data/examples/complex/michelson.rb +36 -0
  27. data/examples/complex/mul.rb +28 -0
  28. data/examples/complex/oscillator.rb +17 -0
  29. data/examples/complex/set.rb +37 -0
  30. data/examples/const/physconst.rb +151 -0
  31. data/examples/const/travel.rb +45 -0
  32. data/examples/deriv/demo.rb +13 -0
  33. data/examples/deriv/deriv.rb +36 -0
  34. data/examples/deriv/diff.rb +35 -0
  35. data/examples/dht.rb +42 -0
  36. data/examples/dirac.rb +56 -0
  37. data/examples/eigen/eigen.rb +34 -0
  38. data/examples/eigen/herm.rb +22 -0
  39. data/examples/eigen/narray.rb +9 -0
  40. data/examples/eigen/nonsymm.rb +37 -0
  41. data/examples/eigen/nonsymmv.rb +43 -0
  42. data/examples/eigen/qhoscillator.gp +35 -0
  43. data/examples/eigen/qhoscillator.rb +90 -0
  44. data/examples/eigen/vander.rb +41 -0
  45. data/examples/fft/fft.rb +17 -0
  46. data/examples/fft/fft2.rb +17 -0
  47. data/examples/fft/forward.rb +25 -0
  48. data/examples/fft/forward2.rb +26 -0
  49. data/examples/fft/radix2.rb +18 -0
  50. data/examples/fft/real-halfcomplex.rb +33 -0
  51. data/examples/fft/real-halfcomplex2.rb +30 -0
  52. data/examples/fft/realradix2.rb +19 -0
  53. data/examples/fft/sunspot.dat +256 -0
  54. data/examples/fft/sunspot.rb +16 -0
  55. data/examples/fit/expdata.dat +20 -0
  56. data/examples/fit/expfit.rb +31 -0
  57. data/examples/fit/gaussfit.rb +29 -0
  58. data/examples/fit/gaussian_2peaks.rb +34 -0
  59. data/examples/fit/hillfit.rb +40 -0
  60. data/examples/fit/lognormal.rb +26 -0
  61. data/examples/fit/lorentzfit.rb +22 -0
  62. data/examples/fit/multifit.rb +72 -0
  63. data/examples/fit/ndlinear.rb +133 -0
  64. data/examples/fit/nonlinearfit.rb +89 -0
  65. data/examples/fit/plot.gp +36 -0
  66. data/examples/fit/polyfit.rb +9 -0
  67. data/examples/fit/powerfit.rb +21 -0
  68. data/examples/fit/sigmoidfit.rb +40 -0
  69. data/examples/fit/sinfit.rb +22 -0
  70. data/examples/fit/wlinear.rb +46 -0
  71. data/examples/fresnel.rb +11 -0
  72. data/examples/function/function.rb +36 -0
  73. data/examples/function/log.rb +7 -0
  74. data/examples/function/min.rb +33 -0
  75. data/examples/function/sin.rb +10 -0
  76. data/examples/function/synchrotron.rb +18 -0
  77. data/examples/gallery/butterfly.rb +7 -0
  78. data/examples/gallery/cayley.rb +12 -0
  79. data/examples/gallery/cornu.rb +23 -0
  80. data/examples/gallery/eight.rb +11 -0
  81. data/examples/gallery/koch.rb +40 -0
  82. data/examples/gallery/lemniscate.rb +11 -0
  83. data/examples/gallery/polar.rb +11 -0
  84. data/examples/gallery/rgplot/cossin.rb +35 -0
  85. data/examples/gallery/rgplot/rgplot.replaced +0 -0
  86. data/examples/gallery/rgplot/roesller.rb +55 -0
  87. data/examples/gallery/roesller.rb +39 -0
  88. data/examples/gallery/scarabaeus.rb +14 -0
  89. data/examples/histogram/cauchy.rb +27 -0
  90. data/examples/histogram/cauchy.sh +2 -0
  91. data/examples/histogram/exponential.rb +19 -0
  92. data/examples/histogram/gauss.rb +16 -0
  93. data/examples/histogram/gsl-histogram.rb +40 -0
  94. data/examples/histogram/histo2d.rb +31 -0
  95. data/examples/histogram/histo3d.rb +34 -0
  96. data/examples/histogram/histogram-pdf.rb +27 -0
  97. data/examples/histogram/histogram.rb +26 -0
  98. data/examples/histogram/integral.rb +28 -0
  99. data/examples/histogram/poisson.rb +27 -0
  100. data/examples/histogram/power.rb +25 -0
  101. data/examples/histogram/rebin.rb +17 -0
  102. data/examples/histogram/smp.dat +5 -0
  103. data/examples/histogram/xexp.rb +21 -0
  104. data/examples/integration/ahmed.rb +21 -0
  105. data/examples/integration/cosmology.rb +75 -0
  106. data/examples/integration/friedmann.gp +16 -0
  107. data/examples/integration/friedmann.rb +35 -0
  108. data/examples/integration/gamma-zeta.rb +35 -0
  109. data/examples/integration/integration.rb +22 -0
  110. data/examples/integration/qag.rb +8 -0
  111. data/examples/integration/qag2.rb +14 -0
  112. data/examples/integration/qag3.rb +8 -0
  113. data/examples/integration/qagi.rb +28 -0
  114. data/examples/integration/qagi2.rb +49 -0
  115. data/examples/integration/qagiu.rb +29 -0
  116. data/examples/integration/qagp.rb +20 -0
  117. data/examples/integration/qags.rb +14 -0
  118. data/examples/integration/qawc.rb +18 -0
  119. data/examples/integration/qawf.rb +41 -0
  120. data/examples/integration/qawo.rb +29 -0
  121. data/examples/integration/qaws.rb +30 -0
  122. data/examples/integration/qng.rb +17 -0
  123. data/examples/interp/demo.gp +20 -0
  124. data/examples/interp/demo.rb +45 -0
  125. data/examples/interp/interp.rb +37 -0
  126. data/examples/interp/points +10 -0
  127. data/examples/interp/spline.rb +20 -0
  128. data/examples/jacobi/deriv.rb +40 -0
  129. data/examples/jacobi/integrate.rb +34 -0
  130. data/examples/jacobi/interp.rb +43 -0
  131. data/examples/jacobi/jacobi.rb +11 -0
  132. data/examples/linalg/HH.rb +15 -0
  133. data/examples/linalg/HH_narray.rb +13 -0
  134. data/examples/linalg/LQ_solve.rb +73 -0
  135. data/examples/linalg/LU.rb +84 -0
  136. data/examples/linalg/LU2.rb +31 -0
  137. data/examples/linalg/LU_narray.rb +24 -0
  138. data/examples/linalg/PTLQ.rb +47 -0
  139. data/examples/linalg/QR.rb +18 -0
  140. data/examples/linalg/QRPT.rb +47 -0
  141. data/examples/linalg/QR_solve.rb +78 -0
  142. data/examples/linalg/QR_solve_narray.rb +13 -0
  143. data/examples/linalg/SV.rb +16 -0
  144. data/examples/linalg/SV_narray.rb +12 -0
  145. data/examples/linalg/SV_solve.rb +49 -0
  146. data/examples/linalg/chol.rb +29 -0
  147. data/examples/linalg/chol_narray.rb +15 -0
  148. data/examples/linalg/complex.rb +57 -0
  149. data/examples/linalg/invert_narray.rb +10 -0
  150. data/examples/math/const.rb +67 -0
  151. data/examples/math/elementary.rb +35 -0
  152. data/examples/math/functions.rb +41 -0
  153. data/examples/math/inf_nan.rb +34 -0
  154. data/examples/math/minmax.rb +22 -0
  155. data/examples/math/power.rb +18 -0
  156. data/examples/math/test.rb +31 -0
  157. data/examples/matrix/a.dat +0 -0
  158. data/examples/matrix/add.rb +45 -0
  159. data/examples/matrix/b.dat +4 -0
  160. data/examples/matrix/cat.rb +31 -0
  161. data/examples/matrix/colvectors.rb +24 -0
  162. data/examples/matrix/complex.rb +41 -0
  163. data/examples/matrix/det.rb +29 -0
  164. data/examples/matrix/diagonal.rb +23 -0
  165. data/examples/matrix/get_all.rb +159 -0
  166. data/examples/matrix/hilbert.rb +31 -0
  167. data/examples/matrix/iterator.rb +19 -0
  168. data/examples/matrix/matrix.rb +57 -0
  169. data/examples/matrix/minmax.rb +53 -0
  170. data/examples/matrix/mul.rb +39 -0
  171. data/examples/matrix/rand.rb +20 -0
  172. data/examples/matrix/read.rb +29 -0
  173. data/examples/matrix/rowcol.rb +47 -0
  174. data/examples/matrix/set.rb +41 -0
  175. data/examples/matrix/set_all.rb +100 -0
  176. data/examples/matrix/view.rb +32 -0
  177. data/examples/matrix/view_all.rb +148 -0
  178. data/examples/matrix/write.rb +23 -0
  179. data/examples/min.rb +29 -0
  180. data/examples/monte/miser.rb +47 -0
  181. data/examples/monte/monte.rb +47 -0
  182. data/examples/monte/plain.rb +47 -0
  183. data/examples/monte/vegas.rb +46 -0
  184. data/examples/multimin/bundle.rb +66 -0
  185. data/examples/multimin/cqp.rb +109 -0
  186. data/examples/multimin/fdfminimizer.rb +40 -0
  187. data/examples/multimin/fminimizer.rb +41 -0
  188. data/examples/multiroot/demo.rb +36 -0
  189. data/examples/multiroot/fdfsolver.rb +50 -0
  190. data/examples/multiroot/fsolver.rb +33 -0
  191. data/examples/multiroot/fsolver2.rb +32 -0
  192. data/examples/multiroot/fsolver3.rb +26 -0
  193. data/examples/narray/histogram.rb +14 -0
  194. data/examples/narray/mandel.rb +27 -0
  195. data/examples/narray/narray.rb +28 -0
  196. data/examples/narray/narray2.rb +44 -0
  197. data/examples/narray/sf.rb +26 -0
  198. data/examples/ntuple/create.rb +17 -0
  199. data/examples/ntuple/project.rb +31 -0
  200. data/examples/odeiv/binarysystem.gp +23 -0
  201. data/examples/odeiv/binarysystem.rb +104 -0
  202. data/examples/odeiv/demo.gp +24 -0
  203. data/examples/odeiv/demo.rb +69 -0
  204. data/examples/odeiv/demo2.gp +26 -0
  205. data/examples/odeiv/duffing.rb +45 -0
  206. data/examples/odeiv/frei1.rb +109 -0
  207. data/examples/odeiv/frei2.rb +76 -0
  208. data/examples/odeiv/legendre.rb +52 -0
  209. data/examples/odeiv/odeiv.rb +32 -0
  210. data/examples/odeiv/odeiv2.rb +45 -0
  211. data/examples/odeiv/oscillator.rb +42 -0
  212. data/examples/odeiv/sedov.rb +97 -0
  213. data/examples/odeiv/whitedwarf.gp +40 -0
  214. data/examples/odeiv/whitedwarf.rb +158 -0
  215. data/examples/ool/conmin.rb +100 -0
  216. data/examples/ool/gencan.rb +99 -0
  217. data/examples/ool/pgrad.rb +100 -0
  218. data/examples/ool/spg.rb +100 -0
  219. data/examples/pdf/bernoulli.rb +5 -0
  220. data/examples/pdf/beta.rb +7 -0
  221. data/examples/pdf/binomiral.rb +10 -0
  222. data/examples/pdf/cauchy.rb +6 -0
  223. data/examples/pdf/chisq.rb +8 -0
  224. data/examples/pdf/exponential.rb +7 -0
  225. data/examples/pdf/exppow.rb +6 -0
  226. data/examples/pdf/fdist.rb +7 -0
  227. data/examples/pdf/flat.rb +7 -0
  228. data/examples/pdf/gamma.rb +8 -0
  229. data/examples/pdf/gauss-tail.rb +5 -0
  230. data/examples/pdf/gauss.rb +6 -0
  231. data/examples/pdf/geometric.rb +5 -0
  232. data/examples/pdf/gumbel.rb +6 -0
  233. data/examples/pdf/hypergeometric.rb +11 -0
  234. data/examples/pdf/landau.rb +5 -0
  235. data/examples/pdf/laplace.rb +7 -0
  236. data/examples/pdf/logarithmic.rb +5 -0
  237. data/examples/pdf/logistic.rb +6 -0
  238. data/examples/pdf/lognormal.rb +6 -0
  239. data/examples/pdf/neg-binomiral.rb +10 -0
  240. data/examples/pdf/pareto.rb +7 -0
  241. data/examples/pdf/pascal.rb +10 -0
  242. data/examples/pdf/poisson.rb +5 -0
  243. data/examples/pdf/rayleigh-tail.rb +6 -0
  244. data/examples/pdf/rayleigh.rb +6 -0
  245. data/examples/pdf/tdist.rb +6 -0
  246. data/examples/pdf/weibull.rb +8 -0
  247. data/examples/permutation/ex1.rb +22 -0
  248. data/examples/permutation/permutation.rb +16 -0
  249. data/examples/poly/bell.rb +6 -0
  250. data/examples/poly/bessel.rb +6 -0
  251. data/examples/poly/cheb.rb +6 -0
  252. data/examples/poly/cheb_II.rb +6 -0
  253. data/examples/poly/cubic.rb +9 -0
  254. data/examples/poly/demo.rb +20 -0
  255. data/examples/poly/eval.rb +28 -0
  256. data/examples/poly/eval_derivs.rb +14 -0
  257. data/examples/poly/fit.rb +21 -0
  258. data/examples/poly/hermite.rb +6 -0
  259. data/examples/poly/poly.rb +13 -0
  260. data/examples/poly/quadratic.rb +25 -0
  261. data/examples/random/diffusion.rb +34 -0
  262. data/examples/random/gaussian.rb +9 -0
  263. data/examples/random/generator.rb +27 -0
  264. data/examples/random/hdsobol.rb +21 -0
  265. data/examples/random/poisson.rb +9 -0
  266. data/examples/random/qrng.rb +19 -0
  267. data/examples/random/randomwalk.rb +37 -0
  268. data/examples/random/randomwalk2d.rb +19 -0
  269. data/examples/random/rayleigh.rb +36 -0
  270. data/examples/random/rng.rb +33 -0
  271. data/examples/random/rngextra.rb +14 -0
  272. data/examples/roots/bisection.rb +25 -0
  273. data/examples/roots/brent.rb +43 -0
  274. data/examples/roots/demo.rb +30 -0
  275. data/examples/roots/newton.rb +46 -0
  276. data/examples/roots/recombination.gp +12 -0
  277. data/examples/roots/recombination.rb +61 -0
  278. data/examples/roots/steffenson.rb +48 -0
  279. data/examples/sf/ShiChi.rb +6 -0
  280. data/examples/sf/SiCi.rb +6 -0
  281. data/examples/sf/airy_Ai.rb +8 -0
  282. data/examples/sf/airy_Bi.rb +8 -0
  283. data/examples/sf/bessel_IK.rb +12 -0
  284. data/examples/sf/bessel_JY.rb +13 -0
  285. data/examples/sf/beta_inc.rb +9 -0
  286. data/examples/sf/clausen.rb +6 -0
  287. data/examples/sf/dawson.rb +5 -0
  288. data/examples/sf/debye.rb +9 -0
  289. data/examples/sf/dilog.rb +6 -0
  290. data/examples/sf/ellint.rb +6 -0
  291. data/examples/sf/expint.rb +8 -0
  292. data/examples/sf/fermi.rb +10 -0
  293. data/examples/sf/gamma_inc_P.rb +9 -0
  294. data/examples/sf/gegenbauer.rb +8 -0
  295. data/examples/sf/hyperg.rb +7 -0
  296. data/examples/sf/laguerre.rb +19 -0
  297. data/examples/sf/lambertW.rb +5 -0
  298. data/examples/sf/legendre_P.rb +10 -0
  299. data/examples/sf/lngamma.rb +5 -0
  300. data/examples/sf/psi.rb +54 -0
  301. data/examples/sf/sphbessel.gp +27 -0
  302. data/examples/sf/sphbessel.rb +30 -0
  303. data/examples/sf/synchrotron.rb +5 -0
  304. data/examples/sf/transport.rb +10 -0
  305. data/examples/sf/zetam1.rb +5 -0
  306. data/examples/siman.rb +44 -0
  307. data/examples/sort/heapsort.rb +23 -0
  308. data/examples/sort/heapsort_vector_complex.rb +21 -0
  309. data/examples/sort/sort.rb +23 -0
  310. data/examples/sort/sort2.rb +16 -0
  311. data/examples/stats/mean.rb +17 -0
  312. data/examples/stats/statistics.rb +18 -0
  313. data/examples/stats/test.rb +9 -0
  314. data/examples/sum.rb +34 -0
  315. data/examples/tamu_anova.rb +18 -0
  316. data/examples/vector/a.dat +0 -0
  317. data/examples/vector/add.rb +56 -0
  318. data/examples/vector/b.dat +4 -0
  319. data/examples/vector/c.dat +3 -0
  320. data/examples/vector/collect.rb +26 -0
  321. data/examples/vector/compare.rb +28 -0
  322. data/examples/vector/complex.rb +51 -0
  323. data/examples/vector/complex_get_all.rb +85 -0
  324. data/examples/vector/complex_set_all.rb +131 -0
  325. data/examples/vector/complex_view_all.rb +77 -0
  326. data/examples/vector/connect.rb +22 -0
  327. data/examples/vector/decimate.rb +38 -0
  328. data/examples/vector/diff.rb +31 -0
  329. data/examples/vector/filescan.rb +17 -0
  330. data/examples/vector/floor.rb +23 -0
  331. data/examples/vector/get_all.rb +82 -0
  332. data/examples/vector/gnuplot.rb +38 -0
  333. data/examples/vector/graph.rb +28 -0
  334. data/examples/vector/histogram.rb +22 -0
  335. data/examples/vector/linspace.rb +24 -0
  336. data/examples/vector/log.rb +17 -0
  337. data/examples/vector/logic.rb +33 -0
  338. data/examples/vector/logspace.rb +25 -0
  339. data/examples/vector/minmax.rb +47 -0
  340. data/examples/vector/mul.rb +49 -0
  341. data/examples/vector/narray.rb +46 -0
  342. data/examples/vector/read.rb +29 -0
  343. data/examples/vector/set.rb +35 -0
  344. data/examples/vector/set_all.rb +121 -0
  345. data/examples/vector/smpv.dat +15 -0
  346. data/examples/vector/test.rb +43 -0
  347. data/examples/vector/test_gslblock.rb +58 -0
  348. data/examples/vector/vector.rb +110 -0
  349. data/examples/vector/view.rb +35 -0
  350. data/examples/vector/view_all.rb +73 -0
  351. data/examples/vector/where.rb +29 -0
  352. data/examples/vector/write.rb +24 -0
  353. data/examples/vector/zip.rb +34 -0
  354. data/examples/wavelet/ecg.dat +256 -0
  355. data/examples/wavelet/wavelet1.rb +50 -0
  356. data/ext/alf.c +206 -0
  357. data/ext/array.c +642 -0
  358. data/ext/array_complex.c +248 -0
  359. data/ext/blas.c +29 -0
  360. data/ext/blas1.c +734 -0
  361. data/ext/blas2.c +1093 -0
  362. data/ext/blas3.c +881 -0
  363. data/ext/block.c +44 -0
  364. data/ext/block_source.c +887 -0
  365. data/ext/bspline.c +130 -0
  366. data/ext/bundle.c +3 -0
  367. data/ext/cdf.c +754 -0
  368. data/ext/cheb.c +542 -0
  369. data/ext/combination.c +283 -0
  370. data/ext/common.c +325 -0
  371. data/ext/complex.c +1004 -0
  372. data/ext/const.c +673 -0
  373. data/ext/const_additional.c +120 -0
  374. data/ext/cqp.c +283 -0
  375. data/ext/deriv.c +195 -0
  376. data/ext/dht.c +361 -0
  377. data/ext/diff.c +166 -0
  378. data/ext/dirac.c +389 -0
  379. data/ext/eigen.c +2373 -0
  380. data/ext/error.c +193 -0
  381. data/ext/extconf.rb +303 -0
  382. data/ext/fcmp.c +66 -0
  383. data/ext/fft.c +1102 -0
  384. data/ext/fit.c +205 -0
  385. data/ext/fresnel.c +312 -0
  386. data/ext/function.c +524 -0
  387. data/ext/geometry.c +139 -0
  388. data/ext/graph.c +1640 -0
  389. data/ext/gsl.c +280 -0
  390. data/ext/gsl_narray.c +804 -0
  391. data/ext/histogram.c +1991 -0
  392. data/ext/histogram2d.c +1068 -0
  393. data/ext/histogram3d.c +884 -0
  394. data/ext/histogram3d_source.c +750 -0
  395. data/ext/histogram_find.c +101 -0
  396. data/ext/histogram_oper.c +159 -0
  397. data/ext/ieee.c +100 -0
  398. data/ext/integration.c +1179 -0
  399. data/ext/interp.c +512 -0
  400. data/ext/jacobi.c +739 -0
  401. data/ext/linalg.c +4042 -0
  402. data/ext/linalg_complex.c +739 -0
  403. data/ext/math.c +725 -0
  404. data/ext/matrix.c +39 -0
  405. data/ext/matrix_complex.c +1737 -0
  406. data/ext/matrix_double.c +560 -0
  407. data/ext/matrix_int.c +256 -0
  408. data/ext/matrix_source.c +2734 -0
  409. data/ext/min.c +250 -0
  410. data/ext/monte.c +992 -0
  411. data/ext/multifit.c +1871 -0
  412. data/ext/multimin.c +806 -0
  413. data/ext/multimin_fsdf.c +156 -0
  414. data/ext/multiroots.c +955 -0
  415. data/ext/multiset.c +214 -0
  416. data/ext/ndlinear.c +321 -0
  417. data/ext/nmf.c +171 -0
  418. data/ext/nmf_wrap.c +75 -0
  419. data/ext/ntuple.c +469 -0
  420. data/ext/odeiv.c +962 -0
  421. data/ext/ool.c +879 -0
  422. data/ext/oper_complex_source.c +253 -0
  423. data/ext/permutation.c +596 -0
  424. data/ext/poly.c +42 -0
  425. data/ext/poly2.c +265 -0
  426. data/ext/poly_source.c +1915 -0
  427. data/ext/qrng.c +171 -0
  428. data/ext/randist.c +1873 -0
  429. data/ext/rational.c +480 -0
  430. data/ext/rng.c +612 -0
  431. data/ext/root.c +408 -0
  432. data/ext/sf.c +1494 -0
  433. data/ext/sf_airy.c +200 -0
  434. data/ext/sf_bessel.c +871 -0
  435. data/ext/sf_clausen.c +28 -0
  436. data/ext/sf_coulomb.c +206 -0
  437. data/ext/sf_coupling.c +121 -0
  438. data/ext/sf_dawson.c +29 -0
  439. data/ext/sf_debye.c +157 -0
  440. data/ext/sf_dilog.c +43 -0
  441. data/ext/sf_elementary.c +46 -0
  442. data/ext/sf_ellint.c +206 -0
  443. data/ext/sf_elljac.c +30 -0
  444. data/ext/sf_erfc.c +93 -0
  445. data/ext/sf_exp.c +169 -0
  446. data/ext/sf_expint.c +211 -0
  447. data/ext/sf_fermi_dirac.c +148 -0
  448. data/ext/sf_gamma.c +347 -0
  449. data/ext/sf_gegenbauer.c +97 -0
  450. data/ext/sf_hyperg.c +203 -0
  451. data/ext/sf_laguerre.c +113 -0
  452. data/ext/sf_lambert.c +47 -0
  453. data/ext/sf_legendre.c +368 -0
  454. data/ext/sf_log.c +105 -0
  455. data/ext/sf_mathieu.c +238 -0
  456. data/ext/sf_power.c +47 -0
  457. data/ext/sf_psi.c +98 -0
  458. data/ext/sf_synchrotron.c +48 -0
  459. data/ext/sf_transport.c +76 -0
  460. data/ext/sf_trigonometric.c +210 -0
  461. data/ext/sf_zeta.c +119 -0
  462. data/ext/signal.c +308 -0
  463. data/ext/siman.c +717 -0
  464. data/ext/sort.c +208 -0
  465. data/ext/spline.c +395 -0
  466. data/ext/stats.c +800 -0
  467. data/ext/sum.c +168 -0
  468. data/ext/tamu_anova.c +56 -0
  469. data/ext/tensor.c +38 -0
  470. data/ext/tensor_source.c +1123 -0
  471. data/ext/vector.c +38 -0
  472. data/ext/vector_complex.c +2246 -0
  473. data/ext/vector_double.c +1438 -0
  474. data/ext/vector_int.c +204 -0
  475. data/ext/vector_source.c +3336 -0
  476. data/ext/wavelet.c +945 -0
  477. data/include/rb_gsl.h +158 -0
  478. data/include/rb_gsl_array.h +238 -0
  479. data/include/rb_gsl_cheb.h +21 -0
  480. data/include/rb_gsl_common.h +348 -0
  481. data/include/rb_gsl_complex.h +25 -0
  482. data/include/rb_gsl_config.h +62 -0
  483. data/include/rb_gsl_const.h +29 -0
  484. data/include/rb_gsl_dirac.h +13 -0
  485. data/include/rb_gsl_eigen.h +17 -0
  486. data/include/rb_gsl_fft.h +62 -0
  487. data/include/rb_gsl_fit.h +25 -0
  488. data/include/rb_gsl_function.h +27 -0
  489. data/include/rb_gsl_graph.h +70 -0
  490. data/include/rb_gsl_histogram.h +63 -0
  491. data/include/rb_gsl_histogram3d.h +97 -0
  492. data/include/rb_gsl_integration.h +17 -0
  493. data/include/rb_gsl_interp.h +46 -0
  494. data/include/rb_gsl_linalg.h +25 -0
  495. data/include/rb_gsl_math.h +26 -0
  496. data/include/rb_gsl_odeiv.h +21 -0
  497. data/include/rb_gsl_poly.h +71 -0
  498. data/include/rb_gsl_rational.h +37 -0
  499. data/include/rb_gsl_rng.h +21 -0
  500. data/include/rb_gsl_root.h +22 -0
  501. data/include/rb_gsl_sf.h +119 -0
  502. data/include/rb_gsl_statistics.h +17 -0
  503. data/include/rb_gsl_tensor.h +45 -0
  504. data/include/rb_gsl_with_narray.h +29 -0
  505. data/include/templates_off.h +87 -0
  506. data/include/templates_on.h +241 -0
  507. data/lib/gsl.rb +3 -0
  508. data/lib/gsl/gnuplot.rb +41 -0
  509. data/lib/gsl/oper.rb +68 -0
  510. data/lib/ool.rb +22 -0
  511. data/lib/ool/conmin.rb +30 -0
  512. data/lib/rbgsl.rb +3 -0
  513. data/rdoc/alf.rdoc +77 -0
  514. data/rdoc/blas.rdoc +269 -0
  515. data/rdoc/bspline.rdoc +42 -0
  516. data/rdoc/changes.rdoc +164 -0
  517. data/rdoc/cheb.rdoc +99 -0
  518. data/rdoc/cholesky_complex.rdoc +46 -0
  519. data/rdoc/combi.rdoc +125 -0
  520. data/rdoc/complex.rdoc +210 -0
  521. data/rdoc/const.rdoc +546 -0
  522. data/rdoc/dht.rdoc +122 -0
  523. data/rdoc/diff.rdoc +133 -0
  524. data/rdoc/ehandling.rdoc +50 -0
  525. data/rdoc/eigen.rdoc +401 -0
  526. data/rdoc/fft.rdoc +535 -0
  527. data/rdoc/fit.rdoc +284 -0
  528. data/rdoc/function.rdoc +94 -0
  529. data/rdoc/graph.rdoc +137 -0
  530. data/rdoc/hist.rdoc +409 -0
  531. data/rdoc/hist2d.rdoc +279 -0
  532. data/rdoc/hist3d.rdoc +112 -0
  533. data/rdoc/index.rdoc +62 -0
  534. data/rdoc/integration.rdoc +398 -0
  535. data/rdoc/interp.rdoc +231 -0
  536. data/rdoc/intro.rdoc +27 -0
  537. data/rdoc/linalg.rdoc +681 -0
  538. data/rdoc/linalg_complex.rdoc +88 -0
  539. data/rdoc/math.rdoc +276 -0
  540. data/rdoc/matrix.rdoc +1093 -0
  541. data/rdoc/min.rdoc +189 -0
  542. data/rdoc/monte.rdoc +234 -0
  543. data/rdoc/multimin.rdoc +312 -0
  544. data/rdoc/multiroot.rdoc +293 -0
  545. data/rdoc/narray.rdoc +177 -0
  546. data/rdoc/ndlinear.rdoc +250 -0
  547. data/rdoc/nonlinearfit.rdoc +348 -0
  548. data/rdoc/ntuple.rdoc +88 -0
  549. data/rdoc/odeiv.rdoc +378 -0
  550. data/rdoc/perm.rdoc +221 -0
  551. data/rdoc/poly.rdoc +335 -0
  552. data/rdoc/qrng.rdoc +90 -0
  553. data/rdoc/randist.rdoc +233 -0
  554. data/rdoc/ref.rdoc +93 -0
  555. data/rdoc/rng.rdoc +203 -0
  556. data/rdoc/rngextra.rdoc +11 -0
  557. data/rdoc/roots.rdoc +305 -0
  558. data/rdoc/screenshot.rdoc +40 -0
  559. data/rdoc/sf.rdoc +1622 -0
  560. data/rdoc/siman.rdoc +89 -0
  561. data/rdoc/sort.rdoc +94 -0
  562. data/rdoc/start.rdoc +16 -0
  563. data/rdoc/stats.rdoc +219 -0
  564. data/rdoc/sum.rdoc +65 -0
  565. data/rdoc/tensor.rdoc +251 -0
  566. data/rdoc/tut.rdoc +5 -0
  567. data/rdoc/use.rdoc +177 -0
  568. data/rdoc/vector.rdoc +1243 -0
  569. data/rdoc/vector_complex.rdoc +347 -0
  570. data/rdoc/wavelet.rdoc +218 -0
  571. data/setup.rb +1585 -0
  572. data/tests/blas/amax.rb +14 -0
  573. data/tests/blas/asum.rb +16 -0
  574. data/tests/blas/axpy.rb +25 -0
  575. data/tests/blas/copy.rb +23 -0
  576. data/tests/blas/dot.rb +23 -0
  577. data/tests/bspline.rb +53 -0
  578. data/tests/cdf.rb +1388 -0
  579. data/tests/cheb.rb +112 -0
  580. data/tests/combination.rb +123 -0
  581. data/tests/complex.rb +17 -0
  582. data/tests/const.rb +24 -0
  583. data/tests/deriv.rb +85 -0
  584. data/tests/dht/dht1.rb +17 -0
  585. data/tests/dht/dht2.rb +23 -0
  586. data/tests/dht/dht3.rb +23 -0
  587. data/tests/dht/dht4.rb +23 -0
  588. data/tests/diff.rb +78 -0
  589. data/tests/eigen/eigen.rb +220 -0
  590. data/tests/eigen/gen.rb +105 -0
  591. data/tests/eigen/genherm.rb +66 -0
  592. data/tests/eigen/gensymm.rb +68 -0
  593. data/tests/eigen/nonsymm.rb +53 -0
  594. data/tests/eigen/nonsymmv.rb +53 -0
  595. data/tests/eigen/symm-herm.rb +74 -0
  596. data/tests/err.rb +58 -0
  597. data/tests/fit.rb +124 -0
  598. data/tests/gsl_test.rb +118 -0
  599. data/tests/gsl_test2.rb +110 -0
  600. data/tests/histo.rb +12 -0
  601. data/tests/integration/integration1.rb +72 -0
  602. data/tests/integration/integration2.rb +71 -0
  603. data/tests/integration/integration3.rb +71 -0
  604. data/tests/integration/integration4.rb +71 -0
  605. data/tests/interp.rb +45 -0
  606. data/tests/linalg/HH.rb +64 -0
  607. data/tests/linalg/LU.rb +47 -0
  608. data/tests/linalg/QR.rb +77 -0
  609. data/tests/linalg/SV.rb +24 -0
  610. data/tests/linalg/TDN.rb +116 -0
  611. data/tests/linalg/TDS.rb +122 -0
  612. data/tests/linalg/bidiag.rb +73 -0
  613. data/tests/linalg/cholesky.rb +20 -0
  614. data/tests/linalg/linalg.rb +158 -0
  615. data/tests/matrix/matrix_complex_test.rb +36 -0
  616. data/tests/matrix/matrix_nmf_test.rb +39 -0
  617. data/tests/matrix/matrix_test.rb +48 -0
  618. data/tests/min.rb +99 -0
  619. data/tests/monte/miser.rb +31 -0
  620. data/tests/monte/vegas.rb +45 -0
  621. data/tests/multifit/test_2dgauss.rb +112 -0
  622. data/tests/multifit/test_brown.rb +90 -0
  623. data/tests/multifit/test_enso.rb +246 -0
  624. data/tests/multifit/test_filip.rb +155 -0
  625. data/tests/multifit/test_gauss.rb +97 -0
  626. data/tests/multifit/test_longley.rb +110 -0
  627. data/tests/multifit/test_multifit.rb +52 -0
  628. data/tests/multimin.rb +139 -0
  629. data/tests/multiroot.rb +131 -0
  630. data/tests/multiset.rb +52 -0
  631. data/tests/narray/blas_dnrm2.rb +20 -0
  632. data/tests/odeiv.rb +353 -0
  633. data/tests/poly/poly.rb +290 -0
  634. data/tests/poly/special.rb +65 -0
  635. data/tests/qrng.rb +131 -0
  636. data/tests/quartic.rb +29 -0
  637. data/tests/randist.rb +134 -0
  638. data/tests/rng.rb +305 -0
  639. data/tests/roots.rb +76 -0
  640. data/tests/run-test.sh +17 -0
  641. data/tests/sf/gsl_test_sf.rb +249 -0
  642. data/tests/sf/test_airy.rb +83 -0
  643. data/tests/sf/test_bessel.rb +306 -0
  644. data/tests/sf/test_coulomb.rb +17 -0
  645. data/tests/sf/test_dilog.rb +25 -0
  646. data/tests/sf/test_gamma.rb +209 -0
  647. data/tests/sf/test_hyperg.rb +356 -0
  648. data/tests/sf/test_legendre.rb +227 -0
  649. data/tests/sf/test_mathieu.rb +59 -0
  650. data/tests/sf/test_mode.rb +19 -0
  651. data/tests/sf/test_sf.rb +839 -0
  652. data/tests/stats.rb +174 -0
  653. data/tests/stats_mt.rb +16 -0
  654. data/tests/sum.rb +98 -0
  655. data/tests/sys.rb +323 -0
  656. data/tests/tensor.rb +419 -0
  657. data/tests/vector/vector_complex_test.rb +101 -0
  658. data/tests/vector/vector_test.rb +141 -0
  659. data/tests/wavelet.rb +142 -0
  660. metadata +789 -0
@@ -0,0 +1,22 @@
1
+
2
+ module OOL
3
+ module Conmin
4
+ class Pgrad_parameters < Array
5
+ attr_accessor :fmin, :tol, :alpha, :sigma1, :sigma2
6
+ end
7
+ class Spg_parameters < Array
8
+ attr_accessor :fmin, :tol, :M, :alphamin, :alphamax, :gamma
9
+ attr_accessor :sigma1, :sigma2
10
+ end
11
+ class Gencan_parameters < Array
12
+ attr_accessor :epsgpen, :epsgpsn, :fmin, :udelta0
13
+ attr_accessor :ucgmia, :ucgmib
14
+ attr_accessor :cg_scre, :cg_gpnf, :cg_epsi, :cg_epsf
15
+ attr_accessor :cg_epsnqmp, :cg_maxitnqmp, :nearlyq
16
+ attr_accessor :nint, :next, :mininterp, :maxextrap
17
+ attr_accessor :trtype, :eta, :deltamin, :lspgmi, :lspgma
18
+ attr_accessor :theta, :gamma, :beta, :sigma1, :sigma2
19
+ attr_accessor :epsrel, :epsabs, :infrel, :infabs
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,30 @@
1
+
2
+ module OOL
3
+ module Conmin
4
+ class Minimizer
5
+ class Pgrad
6
+ class Parameters
7
+ attr_accessor :fmin, :tol, :alpha, :sigma1, :sigma2
8
+ end
9
+ end
10
+ class Spg
11
+ class Parameters
12
+ attr_accessor :fmin, :tol, :M, :alphamin, :alphamax, :gamma
13
+ attr_accessor :sigma1, :sigma2
14
+ end
15
+ end
16
+ class Gencan
17
+ class Parameters
18
+ attr_accessor :epsgpen, :epsgpsn, :fmin, :udelta0
19
+ attr_accessor :ucgmia, :ucgmib
20
+ attr_accessor :cg_scre, :cg_gpnf, :cg_epsi, :cg_epsf
21
+ attr_accessor :cg_epsnqmp, :cg_maxitnqmp, :nearlyq
22
+ attr_accessor :nint, :next, :mininterp, :maxextrap
23
+ attr_accessor :trtype, :eta, :deltamin, :lspgmi, :lspgma
24
+ attr_accessor :theta, :gamma, :beta, :sigma1, :sigma2
25
+ attr_accessor :epsrel, :epsabs, :infrel, :infabs
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,3 @@
1
+ require('narray')
2
+ require('rb_gsl')
3
+ require('gsl/oper.rb')
@@ -0,0 +1,77 @@
1
+ #
2
+ # = ALF: a collection of routines for computing associated Legendre polynomials (ALFs)
3
+ # ALF is an extension library for GSL to compute associated Legendre polynomials developed by Patrick Alken.
4
+ # Ruby/GSL includes interfaces to it if ALF is found during installlation.
5
+ #
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
+ #
8
+ # == {}[link:index.html"name="1] Module structure
9
+ # * GSL::ALF (module)
10
+ # * GSL::ALF::Workspace (Class)
11
+ #
12
+ # == {}[link:index.html"name="2] Creating ALF workspace
13
+ # ---
14
+ # * GSL::ALF::Workspace.alloc(lmax)
15
+ # * GSL::ALF.alloc(lmax)
16
+ #
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
+ #
19
+ # == {}[link:index.html"name="3] Methods
20
+ # ---
21
+ # * GSL::ALF::Workspace#params(csphase, cnorm, norm)
22
+ #
23
+ # Sets various parameters for the subsequent computation of ALFs. If
24
+ # <tt>csphase</tt> is set to a non-zero value, the Condon-Shortley phase of
25
+ # (-1)^m will be applied to the associated Legendre functions. The
26
+ # Condon-Shortley phase is included by default. If <tt>cnorm</tt> is set to
27
+ # zero, the real normalization of the associated Legendre functions will be
28
+ # used. The default is to use complex normalization. The norm parameter
29
+ # defines the type of normalization which will be used. The possible values
30
+ # are as follows.
31
+ # * ALF::NORM_SCHMIDT: Schmidt semi-normalized associated Legendre polynomials S_l^m(x). (default)
32
+ # * ALF::NORM_SPHARM: Associated Legendre polynomials Y_l^m(x) suitable for the calculation of spherical harmonics.
33
+ # * ALF::NORM_ORTHO: Fully orthonormalized associated Legendre polynomials N_l^m(x).
34
+ # * ALF::NORM_NONE:: Unnormalized associated Legendre polynomials P_l^m(x).
35
+ # ---
36
+ # * GSL::ALF::Workspace#Plm_array(x)
37
+ # * GSL::ALF::Workspace#Plm_array(lmax, x)
38
+ # * GSL::ALF::Workspace#Plm_array(x, result)
39
+ # * GSL::ALF::Workspace#Plm_array(lmax, x, result)
40
+ # * GSL::ALF::Workspace#Plm_array(x, result, deriv)
41
+ # * GSL::ALF::Workspace#Plm_array(lmax, x, result, deriv)
42
+ #
43
+ # Compute all associated Legendre polynomials P_l^m(x) and optionally their
44
+ # first derivatives dP_l^m(x)/dx for 0 <= l <= lmax, 0 <= m <= l. The value
45
+ # of <tt>lmax</tt> cannot exceed the previously specified lmax parameter to
46
+ # <tt>ALF.alloc</tt>, but may be less. If <tt>lmax</tt> is not given, the
47
+ # parameter to <tt>ALF.alloc()</tt> is used. The results are stored in
48
+ # <tt>result</tt>, an instance of <tt>GSL::Vector</tt>. Note that this vector
49
+ # must have enough length to store all the values for the polynomial
50
+ # P_l^m(x), and the length required can be known using
51
+ # <tt>ALF::array_size(lmax)</tt>. If a vector is not given, a new vector is
52
+ # created and returned.
53
+ #
54
+ # The indices of <tt>result</tt> (and <tt>deriv</tt> corresponding to the
55
+ # associated Legendre function of degree <tt>l</tt> and order <tt>m</tt> can
56
+ # be obtained by calling <tt>ALF::array_index(l, m)</tt>.
57
+ # ---
58
+ # * GSL::ALF::Workspace#Plm_deriv_array(x)
59
+ # * GSL::ALF::Workspace#Plm_deriv_array(lmax, x)
60
+ # * GSL::ALF::Workspace#Plm_deriv_array(x, result, deriv)
61
+ # * GSL::ALF::Workspace#Plm_deriv_array(lmax, x, result, deriv)
62
+ #
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.
65
+ #
66
+ # ---
67
+ # * GSL::ALF::array_size(lmax)
68
+ #
69
+ # Returns the size of arrays needed for the array versions of P_l^m(x).
70
+ # ---
71
+ # * GSL::ALF::array_index(l, m)
72
+ #
73
+ # Returns the array index of results of <tt>Plm_array()</tt> and
74
+ # <tt>Plm_deriv_array()</tt> corresponding to P_l^m(x) and dP_l^m(x)/dx
75
+ # respectively. The index is given by l(l + 1)/2 + m.
76
+ #
77
+ #
@@ -0,0 +1,269 @@
1
+ #
2
+ # = BLAS Support
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.
5
+ #
6
+ # == {}[link:index.html"name="1] Level 1
7
+ # ---
8
+ # * GSL::Blas::ddot(x, y)
9
+ # * GSL::Vector#blas_ddot(y)
10
+ # * GSL::Vector#ddot(y)
11
+ #
12
+ #
13
+ # ---
14
+ # * GSL::Blas::zdotu(x, y)
15
+ # * GSL::Vector::Complex#blas_zdotu(y)
16
+ # * GSL::Vector::Complex#zdotu(y)
17
+ #
18
+ #
19
+ # ---
20
+ # * GSL::Blas::zdotc(x, y)
21
+ # * GSL::Vector::Complex#blas_zdotc(y)
22
+ # * GSL::Vector::Complex#zdotc(y)
23
+ #
24
+ #
25
+ # ---
26
+ # * GSL::Blas::dnrm2(x)
27
+ # * GSL::Vector#blas_dnrm2
28
+ # * GSL::Vector#dnrm2
29
+ #
30
+ #
31
+ # ---
32
+ # * GSL::Blas::dznrm2(x)
33
+ # * GSL::Vector::Complex#blas_dznrm2
34
+ # * GSL::Vector::Complex#dznrm2
35
+ #
36
+ #
37
+ # ---
38
+ # * GSL::Blas::dasum(x)
39
+ # * GSL::Vector#blas_dasum
40
+ # * GSL::Vector#dasum
41
+ #
42
+ #
43
+ # ---
44
+ # * GSL::Blas::dzasum(x)
45
+ # * GSL::Vector::Complex#blas_dzasum
46
+ # * GSL::Vector::Complex#dzasum
47
+ #
48
+ #
49
+ # ---
50
+ # * GSL::Blas::idamax(x)
51
+ # * GSL::Vector#blas_idamax
52
+ # * GSL::Vector#idamax
53
+ #
54
+ #
55
+ # ---
56
+ # * GSL::Blas::izamax(x)
57
+ # * GSL::Vector::Complex#blas_izamax
58
+ # * GSL::Vector::Complex#izamax
59
+ #
60
+ #
61
+ # ---
62
+ # * GSL::Blas::dswap(x, y)
63
+ # * GSL::Vector#blas_dswap(y)
64
+ # * GSL::Vector#dswap(y)
65
+ #
66
+ #
67
+ # ---
68
+ # * GSL::Blas::zswap(x, y)
69
+ # * GSL::Vector::Complex#blas_zswap(y)
70
+ # * GSL::Vector::Complex#zswap(y)
71
+ #
72
+ #
73
+ # ---
74
+ # * GSL::Blas::dcopy(x, y)
75
+ # * GSL::Vector#blas_dcopy(y)
76
+ # * GSL::Vector#dcopy(y)
77
+ #
78
+ #
79
+ # ---
80
+ # * GSL::Blas::zcopy(x, y)
81
+ # * GSL::Vector::Complex#blas_zcopy(y)
82
+ # * GSL::Vector::Complex#zcopy(y)
83
+ #
84
+ #
85
+ # ---
86
+ # * GSL::Blas::daxpy!(a, x, y)
87
+ # * GSL::Vector#blas_daxpy!(a, y)
88
+ # * GSL::Vector#daxpy!(a, y)
89
+ # * GSL::Blas::daxpy(a, x, y)
90
+ # * GSL::Vector#blas_daxpy(a, y)
91
+ # * GSL::Vector#daxpy(a, y)
92
+ #
93
+ #
94
+ # ---
95
+ # * GSL::Blas::zaxpy!(a, x, y)
96
+ # * GSL::Vector::Complex#blas_zaxpy!(a, y)
97
+ # * GSL::Vector::Complex#zaxpy!(a, y)
98
+ # * GSL::Blas::zaxpy(a, x, y)
99
+ # * GSL::Vector::Complex#blas_zaxpy(a, y)
100
+ # * GSL::Vector::Complex#zaxpy(a, y)
101
+ #
102
+ #
103
+ # ---
104
+ # * GSL::Blas::dscal!(a, x)
105
+ # * GSL::Vector#blas_dscal!(a)
106
+ # * GSL::Vector#dscal!(a)
107
+ # * GSL::Blas::dscal(a, x)
108
+ # * GSL::Vector#blas_dscal(a)
109
+ # * GSL::Vector#dscal(a)
110
+ #
111
+ #
112
+ # ---
113
+ # * GSL::Blas::zscal!(a, x)
114
+ # * GSL::Vector::Complex#blas_zscal!(a)
115
+ # * GSL::Vector::Complex#zscal!(a)
116
+ # * GSL::Blas::zscal(a, x)
117
+ # * GSL::Vector::Complex#blas_zscal(a)
118
+ # * GSL::Vector::Complex#zscal(a)
119
+ #
120
+ #
121
+ # ---
122
+ # * GSL::Blas::zdscal!(a, x)
123
+ # * GSL::Vector::Complex#blas_zdscal!(a)
124
+ # * GSL::Vector::Complex#zdscal!(a)
125
+ # * GSL::Blas::zdscal(a, x)
126
+ # * GSL::Vector::Complex#blas_zdscal(a)
127
+ # * GSL::Vector::Complex#zdscal(a)
128
+ #
129
+ #
130
+ # ---
131
+ # * GSL::Blas::drot(x, y, c, s)
132
+ # * GSL::Blas::drot!(x, y, c, s)
133
+ # * GSL::Blas::drotm(x, y, p)
134
+ # * GSL::Blas::drotm!(x, y, p)
135
+ #
136
+ #
137
+ # == {}[link:index.html"name="2] Level 2
138
+ # ---
139
+ # * GSL::Blas::dgemv(trans, a, A, x, b, y)
140
+ # * GSL::Blas::dgemv!(trans, a, A, x, b, y)
141
+ # * GSL::Blas::zgemv(trans, a, A, x, b, y)
142
+ # * GSL::Blas::zgemv!(trans, a, A, x, b, y)
143
+ #
144
+ #
145
+ # ---
146
+ # * GSL::Blas::dtrmv(trans, a, A, x, b, y)
147
+ # * GSL::Blas::dtrmv!(trans, a, A, x, b, y)
148
+ # * GSL::Blas::ztrmv(trans, a, A, x, b, y)
149
+ # * GSL::Blas::ztrmv!(trans, a, A, x, b, y)
150
+ #
151
+ #
152
+ # ---
153
+ # * GSL::Blas::dtrsv(uplo, trans, diag, A, x)
154
+ # * GSL::Blas::dtrsv!uplo, trans, diag, A, x)
155
+ # * GSL::Blas::ztrsvuplo, trans, diag, A, x)
156
+ # * GSL::Blas::ztrsv!uplo, trans, diag, A, x)
157
+ #
158
+ #
159
+ # ---
160
+ # * GSL::Blas::dsymv(uplo, a, A, x, b, y)
161
+ # * GSL::Blas::dsymv!(uplo, a, A, x, b, y)
162
+ # * GSL::Blas::zhemv(uplo, a, A, x, b, y)
163
+ # * GSL::Blas::zhemv!(uplo, a, A, x, b, y)
164
+ #
165
+ #
166
+ # ---
167
+ # * GSL::Blas::dger(a, x, y, A)
168
+ # * GSL::Blas::dger!(a, x, y, A)
169
+ # * GSL::Blas::zgeru(a, x, y, A)
170
+ # * GSL::Blas::zgeru!(a, x, y, A)
171
+ # * GSL::Blas::zgerc(a, x, y, A)
172
+ # * GSL::Blas::zgerc!(a, x, y, A)
173
+ #
174
+ #
175
+ # ---
176
+ # * GSL::Blas::dsyr(uplo, a, x, A)
177
+ # * GSL::Blas::dsyr!(uplo, a, x, A)
178
+ # * GSL::Blas::zher(uplo, a, x, A)
179
+ # * GSL::Blas::zher!(uplo, a, x, A)
180
+ #
181
+ #
182
+ # ---
183
+ # * GSL::Blas::dsyr2(uplo, a, x, y, A)
184
+ # * GSL::Blas::dsyr2!(uplo, a, x, y, A)
185
+ # * GSL::Blas::zher2(uplo, a, x, y, A)
186
+ # * GSL::Blas::zher2!(uplo, a, x, y, A)
187
+ #
188
+ #
189
+ # == {}[link:index.html"name="3] Level 3
190
+ # ---
191
+ # * GSL::Blas::dgemm(transA, transB, alpha, A, B, beta, C)
192
+ # * GSL::Blas::dgemm(A, B)
193
+ #
194
+ #
195
+ # ---
196
+ # * GSL::Blas::zgemm(transA, transB, alpha, A, B, beta, C)
197
+ # * GSL::Blas::zgemm(A, B)
198
+ #
199
+ #
200
+ # ---
201
+ # * GSL::Blas::dsymm(transA, transB, alpha, A, B, beta, C)
202
+ # * GSL::Blas::dsymm(A, B)
203
+ #
204
+ #
205
+ # ---
206
+ # * GSL::Blas::zsymm(transA, transB, alpha, A, B, beta, C)
207
+ # * GSL::Blas::zsymm(A, B)
208
+ #
209
+ #
210
+ # ---
211
+ # * GSL::Blas::zhemm(transA, transB, alpha, A, B, beta, C)
212
+ # * GSL::Blas::zhemm(A, B)
213
+ #
214
+ #
215
+ # ---
216
+ # * GSL::Blas::dtrmm(side, uplo, trans, diag, alpha, A, B)
217
+ # * GSL::Blas::ztrmm(side, uplo, trans, diag, alpha, A, B)
218
+ #
219
+ #
220
+ # ---
221
+ # * GSL::Blas::dtrsm(side, uplo, trans, diag, alpha, A, B)
222
+ # * GSL::Blas::ztrsm(side, uplo, trans, diag, alpha, A, B)
223
+ #
224
+ #
225
+ # ---
226
+ # * GSL::Blas::dsyrk(uplo, trans, diag, alpha, A, beta, C)
227
+ # * GSL::Blas::zsyrk(uplo, trans, diag, alpha, A, beta, C)
228
+ # * GSL::Blas::zherk(uplo, trans, diag, alpha, A, beta, C)
229
+ #
230
+ #
231
+ # ---
232
+ # * GSL::Blas::dsyr2k(uplo, trans, diag, alpha, A, B, beta, C)
233
+ # * GSL::Blas::zsyr2k(uplo, trans, diag, alpha, A, B, beta, C)
234
+ # * GSL::Blas::zher2k(uplo, trans, diag, alpha, A, B, beta, C)
235
+ #
236
+ #
237
+ # == {}[link:index.html"name="4] Constants
238
+ # ---
239
+ # * GSL::Blas::CblasRowMajor
240
+ # * GSL::Blas::RowMajor
241
+ # * GSL::Blas::CblasColMajor
242
+ # * GSL::Blas::ColMajor
243
+ # * GSL::Blas::CblasNoTrans
244
+ # * GSL::Blas::NoTrans
245
+ # * GSL::Blas::CblasTrans
246
+ # * GSL::Blas::Trans
247
+ # * GSL::Blas::CblasConjTrans
248
+ # * GSL::Blas::ConjTrans
249
+ # * GSL::Blas::CblasUpper
250
+ # * GSL::Blas::Upper
251
+ # * GSL::Blas::CblasTrans
252
+ # * GSL::Blas::Lower
253
+ # * GSL::Blas::CblasNonUnit
254
+ # * GSL::Blas::NonUnit
255
+ # * GSL::Blas::CblasUnit
256
+ # * GSL::Blas::Unit
257
+ # * GSL::Blas::CblasLeft
258
+ # * GSL::Blas::Left
259
+ # * GSL::Blas::CblasRight
260
+ # * GSL::Blas::Right
261
+ #
262
+ #
263
+ # {prev}[link:files/rdoc/sort_rdoc.html]
264
+ # {next}[link:files/rdoc/linalg_rdoc.html]
265
+ #
266
+ # {Reference index}[link:files/rdoc/ref_rdoc.html]
267
+ # {top}[link:files/rdoc/index_rdoc.html]
268
+ #
269
+ #
@@ -0,0 +1,42 @@
1
+ #
2
+ # = Basis Splines
3
+ # This chapter describes functions for the computation of smoothing basis splines (B-splines). This is only for GSL-1.9 or later.
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]
9
+ #
10
+ # == {}[link:index.html"name="1] Overview
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.
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.
15
+ #
16
+ # == {}[link:index.html"name="2] Initializing the B-splines solver
17
+ # ---
18
+ # * GSL::BSpline.alloc(k, nbreak)
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>.
21
+ #
22
+ # == {}[link:index.html"name="3] Constructing the knots vector
23
+ # ---
24
+ # * GSL::BSpline#knots(breakpts)
25
+ #
26
+ # This method computes the knots associated with the given breakpoints <tt>breakpts</tt> and returns the knots as a <tt>GSL::Vector::View</tt> object.
27
+ # ---
28
+ # * GSL::BSpline#knots_uniform(a, b)
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
32
+ # ---
33
+ # * GSL::BSpline#eval(x[, B])
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.
36
+ #
37
+ # {prev}[link:files/rdoc/nonlinearfit_rdoc.html]
38
+ # {next}[link:files/rdoc/const_rdoc.html]
39
+ #
40
+ # {Reference index}[link:files/rdoc/ref_rdoc.html]
41
+ # {top}[link:files/rdoc/index_rdoc.html]
42
+ #