rb-gsl 1.16.0.5 → 1.16.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,231 +0,0 @@
1
- #
2
- # = Interpolation
3
- # This chapter describes functions for performing interpolation.
4
- # The library provides a variety of interpolation methods, including
5
- # Cubic splines and Akima splines. The interpolation types are interchangeable,
6
- # allowing different methods to be used without recompiling. Interpolations can
7
- # be defined for both normal and periodic boundary conditions. Additional
8
- # functions are available for computing derivatives and integrals of
9
- # interpolating functions.
10
- #
11
- # 1. {Interpolation classes}[link:rdoc/interp_rdoc.html#label-Interpolation+Classes]
12
- # 1. {Initializing interpolation objects}[link:rdoc/interp_rdoc.html#label-Initializing+interpolation+objects]
13
- # 1. {Index Look-up and Acceleration}[link:rdoc/interp_rdoc.html#label-Index+Look-up+and+Acceleration]
14
- # 1. {Evaluation of Interpolating Functions}[link:rdoc/interp_rdoc.html#label-Evaluation+of+Interpolating+Functions]
15
- # 1. {Higher level interface: GSL::Spline class}[link:rdoc/interp_rdoc.html#label-Higher+level+interface]
16
- # 1. {Class initialization}[link:rdoc/interp_rdoc.html#label-Class+initialization]
17
- # 1. {Evaluation}[link:rdoc/interp_rdoc.html#label-Evaluation]
18
- # 1. {Finding and acceleration}[link:rdoc/interp_rdoc.html#label-Finding+and+acceleration]
19
- #
20
- # == Interpolation Classes
21
- # * GSL
22
- # * Interp (class)
23
- # * Accel (class)
24
- # * Spline (class)
25
- #
26
- # == Initializing interpolation objects
27
- #
28
- # ---
29
- # * GSL::Interp.alloc(T, n)
30
- # * GSL::Interp.alloc(T, x, y)
31
- # * GSL::Interp.alloc(x, y)
32
- #
33
- # These methods create an interpolation object of type <tt>T</tt> for <tt>n</tt>
34
- # data-points.
35
- #
36
- # The library provides six types, which are specifiled by an identifier of a
37
- # constant or a string:
38
- #
39
- # * Interp::LINEAR or "linear"
40
- #
41
- # Linear interpolation. This interpolation method does not require any additional memory.
42
- # * Interp::POLYNOMIAL or "polynomial"
43
- #
44
- # Polynomial interpolation. This method should only be used for interpolating small numbers of points because polynomial interpolation introduces large oscillations, even for well-behaved datasets. The number of terms in the interpolating polynomial is equal to the number of points.
45
- #
46
- # * Interp::CSPLINE or "cspline"
47
- #
48
- # Cubic spline with natural boundary conditions.
49
- # * Interp::CSPLINE_PERIODIC or "gsl_cspline_periodic" or "cspline_periodic"
50
- #
51
- # Cubic spline with periodic boundary conditions
52
- # * Interp::AKIMA or "akima"
53
- #
54
- # Non-rounded Akima spline with natural boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.
55
- # * Interp::AKIMA_PERIODIC or "akima_periodic"
56
- #
57
- # Non-rounded Akima spline with periodic boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.
58
- #
59
- # * ex: For cubic spline for 10 points,
60
- # sp = Interp.alloc("cspline", 10)
61
- #
62
- # ---
63
- # * GSL::Interp#init(xa, ya)
64
- #
65
- # This method initializes the interpolation object interp for the data
66
- # <tt>(xa,ya)</tt> where <tt>xa</tt> and <tt>ya</tt> are vectors.
67
- # The interpolation object (<tt>GSL::Interp</tt>) does not save the data
68
- # vectors <tt>xa, ya</tt> and only stores the static state computed from the data.
69
- # The <tt>xa</tt> vector is always assumed to be strictly ordered; the behavior
70
- # for other arrangements is not defined.
71
- #
72
- #
73
- # ---
74
- # * GSL::Interp#name
75
- #
76
- # This returns the name of the interpolation type used by <tt>self</tt>.
77
- #
78
- #
79
- #
80
- # ---
81
- # * GSL::Interp#min_size
82
- #
83
- # This returns the minimum number of points required by the interpolation
84
- # type of <tt>self</tt>. For example, Akima spline interpolation requires
85
- # a minimum of 5 points.
86
- #
87
- # == Index Look-up and Acceleration
88
- # ---
89
- # * GSL::Interp.bsearch(xa, x, index_lo, index_hi)
90
- #
91
- # This returns the index i of the vector <tt>xa</tt> such that
92
- # <tt>xa[i] <= x < x[i+1]</tt>. The index is searched for in the range
93
- # <tt>[index_lo,index_hi]</tt>.
94
- #
95
- #
96
- # ---
97
- # * GSL::Interp#accel
98
- #
99
- # In C level, the library requires a <tt>gsl_interp_accel</tt> object,
100
- # but it is hidden in Ruby/GSL. It is automatically allocated
101
- # when a <tt>GSL::Interp</tt> object is created, stored in it,
102
- # and destroyed when the <tt>Interp</tt> object
103
- # is cleaned by the Ruby GC.
104
- # This method is used to access to the <tt>Interp::Accel</tt> object
105
- # stored in <tt>self</tt>.
106
- #
107
- # ---
108
- # * GSL::Interp#find(xa, x)
109
- # * GSL::Interp#accel_find(xa, x)
110
- # * GSL::Interp::Accel#find(xa, x)
111
- #
112
- # This method performs a lookup action on the data array <tt>xa</tt>.
113
- # This is how lookups are performed during evaluation
114
- # of an interpolation. The function returns an index <tt>i</tt> such that
115
- # <tt>xa[i] <= x < xa[i+1]</tt>.
116
- #
117
- #
118
- # == Evaluation of Interpolating Functions
119
- #
120
- # ---
121
- # * GSL::Interp#eval(xa, ya, x)
122
- # * GSL::Interp#eval_e(xa, ya, x)
123
- #
124
- # These methods return the interpolated value for a given point <tt>x</tt>,
125
- # using the interpolation object <tt>self</tt>, data vectors <tt>xa</tt> and <tt>ya</tt>.
126
- # The data <tt>x</tt> can be a <tt>Numeric, Vector, Matrix</tt> or an <tt>NArray</tt>.
127
- # ---
128
- # * GSL::Interp#eval_deriv(xa, ya, x)
129
- # * GSL::Interp#eval_deriv_e(xa, ya, x)
130
- #
131
- # These methods return the derivative of an interpolated function for a
132
- # given point <tt>x</tt>, using the interpolation object <tt>self</tt>,
133
- # data vectors <tt>xa</tt> and <tt>ya</tt>.
134
- #
135
- # ---
136
- # * GSL::Interp#eval_deriv2(xa, ya, x)
137
- # * GSL::Interp#eval_deriv2_e(xa, ya, x)
138
- #
139
- # These methods return the second derivative of an interpolated function
140
- # for a given point <tt>x</tt>, using the interpolation object <tt>self</tt>,
141
- # data vectors <tt>xa</tt> and <tt>ya</tt>.
142
- #
143
- # ---
144
- # * GSL::Interp#eval_integ(xa, ya, a, b)
145
- # * GSL::Interp#eval_integ_e(xa, ya, a, b)
146
- #
147
- # These methods return the numerical integral result of an interpolated
148
- # function over the range <tt>[a, b]</tt>, using the interpolation object <tt>self</tt>,
149
- # data vectors <tt>xa</tt> and <tt>ya</tt>.
150
- #
151
- # == Higher level interface
152
- # === Class initialization
153
- #
154
- # ---
155
- # * GSL::Spline.alloc(T, n)
156
- # * GSL::Spline.alloc(T, x, y)
157
- # * GSL::Spline.alloc(x, y, T)
158
- #
159
- # This creates a <tt>GSL::Spline</tt> object of type <tt>T</tt> for <tt>n</tt>
160
- # data-points. The type <tt>T</tt> is the same as <tt>GSL::Interp</tt> class.
161
- #
162
- # These two are equivalent.
163
- # * <tt>GSL::Spline.alloc</tt> and <tt>GSL::Spline#init</tt>
164
- # sp = GSL::Spline.alloc(T, n)
165
- # sp.init(x, y) # x and y are vectors of length n
166
- # * <tt>GSL::Spline.alloc</tt> with two vectors
167
- # sp = GSL::Spline.alloc(T, x, y)
168
- # If <tt>T</tt> is not given, "cspline" is used.
169
- #
170
- # ---
171
- # * GSL::Spline#init(xa, ya)
172
- #
173
- # This initializes a <tt>GSL::Spline</tt> object <tt>self</tt> for the data
174
- # (<tt>xa, ya</tt>) where <tt>xa</tt> and <tt>ya</tt> are Ruby arrays of equal sizes
175
- # or <tt>GSL::Vector</tt>.
176
- #
177
- # ---
178
- # * GSL::Spline#name
179
- #
180
- # This returns the name of the spline type used by <tt>self</tt>.
181
- #
182
- # === Evaluation
183
- # ---
184
- # * GSL::Spline#eval(x)
185
- #
186
- # This returns the interpolated value for a given point <tt>x</tt>.
187
- # The data <tt>x</tt> can be a <tt>Numeric, Vector, Matrix</tt> or an <tt>NArray</tt>.
188
- #
189
- # NOTE: In a GSL-C program, a <tt>gsl_interp_accel</tt> object is required to use
190
- # the function <tt>gsl_spline_eval</tt>.
191
- # In Ruby/GSL, the <tt>gsl_interp_accel</tt> is hidden, it is automatically
192
- # allocated when a <tt>GSL::Spline</tt> object is created,
193
- # and also destroyed when the <tt>Spline</tt> object
194
- # is cleaned by the Ruby GC. The accel object can be accessed via the method
195
- # <tt>GSL::Spline#accel</tt>.
196
- #
197
- # ---
198
- # * GSL::Spline#eval_deriv(x)
199
- #
200
- # This returns the derivative of an interpolated function for a given point <tt>x</tt>, usingthe data arrays <tt>xa</tt> and <tt>ya</tt> set by <tt>init</tt>.
201
- #
202
- # ---
203
- # * GSL::Spline#eval_deriv2(x)
204
- #
205
- # This returns the second derivative at <tt>x</tt>.
206
- #
207
- # ---
208
- # * GSL::Spline#eval_integ(a, b)
209
- #
210
- # Returns the numerical integral over the range [<tt>a, b</tt>].
211
- #
212
- # === Finding and acceleration
213
- # ---
214
- # * GSL::Spline#find(xa, x)
215
- # * GSL::Spline#accel_find(xa, x)
216
- #
217
- # This method performs a lookup action on the data array <tt>xa</tt>.
218
- # This is how lookups are performed during evaluation
219
- # of an interpolation. The function returns an index <tt>i</tt> such that
220
- # <tt>xa[i] <= x < xa[i+1]</tt>.
221
- #
222
- # See also the GSL manual and the examples in <tt>examples/</tt>
223
- #
224
- # {prev}[link:rdoc/odeiv_rdoc.html]
225
- # {next}[link:rdoc/diff_rdoc.html]
226
- #
227
- # {Reference index}[link:rdoc/ref_rdoc.html]
228
- # {top}[link:index.html]
229
- #
230
- #
231
- #
@@ -1,27 +0,0 @@
1
- #
2
- # = Introduction
3
- #
4
- # The GNU Scientific Library ({GSL}[https://gnu.org/software/gsl/])
5
- # is a collection of routines for numerical computing.
6
- # The routines have been written from scratch in C, and present a modern Applications
7
- # Programming Interface (API) for C programmers, allowing wrappers to be
8
- # written for very high level languages. The source code is distributed
9
- # under the GNU General Public License.
10
- #
11
- # {Ruby/GSL}[https://sciruby.github.com/rb-gsl] is a Ruby
12
- # extension for GSL. This provides higher-level interfaces to the GSL functions.
13
- #
14
- # == Requirements
15
- # * GSL (1.4 or later recommended)
16
- # * ANSI C compiler
17
- # * Ruby (1.8 or later recommended)
18
- #
19
- # == Installation
20
- # See {here}[link:index.html].
21
- #
22
- # {next}[link:rdoc/use_rdoc.html]
23
- #
24
- # {Reference index}[link:rdoc/ref_rdoc.html]
25
- # {top}[link:index.html]
26
- #
27
- #
@@ -1,681 +0,0 @@
1
- #
2
- # = Linear Algebra
3
- #
4
- # Contents:
5
- # 1. {LU Decomposition}[link:rdoc/linalg_rdoc.html#label-LU+Decomposition]
6
- # 1. {QR Decomposition}[link:rdoc/linalg_rdoc.html#label-QR+decomposition]
7
- # 1. {QR Decomposition with Column Pivoting}[link:rdoc/linalg_rdoc.html#label-QR+Decomposition+with+Column+Pivoting]
8
- # 1. {Singular Value Decomposition}[link:rdoc/linalg_rdoc.html#label-Singular+Value+Decomposition]
9
- # 1. {Cholesky Decomposition}[link:rdoc/linalg_rdoc.html#label-Cholesky+Decomposition]
10
- # 1. {Tridiagonal Decomposition of Real Symmetric Matrices}[link:rdoc/linalg_rdoc.html#label-Tridiagonal+Decomposition+of+Real+Symmetric+Matrices]
11
- # 1. {Tridiagonal Decomposition of Hermitian Matrices}[link:rdoc/linalg_rdoc.html#label-Tridiagonal+Decomposition+of+Hermitian+Matrices]
12
- # 1. {Hessenberg Decomposition of Real Matrices}[link:rdoc/linalg_rdoc.html#label-Hessenberg+Decomposition+of+Real+Matrices]
13
- # 1. {Hessenberg-Triangular Decomposition of Real Matrices}[link:rdoc/linalg_rdoc.html#label-Hessenberg-Triangular+Decomposition+of+Real+Matrices]
14
- # 1. {Bidiagonalization}[link:rdoc/linalg_rdoc.html#label-Bidiagonalization]
15
- # 1. {Householder Transformations}[link:rdoc/linalg_rdoc.html#label-Householder+Transformations]
16
- # 1. {Householder solver for linear systems}[link:rdoc/linalg_rdoc.html#label-Householder+solver+for+linear+systems]
17
- # 1. {Tridiagonal Systems}[link:rdoc/linalg_rdoc.html#label-Tridiagonal+Systems]
18
- # 1. {Balancing}[link:rdoc/linalg_rdoc.html#label-Balancing]
19
- # 1. {NArray}[link:rdoc/linalg_rdoc.html#label-NArray]
20
- #
21
- # == LU Decomposition
22
- # ---
23
- # * GSL::Linalg::LU.decomp(A)
24
- # * GSL::Matrix#LU_decomp
25
- #
26
- # These method calculate the LU decomposition of the matrix. The returned
27
- # value is an array of <tt>[LU, perm, sign]</tt>.
28
- #
29
- # Examples:
30
- #
31
- # 1. Singleton method of the <tt>GSL::Linalg::LU</tt> module
32
- #
33
- # >> m = Matrix[1..9, 3, 3]
34
- # => GSL::Matrix:
35
- # [ 1.000e+00 2.000e+00 3.000e+00
36
- # 4.000e+00 5.000e+00 6.000e+00
37
- # 7.000e+00 8.000e+00 9.000e+00 ]
38
- # >> lu, perm, sign = Linalg::LU.decomp(m)
39
- #
40
- # 1. Instance method of <tt>GSL::Matrix</tt> class
41
- #
42
- # >> lu, perm, sign = m.LU_decomp
43
- #
44
- # ---
45
- # * GSL::Linalg::LU.solve(A, b)
46
- # * GSL::Linalg::LU.solve(lu, perm, b)
47
- # * GSL::Matrix#LU_solve(b)
48
- # * GSL::Linalg::LUMatrix#solve(perm, b)
49
- #
50
- # The following is an example to solve a linear system
51
- #
52
- # A x = b, b = [1, 2, 3, 4]
53
- #
54
- # using LU decomposition.
55
- #
56
- # 1. Singleton method of the <tt>GSL::Linalg::LU</tt> module
57
- #
58
- # A = Matrix[[0.18, 0.60, 0.57, 0.96], [0.41, 0.24, 0.99, 0.58],
59
- # [0.14, 0.30, 0.97, 0.66], [0.51, 0.13, 0.19, 0.85]]
60
- # lu, perm, sign = A.LU_decomp
61
- # b = Vector[1, 2, 3, 4]
62
- # x = Linalg::LU.solve(lu, perm, b)
63
- #
64
- # 1. Instance method of <tt>GSL::Linalg::LUMatrix</tt> class
65
- #
66
- # lu, perm, sign = A.LU_decomp # lu is an instance of Linalg::LUMatrix class
67
- # b = Vector[1, 2, 3, 4]
68
- # x = lu.solve(perm, b)
69
- #
70
- # 1. Solve directly
71
- #
72
- # x = Linalg::LU.solve(A, b) # LU decomposition is calculated internally (A is not modified)
73
- #
74
- # ---
75
- # * GSL::Linalg::LU.svx(A, b)
76
- # * GSL::Linalg::LU.svx(lu, perm, b)
77
- # * GSL::Matrix#svx(b)
78
- # * GSL::Linalg::LUMatrix#svx(perm, b)
79
- #
80
- # These solve the system Ax = b. The input vector <tt>b</tt> is overwitten by
81
- # the solution <tt>x</tt>.
82
- #
83
- # ---
84
- # * GSL::Linalg::LU.refine(A, lu, perm, b, x)
85
- #
86
- # This method applys an iterative improvement to <tt>x</tt>,
87
- # the solution of <tt>A x = b</tt>, using the LU decomposition of <tt>A</tt>.
88
- #
89
- # ---
90
- # * GSL::Linalg::LU.invert(A)
91
- # * GSL::Linalg::LU.invert(lu, perm)
92
- # * GSL::Matrix#invert
93
- # * GSL::Linalg::LUMatrix#invert(perm)
94
- #
95
- # These computes and returns the inverse of the matrix.
96
- #
97
- # ---
98
- # * GSL::Linalg::LU.det(A)
99
- # * GSL::Linalg::LU.det(lu, signum)
100
- # * GSL::Matrix#det
101
- # * GSL::Linalg::LUMatrix#det(signum)
102
- #
103
- # These methods return the determinant of the matrix.
104
- #
105
- # === {Complex LU decomposition}[link:rdoc/linalg_complex_rdoc.html]
106
- #
107
- # == QR decomposition
108
- #
109
- # ---
110
- # * GSL::Linalg::QR_decomp(A)
111
- # * GSL::Linalg::QR.decomp(A)
112
- # * GSL::Matrix#QR_decomp
113
- #
114
- # These compute QR decomposition of the matrix and return an array [QR, tau].
115
- #
116
- # 1. Singleton method of the module <tt>GSL::Linalg</tt>
117
- # qr, tau = Linalg::QR_decomp(m)
118
- # p qr.class # GSL::Linalg::QRMatrix, subclass of GSL::Matrix
119
- # p tau.class # GSL::Linalg::TauVector, subclass of GSL::Vector
120
- # 1. Singleton method of the module <tt>GSL::Linalg:QR</tt>
121
- # qr, tau = Linalg::QR.decomp(m)
122
- # 1. Instance method of <tt>GSL::Matrix</tt>
123
- # qr, tau = m.QR_decomp
124
- #
125
- # ---
126
- # * GSL::Linalg::QR.solve(A, b)
127
- # * GSL::Linalg::QR.solve(QR, tau, b)
128
- # * GSL::Matrix#QR_solve(b)
129
- # * GSL::Linalg::QRMatrix#solve(tau, b)
130
- #
131
- # Solve the system A x = b using the QR decomposition.
132
- #
133
- # * Ex1:
134
- # m = Matrix.alloc(...)
135
- # b = Vector.alloc(...)
136
- # x = Linalg::QR.solve(m, b)
137
- # * Ex2:
138
- # x = m.QR_solve(b)
139
- # * Ex3:
140
- # qr, tau = Linalg::QR.decomp(m) # or m.QR_decomp
141
- # x = Linalg::QR.solve(qr, tau, b)
142
- # * Ex4:
143
- # qr, tau = m.QR_decomp
144
- # x = qr.solve(tau, b)
145
- #
146
- # ---
147
- # * GSL::Linalg::QR.svx(A, x)
148
- # * GSL::Linalg::QR.svx(QR, tau, x)
149
- # * GSL::Matrix#QR_svx(x)
150
- # * GSL::Linalg::QRMatrix#svx(tau, x)
151
- #
152
- # Solve the system A x = b. The input vector <tt>x</tt> is first give by
153
- # the right-hand side vector <tt>b</tt>, and is overwritten by the solution.
154
- #
155
- # ---
156
- # * GSL::Linalg::QR.unpack(QR, tau)
157
- # * GSL::Linalg::QRMatrix#unpack(tau)
158
- #
159
- # Unpack the encoded QR decomposition <tt>QR,tau</tt> and return an array
160
- # <tt>[Q, R]</tt>.
161
- #
162
- # Ex:
163
- # >> m = Matrix[1..9, 3, 3]
164
- # => GSL::Matrix:
165
- # [ 1.000e+00 2.000e+00 3.000e+00
166
- # 4.000e+00 5.000e+00 6.000e+00
167
- # 7.000e+00 8.000e+00 9.000e+00 ]
168
- # >> qr, tau = m.QR_decomp
169
- # >> q, r = qr.unpack(tau)
170
- # >> q*r # Reconstruct the metrix m
171
- # => GSL::Matrix:
172
- # [ 1.000e+00 2.000e+00 3.000e+00
173
- # 4.000e+00 5.000e+00 6.000e+00
174
- # 7.000e+00 8.000e+00 9.000e+00 ]
175
- #
176
- # ---
177
- # * GSL::Linalg::QR.QRsolve(Q, R, tau)
178
- #
179
- # This method solves the system <tt>R x = Q^T b</tt> for <tt>x</tt>.
180
- # It can be used when the QR decomposition of a matrix is available
181
- # in unpacked form as <tt>Q,R</tt>.
182
- #
183
- # == QR Decomposition with Column Pivoting
184
- # ---
185
- # * GSL::Linalg::QRPT.decomp(A)
186
- # * GSL::Matrix#QRPT_decomp
187
- #
188
- # These methods factorize the M-by-N matrix <tt>A</tt> into the QRP^T decomposition A = Q R P^T, and return an array <tt>[QR, tau, perm, signum]</tt>.
189
- #
190
- # * Ex1:
191
- # require("gsl")
192
- # include GSL::Linalg
193
- # m = Matrix.alloc(...)
194
- # qr, tau, perm = QRPT.decomp(m)
195
- # p qr.class # GSL::Linalg::QRPTMatrix, subclass of GSL::Matrix
196
- #
197
- # * Ex2:
198
- # qr, tau, perm = m.QROT_decomp
199
- #
200
- # ---
201
- # * GSL::Linalg::QRPT.decomp2(A)
202
- # * GSL::Matrix#QRPT_decomp2
203
- #
204
- # These return an array <tt>[Q, R, tau, perm, signum]</tt>.
205
- #
206
- # * Ex
207
- # q, r, tau, perm = QRPT.decomp2(m)
208
- # p q.class <----- GSL::Linalg::QMatrix
209
- # p r.class <----- GSL::Linalg::RMatrix
210
- #
211
- # ---
212
- # * GSL::Linalg::QRPT.solve(m, b)
213
- # * GSL::Linalg::QRPT.solve(qr, tau, perm, b)
214
- # * GSL::Matrix#QRPT_solve(A, b)
215
- # * GSL::Linalg::QRPQMatrix#solve(qr, tau, perm, b)
216
- #
217
- # These methods solve the system <tt>A x = b</tt> using the QRP^T decomposition of
218
- # <tt>A</tt> into <tt>QR, tau, perm</tt>. The solution <tt>x</tt> is returned as a Vector.
219
- #
220
- # * Ex1:
221
- # m = Matrix.alloc(...)
222
- # qr, tau, perm = m.QRPT_decomp
223
- # b = Vector.alloc([1, 2, 3, 4])
224
- # x = Linalg::QRPT.solve(qr, tau, perm, b)
225
- # * Ex2:
226
- # x = Linalg::QRPT.solve(m, b)
227
- # * Ex3:
228
- # x = qr.solve(tau, p, b)
229
- # * Ex4:
230
- # x = m.QRPT_solve(b)
231
- #
232
- # ---
233
- # * GSL::Linalg::QRPT.svx(m, b)
234
- # * GSL::Linalg::QRPT.svx(qr, tau, perm, b)
235
- # * GSL::Matrix#QRPT_svx(A, b)
236
- #
237
- # These methods solve the system <tt>A x = b</tt> using the QRP^T decomposition of
238
- # <tt>A</tt> into <tt>QR, tau, perm</tt>. The input <tt>b</tt> is overwritten by the solution
239
- # <tt>x</tt>.
240
- #
241
- # ---
242
- # * GSL::Linalg::QRPT.QRsolve(q, r, tau, perm, b)
243
- #
244
- # This method solves the system <tt>R P^T x = Q^T b</tt> for x.
245
- # It can be used when the QR decomposition of a matrix is available in
246
- # unpacked form as <tt>q, r</tt> obtained by the method <tt>decomp2</tt>.
247
- #
248
- # * Ex:
249
- # q, r, tau, perm = QRPT_decomp2
250
- # x = Linalg::QRPT.QRsolve(q, r, perm, b)
251
- #
252
- # ---
253
- # * GSL::Linalg::QRPT.update(q, r, perm, u, v)
254
- # * GSL::Linalg::QRPT.Rsolve(qr, perm, b)
255
- # * GSL::Linalg::QRPTMatrix#Rsolve(perm, b)
256
- # * GSL::Linalg::QRPT.Rsvx(qr, perm, b)
257
- # * GSL::Linalg::QRPTMatrix#Rsvx(perm, b)
258
- #
259
- #
260
- # == Singular Value Decomposition
261
- # ---
262
- # * GSL::Linalg::SV.decomp(A[, work])
263
- # * \GSL::Matrix#SV_decomp([work])
264
- #
265
- # These methods factorize the M-by-N matrix <tt>A</tt> into the singular value
266
- # decomposition <tt>A = U S V^T</tt> using the Golub-Reinsch SVD algorithm,
267
- # and return an array <tt>[U, V, S]</tt>.
268
- #
269
- # Ex:
270
- # >> m = Matrix[[3, 5, 2], [5, 1, 4], [7, 6, 3]]
271
- # => GSL::Matrix:
272
- # [ 3.000e+00 5.000e+00 2.000e+00
273
- # 5.000e+00 1.000e+00 4.000e+00
274
- # 7.000e+00 6.000e+00 3.000e+00 ]
275
- # >> u, v, s = m.SV_decomp # u, v: Matrix, s: Vector (singular values)
276
- # >> u*u.trans # u is orthnormal
277
- # => GSL::Matrix:
278
- # [ 1.000e+00 2.452e-17 -4.083e-16
279
- # 2.452e-17 1.000e+00 -3.245e-16
280
- # -4.083e-16 -3.245e-16 1.000e+00 ]
281
- # >> v*v.trans # v is also orthnormal
282
- # => GSL::Matrix:
283
- # [ 1.000e+00 3.555e-17 -1.867e-16
284
- # 3.555e-17 1.000e+00 -1.403e-16
285
- # -1.867e-16 -1.403e-16 1.000e+00 ]
286
- # >> u*Matrix.diagonal(s)*v.trans # Reconstruct the matrix
287
- # => GSL::Matrix:
288
- # [ 3.000e+00 5.000e+00 2.000e+00
289
- # 5.000e+00 1.000e+00 4.000e+00
290
- # 7.000e+00 6.000e+00 3.000e+00 ]
291
- #
292
- # ---
293
- # * GSL::Linalg::SV.decomp_mod(A)
294
- # * GSL::Matrix#SV_decomp_mod
295
- #
296
- # These compute the SVD using the modified Golub-Reinsch algorithm,
297
- # which is faster for M>>N.
298
- #
299
- # ---
300
- # * GSL::Linalg::SV.decomp_jacobi(A)
301
- # * GSL::Matrix#SV_decomp_jacobi
302
- #
303
- # These compute the SVD using one-sided Jacobi orthogonalization.
304
- # The Jacobi method can compute singular values to higher relative accuracy
305
- # than Golub-Reinsch algorithms.
306
- #
307
- # ---
308
- # * GSL::Linalg::SV.solve(A, b)
309
- # * GSL::Linalg::SV.solve(U, V, S, b)
310
- # * GSL::Matrix#SV_solve(b)
311
- #
312
- # These methods solve the system <tt>A x = b</tt> using the singular value
313
- # decomposition <tt>U, S, V</tt> of <tt>A</tt>.
314
- #
315
- # * Ex1:
316
- # m = Matrix.alloc(...)
317
- # b = Vector.alloc(...)
318
- # u, v, s = GSL::Linalg::SV.decomp(m)
319
- # x = GSL::Linalg::SV.solve(u, v, s, b)
320
- # * Ex2:
321
- # x = GSL::Linalg::SV.solve(m, b)
322
- # * Ex3:
323
- # x = m.SV_solve(b)
324
- #
325
- # == Cholesky Decomposition
326
- # A symmetric, positive definite square matrix <tt>A</tt> has a Cholesky decomposition
327
- # into a product of a lower triangular matrix L and its transpose L^T,
328
- # as <tt>A = L L^T</tt>. This is sometimes referred to as taking the square-root of a
329
- # matrix. The Cholesky decomposition can only be carried out when all the eigenvalues
330
- # of the matrix are positive. This decomposition can be used to convert the linear
331
- # system <tt>A x = b</tt> into a pair of triangular systems (<tt>L y = b, L^T x = y</tt>),
332
- # which can be solved by forward and back-substitution.
333
- #
334
- # ---
335
- # * GSL::Linalg::Cholesky.decomp(A)
336
- #
337
- # This method factorizes the positive-definite square matrix <tt>A</tt>
338
- # into the Cholesky decomposition <tt>A = L L^T</tt>.
339
- # The upper triangular part of the matrix returned contains L^T, the diagonal terms
340
- # being identical for both L and L^T. If the matrix is not positive-definite
341
- # then the decomposition will fail.
342
- #
343
- # Ex:
344
- # >> m = Matrix.pascal(3)
345
- # => GSL::Matrix
346
- # [ 1.000e+00 1.000e+00 1.000e+00
347
- # 1.000e+00 2.000e+00 3.000e+00
348
- # 1.000e+00 3.000e+00 6.000e+00 ]
349
- # >> c = Linalg::Cholesky.decomp(m)
350
- # => GSL::Linalg::Cholesky::CholeskyMatrix
351
- # [ 1.000e+00 1.000e+00 1.000e+00
352
- # 1.000e+00 1.000e+00 2.000e+00
353
- # 1.000e+00 2.000e+00 1.000e+00 ]
354
- # >> l = c.lower
355
- # => GSL::Matrix
356
- # [ 1.000e+00 0.000e+00 0.000e+00
357
- # 1.000e+00 1.000e+00 0.000e+00
358
- # 1.000e+00 2.000e+00 1.000e+00 ]
359
- # >> (l*l.trans) == m
360
- # => true
361
- #
362
- # ---
363
- # * GSL::Linalg::Cholesky.solve(cholesky, b)
364
- # * GSL::Linalg::Cholesky.svx(cholesky, x)
365
- #
366
- # These methods solve the system <tt>A x = b</tt> using the Cholesky decomposition
367
- # of <tt>A</tt> into the matrix <tt>cholesky</tt> given by <tt>GSL::Linalg::Cholesky.decomp</tt>.
368
- #
369
- # === {Complex Cholesky decomposition}[link:rdoc/cholesky_complex_rdoc.html]
370
- #
371
- # == Tridiagonal Decomposition of Real Symmetric Matrices
372
- # ---
373
- # * GSL::Linalg::Symmtd::decomp(A)
374
- #
375
- # Factorizes the symmetric square matrix <tt>A</tt> into the symmetric
376
- # tridiagonal decomposition Q T Q^T, and returns the results
377
- # <tt>(A', tau)</tt>. On output the diagonal and subdiagonal part of the
378
- # matrix <tt>A'</tt> contain the tridiagonal matrix <tt>T</tt>.
379
- # The remaining lower triangular part of the matrix <tt>A'</tt> contains
380
- # the Householder vectors which, together with the Householder
381
- # coefficients <tt>tau</tt>, encode the orthogonal matrix <tt>Q</tt>.
382
- # This storage scheme is the same as used by LAPACK.
383
- # The upper triangular part of <tt>A</tt> is not referenced.
384
- # ---
385
- # * GSL::Linalg::Symmtd::unpack(A', tau)
386
- #
387
- # Unpacks the encoded symmetric tridiagonal decomposition <tt>(A', tau)</tt>
388
- # obtained from <tt>GSL::Linalg::Symmtd::decomp</tt> into the orthogonal
389
- # matrix <tt>Q</tt>, the vector of diagonal elements <tt>diag</tt>
390
- # and the vector of subdiagonal elements <tt>subdiag</tt>.
391
- # ---
392
- # * GSL::Linalg::Symmtd::unpack_T(A', tau)
393
- #
394
- # Unpacks the diagonal and subdiagonal of the encoded symmetric tridiagonal
395
- # decomposition <tt>(A', tau)</tt> obtained from
396
- # <tt>GSL::Linalg::Symmtd::decomp</tt> into the vectors
397
- # <tt>diag</tt> and <tt>subdiag</tt>.
398
- #
399
- # == Tridiagonal Decomposition of Hermitian Matrices
400
- # ---
401
- # * GSL::Linalg::Hermtd::decomp(A)
402
- #
403
- # Factorizes the hermitian matrix <tt>A</tt> into the symmetric tridiagonal
404
- # decomposition U T U^T, and returns the result as <tt>(A', tau)</tt>.
405
- # On output the real parts of the diagonal and subdiagonal part of the
406
- # matrix <tt>A'</tt> contain the tridiagonal matrix <tt>T</tt>.
407
- # The remaining lower triangular part of the matrix <tt>A'</tt> contains
408
- # the Householder vectors which, together with the Householder
409
- # coefficients <tt>tau</tt>, encode the orthogonal matrix <tt>Q</tt>.
410
- # This storage scheme is the same as used by LAPACK.
411
- # The upper triangular part of <tt>A</tt> and imaginary parts of the diagonal
412
- # are not referenced.
413
- #
414
- # ---
415
- # * GSL::Linalg::Hermtd::unpack(A', tau)
416
- #
417
- # Unpacks the encoded tridiagonal decomposition <tt>(A', tau)</tt>
418
- # obtained from <tt>GSL::Linalg::Hermtd::decomp</tt> into the unitary matrix
419
- # <tt>U</tt>, the real vector of diagonal elements <tt>diag</tt> and
420
- # the real vector of subdiagonal elements <tt>subdiag</tt>.
421
- #
422
- # ---
423
- # * GSL::Linalg::Hermtd::unpack_T(A', tau)
424
- #
425
- # Unpacks the diagonal and subdiagonal of the encoded tridiagonal
426
- # decomposition <tt>(A, tau)</tt> obtained from the
427
- # <tt>GSL::Linalg::Hermtd::decomp</tt>
428
- # into the real vectors <tt>diag</tt> and <tt>subdiag</tt>.
429
- #
430
- # == Hessenberg Decomposition of Real Matrices
431
- # ---
432
- # * GSL::Linalg::Hessenberg::decomp(A)
433
- # * GSL::Linalg::hessenberg_decomp(A)
434
- #
435
- # Computes the Hessenberg decomposition of the matrix <tt>A</tt>
436
- # by applying the similarity transformation <tt>H = U^T A U</tt>, and returns
437
- # the result as <tt>(A', tau</tt>. On output, <tt>H</tt> is stored in the upper
438
- # portion of <tt>A'</tt>. The information required to construct the matrix
439
- # <tt>U</tt> is stored in the lower triangular portion of <tt>A'</tt>.
440
- # <tt>U</tt> is a product of N - 2 Householder matrices.
441
- # The Householder vectors are stored in the lower portion of <tt>A'</tt>
442
- # (below the subdiagonal) and the Householder coefficients are stored
443
- # in the vector <tt>tau</tt>.
444
- #
445
- # ---
446
- # * GSL::Linalg::Hessenberg::unpack(A', tau)
447
- # * GSL::Linalg::hessenberg_unpack(A', tau)
448
- #
449
- # Constructs the orthogonal matrix <tt>U</tt> and returns it
450
- # from the information stored in the Hessenberg matrix <tt>A'</tt>
451
- # along with the vector <tt>tau</tt>. <tt>A'</tt> and <tt>tau</tt>
452
- # are outputs from <tt>GSL::Linalg::Hessenberg::decomp</tt>.
453
- #
454
- # ---
455
- # * GSL::Linalg::Hessenberg::unpack_accum(A', tau, V = I)
456
- # * GSL::Linalg::hessenberg_unpack_accum(A', tau, V = I)
457
- #
458
- # This method is similar to <tt>GSL::Linalg::Hessenberg::unpack</tt>,
459
- # except it accumulates the matrix <tt>U</tt> into <tt>V</tt>, so that
460
- # <tt>V' = VU</tt>, and returns <tt>V</tt>. Setting V to the identity matrix
461
- # provides the same result <tt>GSL::Linalg::Hessenberg::unpack</tt>.
462
- #
463
- # ---
464
- # * GSL::Linalg::Hessenberg::set_zero(A')
465
- # * GSL::Linalg::hessenberg_set_zero(A')
466
- #
467
- # Sets the lower triangular portion of <tt>A'</tt>, below the subdiagonal,
468
- # to zero.
469
- # It is useful for clearing out the Householder vectors after calling
470
- # <tt>GSL::Linalg::Hessenberg::decomp</tt>.
471
- #
472
- # == Hessenberg-Triangular Decomposition of Real Matrices
473
- # ---
474
- # * GSL::Linalg::hesstri_decomp(A, B)
475
- # * GSL::Linalg::hesstri_decomp(A, B, work)
476
- # * GSL::Linalg::hesstri_decomp(A, B, U, V)
477
- # * GSL::Linalg::hesstri_decomp(A, B, U, V, work)
478
- #
479
- # Compute the Hessenberg-Triangular decomposition of the matrix pair
480
- # <tt>(A, B)</tt>, and return <tt>(H, R</tt>.
481
- # If U and V are provided (they may be null), the similarity
482
- # transformations are stored in them. <tt>work</tt> is an additional workspace
483
- # of length <tt>N</tt>.
484
- #
485
- # ---
486
- # * GSL::Linalg::hesstri_decomp!(A, B)
487
- # * GSL::Linalg::hesstri_decomp!(A, B, work)
488
- # * GSL::Linalg::hesstri_decomp!(A, B, U, V)
489
- # * GSL::Linalg::hesstri_decomp!(A, B, U, V, work)
490
- #
491
- # Compute the Hessenberg-Triangular decomposition of the matrix pair
492
- # <tt>(A, B)</tt>. On output, <tt>H</tt> is stored in <tt>A</tt>,
493
- # and <tt>R</tt> is stored in <tt>B</tt>.
494
- # If U and V are provided (they may be null), the similarity
495
- # transformations are stored in them. <tt>work</tt> is an additional workspace
496
- # of length <tt>N</tt>.
497
- #
498
- # == Bidiagonalization
499
- # ---
500
- # * GSL::Linalg::Bidiag::decomp!(A)
501
- # * GSL::Linalg::bidiag_decomp!(A)
502
- # * GSL::Linalg::Bidiag::decomp(A)
503
- # * GSL::Linalg::bidiag_decomp(A)
504
- #
505
- #
506
- # ---
507
- # * GSL::Linalg::Bidiag::unpack
508
- # * GSL::Linalg::bidiag_unpack
509
- # * GSL::Linalg::Bidiag::unpack2
510
- # * GSL::Linalg::bidiag_unpack2
511
- # * GSL::Linalg::Bidiag::unpack_B
512
- # * GSL::Linalg::bidiag_unpack_B
513
- #
514
- #
515
- # == Householder Transformations
516
- # ---
517
- # * GSL::Linalg::Householder::transform(v)
518
- # * GSL::Linalg::HH::transform(v)
519
- # * GSL::Vector#householder_transform
520
- #
521
- # These methods prepare a Householder transformation P = I - tau v v^T
522
- # which can be used to zero all the elements of the input vector except the first.
523
- # On output the transformation is stored in the vector <tt>v</tt>
524
- # and the scalar tau is returned.
525
- #
526
- # ---
527
- # * GSL::Linalg::Householder::hm(tau, v, A)
528
- # * GSL::Linalg::HH::hm(tau, v, A)
529
- #
530
- # These methods apply the Householder matrix P defined by the scalar
531
- # <tt>tau</tt> and the vector <tt>v</tt> to the left-hand side of the matrix <tt>A</tt>.
532
- # On output the result P A is stored in <tt>A</tt>.
533
- #
534
- # ---
535
- # * GSL::Linalg::Householder::mh(tau, v, A)
536
- # * GSL::Linalg::HH::mh(tau, v, A)
537
- #
538
- # These methods apply the Householder matrix P defined by the scalar <tt>tau</tt>
539
- # and the vector <tt>v</tt> to the right-hand side of the matrix <tt>A</tt>.
540
- # On output the result A P is stored in <tt>A</tt>.
541
- #
542
- # ---
543
- # * GSL::Linalg::Householder::hv(tau, v, w)
544
- # * GSL::Linalg::HH::hv(tau, v, w)
545
- #
546
- # These methods apply the Householder transformation P defined by the scalar
547
- # <tt>tau</tt> and the vector <tt>v</tt> to the vector <tt>w</tt>.
548
- # On output the result P w is stored in <tt>w</tt>.
549
- #
550
- # == Householder solver for linear systems
551
- # ---
552
- # * GSL::Linalg::HH.solve(A, b)
553
- # * GSL::Matrix#HH_solve(b)
554
- #
555
- # These methods solve the system <tt>A x = b</tt> directly using Householder
556
- # transformations. The matrix <tt>A</tt> is not modified.
557
- # ---
558
- # * GSL::Linalg::HH.solve!(A, b)
559
- # * GSL::Matrix#HH_solve!(b)
560
- #
561
- # These methods solve the system <tt>A x = b</tt> directly using Householder
562
- # transformations. The matrix <tt>A</tt> is destroyed by the
563
- # Householder transformations.
564
- #
565
- # ---
566
- # * GSL::Linalg::HH.svx(A, b)
567
- # * GSL::Matrix#HH_svx(b)
568
- #
569
- # These methods solve the system <tt>A x = b</tt> in-place directly using Householder
570
- # transformations. The input vector <tt>b</tt> is replaced by the solution.
571
- #
572
- # == Tridiagonal Systems
573
- # ---
574
- # * GSL::Linglg::solve_tridiag(diag, e, f, b)
575
- # * GSL::Linglg::Tridiag::solve(diag, e, f, b)
576
- #
577
- # These methods solve the general N-by-N system A x = b where <tt>A</tt>
578
- # is tridiagonal ( N >= 2). The super-diagonal and sub-diagonal vectors <tt>e</tt>
579
- # and <tt>f</tt> must be one element shorter than the diagonal vector <tt>diag</tt>.
580
- # The form of <tt>A</tt> for the 4-by-4 case is shown below,
581
- # A = ( d_0 e_0 0 0 )
582
- # ( f_0 d_1 e_1 0 )
583
- # ( 0 f_1 d_2 e_2 )
584
- # ( 0 0 f_2 d_3 )
585
- #
586
- # ---
587
- # * GSL::Linglg::solve_symm_tridiag(diag, e, b)
588
- # * GSL::Linglg::Tridiag::solve_symm(diag, e, b)
589
- #
590
- # These methods solve the general N-by-N system A x = b where <tt>A</tt> is
591
- # symmetric tridiagonal ( N >= 2). The off-diagonal vector <tt>e</tt> must
592
- # be one element shorter than the diagonal vector <tt>diag</tt>.
593
- # The form of <tt>A</tt> for the 4-by-4 case is shown below,
594
- # A = ( d_0 e_0 0 0 )
595
- # ( e_0 d_1 e_1 0 )
596
- # ( 0 e_1 d_2 e_2 )
597
- # ( 0 0 e_2 d_3 )
598
- #
599
- # ---
600
- # * GSL::Linglg::solve_cyc_tridiag(diag, e, f, b)
601
- # * GSL::Linglg::Tridiag::solve_cyc(diag, e, f, b)
602
- #
603
- # These methods solve the general N-by-N system A x = b where <tt>A</tt> is
604
- # cyclic tridiagonal ( N >= 3). The cyclic super-diagonal and sub-diagonal
605
- # vectors <tt>e</tt> and <tt>f</tt> must have the same number of elements as the
606
- # diagonal vector <tt>diag</tt>. The form of <tt>A</tt> for the 4-by-4 case is shown below,
607
- # A = ( d_0 e_0 0 f_3 )
608
- # ( f_0 d_1 e_1 0 )
609
- # ( 0 f_1 d_2 e_2 )
610
- # ( e_3 0 f_2 d_3 )
611
- #
612
- # ---
613
- # * GSL::Linglg::solve_symm_cyc_tridiag(diag, e, b)
614
- # * GSL::Linglg::Tridiag::solve_symm_cyc(diag, e, b)
615
- #
616
- # These methods solve the general N-by-N system A x = b where <tt>A</tt>
617
- # is symmetric cyclic tridiagonal ( N >= 3). The cyclic off-diagonal vector <tt>e</tt>
618
- # must have the same number of elements as the diagonal vector <tt>diag</tt>.
619
- # The form of <tt>A</tt> for the 4-by-4 case is shown below,
620
- # A = ( d_0 e_0 0 e_3 )
621
- # ( e_0 d_1 e_1 0 )
622
- # ( 0 e_1 d_2 e_2 )
623
- # ( e_3 0 e_2 d_3 )
624
- #
625
- # == Balancing
626
- # The process of balancing a matrix applies similarity transformations to
627
- # make the rows and columns have comparable norms. This is useful,
628
- # for example, to reduce roundoff errors in the solution of eigenvalue problems.
629
- # Balancing a matrix <tt>A</tt> consists of replacing <tt>A</tt> with a similar matrix
630
- # where <tt>D</tt> is a diagonal matrix whose entries are powers of the floating
631
- # point radix.
632
- #
633
- # ---
634
- # * GSL::Linalg::balance(A)
635
- # * GSL::Linalg::balance(A, D)
636
- #
637
- # Calculates the balanced counterpart of <tt>A</tt> and the diagonal elements
638
- # of the similarity transformation. The result is returned as <tt>(A', D)</tt>.
639
- #
640
- # ---
641
- # * GSL::Linalg::balance!(A)
642
- # * GSL::Linalg::balance!(A, D)
643
- #
644
- # Replaces the matrix <tt>A</tt> with its balanced counterpart and
645
- # stores the diagonal elements of the similarity transformation into
646
- # the vector <tt>D</tt>.
647
- #
648
- #
649
- # == NArray
650
- # The following Linalg methods can handle NArray objects:
651
- # * GSL::Linalg::
652
- # * LU::
653
- # * LU.decomp(m)
654
- # * LU.solve(lu, b)
655
- # * LU.svx(lu, bx)
656
- # * LU.det(lu, sign)
657
- # * LU.lndet(lu)
658
- # * LU.invert(lu, perm)
659
- # * QR::
660
- # * QR.decomp(m)
661
- # * QR.solve(qr, tau, b)
662
- # * QR.svx(qr, tau, bx)
663
- # * SV::
664
- # * SV.decomp(m)
665
- # * SV.solve(u, v, s, b)
666
- # * SV.svx(u, v, s, bx)
667
- # * Cholesky::
668
- # * Cholesky.decomp(m)
669
- # * Cholesky.solve(u, v, s, b)
670
- # * Cholesky.svx(u, v, s, bx)
671
- # * HH::
672
- # * HH.solve(m, b)
673
- # * HH.svx(m, bx)
674
- #
675
- # {prev}[link:rdoc/blas_rdoc.html]
676
- # {next}[link:rdoc/eigen_rdoc.html]
677
- #
678
- # {Reference index}[link:rdoc/ref_rdoc.html]
679
- # {top}[link:index.html]
680
- #
681
- #