rb-gsl 1.16.0.5 → 1.16.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (612) hide show
  1. checksums.yaml +4 -4
  2. data/rb-gsl.gemspec +5 -10
  3. metadata +10 -713
  4. data/.gitignore +0 -12
  5. data/.travis.yml +0 -24
  6. data/AUTHORS +0 -12
  7. data/COPYING +0 -341
  8. data/ChangeLog +0 -621
  9. data/Gemfile +0 -4
  10. data/README.md +0 -77
  11. data/Rakefile +0 -20
  12. data/THANKS +0 -17
  13. data/examples/alf/alf.gp +0 -15
  14. data/examples/alf/alf.rb +0 -32
  15. data/examples/blas/blas.rb +0 -13
  16. data/examples/blas/dnrm2.rb +0 -16
  17. data/examples/blas/level1.rb +0 -81
  18. data/examples/blas/level2.rb +0 -11
  19. data/examples/blas/level3.rb +0 -12
  20. data/examples/bspline.rb +0 -57
  21. data/examples/cdf.rb +0 -16
  22. data/examples/cheb.rb +0 -21
  23. data/examples/combination.rb +0 -23
  24. data/examples/complex/RC-lpf.rb +0 -47
  25. data/examples/complex/add.rb +0 -36
  26. data/examples/complex/coerce.rb +0 -14
  27. data/examples/complex/complex.rb +0 -25
  28. data/examples/complex/fpmi.rb +0 -70
  29. data/examples/complex/functions.rb +0 -77
  30. data/examples/complex/michelson.rb +0 -36
  31. data/examples/complex/mul.rb +0 -28
  32. data/examples/complex/oscillator.rb +0 -17
  33. data/examples/complex/set.rb +0 -37
  34. data/examples/const/physconst.rb +0 -151
  35. data/examples/const/travel.rb +0 -45
  36. data/examples/deriv/demo.rb +0 -13
  37. data/examples/deriv/deriv.rb +0 -36
  38. data/examples/deriv/diff.rb +0 -35
  39. data/examples/dht.rb +0 -42
  40. data/examples/dirac.rb +0 -56
  41. data/examples/eigen/eigen.rb +0 -34
  42. data/examples/eigen/herm.rb +0 -22
  43. data/examples/eigen/narray.rb +0 -9
  44. data/examples/eigen/nonsymm.rb +0 -37
  45. data/examples/eigen/nonsymmv.rb +0 -43
  46. data/examples/eigen/qhoscillator.gp +0 -35
  47. data/examples/eigen/qhoscillator.rb +0 -90
  48. data/examples/eigen/vander.rb +0 -41
  49. data/examples/fft/fft.rb +0 -17
  50. data/examples/fft/fft2.rb +0 -17
  51. data/examples/fft/forward.rb +0 -25
  52. data/examples/fft/forward2.rb +0 -26
  53. data/examples/fft/radix2.rb +0 -18
  54. data/examples/fft/real-halfcomplex.rb +0 -33
  55. data/examples/fft/real-halfcomplex2.rb +0 -30
  56. data/examples/fft/realradix2.rb +0 -19
  57. data/examples/fft/sunspot.dat +0 -256
  58. data/examples/fft/sunspot.rb +0 -16
  59. data/examples/fit/expdata.dat +0 -20
  60. data/examples/fit/expfit.rb +0 -31
  61. data/examples/fit/gaussfit.rb +0 -29
  62. data/examples/fit/gaussian_2peaks.rb +0 -34
  63. data/examples/fit/hillfit.rb +0 -40
  64. data/examples/fit/lognormal.rb +0 -26
  65. data/examples/fit/lorentzfit.rb +0 -22
  66. data/examples/fit/multifit.rb +0 -72
  67. data/examples/fit/ndlinear.rb +0 -133
  68. data/examples/fit/nonlinearfit.rb +0 -89
  69. data/examples/fit/plot.gp +0 -36
  70. data/examples/fit/polyfit.rb +0 -9
  71. data/examples/fit/powerfit.rb +0 -21
  72. data/examples/fit/sigmoidfit.rb +0 -40
  73. data/examples/fit/sinfit.rb +0 -22
  74. data/examples/fit/wlinear.rb +0 -46
  75. data/examples/fresnel.rb +0 -11
  76. data/examples/function/function.rb +0 -36
  77. data/examples/function/log.rb +0 -7
  78. data/examples/function/min.rb +0 -33
  79. data/examples/function/sin.rb +0 -10
  80. data/examples/function/synchrotron.rb +0 -18
  81. data/examples/gallery/butterfly.rb +0 -7
  82. data/examples/gallery/cayley.rb +0 -12
  83. data/examples/gallery/cornu.rb +0 -23
  84. data/examples/gallery/eight.rb +0 -11
  85. data/examples/gallery/koch.rb +0 -40
  86. data/examples/gallery/lemniscate.rb +0 -11
  87. data/examples/gallery/polar.rb +0 -11
  88. data/examples/gallery/rgplot/cossin.rb +0 -35
  89. data/examples/gallery/rgplot/rgplot.replaced +0 -0
  90. data/examples/gallery/rgplot/roesller.rb +0 -55
  91. data/examples/gallery/roesller.rb +0 -39
  92. data/examples/gallery/scarabaeus.rb +0 -14
  93. data/examples/histogram/cauchy.rb +0 -27
  94. data/examples/histogram/cauchy.sh +0 -2
  95. data/examples/histogram/exponential.rb +0 -19
  96. data/examples/histogram/gauss.rb +0 -16
  97. data/examples/histogram/gsl-histogram.rb +0 -40
  98. data/examples/histogram/histo2d.rb +0 -31
  99. data/examples/histogram/histo3d.rb +0 -34
  100. data/examples/histogram/histogram-pdf.rb +0 -27
  101. data/examples/histogram/histogram.rb +0 -26
  102. data/examples/histogram/integral.rb +0 -28
  103. data/examples/histogram/poisson.rb +0 -27
  104. data/examples/histogram/power.rb +0 -25
  105. data/examples/histogram/rebin.rb +0 -17
  106. data/examples/histogram/smp.dat +0 -5
  107. data/examples/histogram/xexp.rb +0 -21
  108. data/examples/integration/ahmed.rb +0 -21
  109. data/examples/integration/cosmology.rb +0 -75
  110. data/examples/integration/friedmann.gp +0 -16
  111. data/examples/integration/friedmann.rb +0 -35
  112. data/examples/integration/gamma-zeta.rb +0 -35
  113. data/examples/integration/integration.rb +0 -22
  114. data/examples/integration/qag.rb +0 -8
  115. data/examples/integration/qag2.rb +0 -14
  116. data/examples/integration/qag3.rb +0 -8
  117. data/examples/integration/qagi.rb +0 -28
  118. data/examples/integration/qagi2.rb +0 -49
  119. data/examples/integration/qagiu.rb +0 -29
  120. data/examples/integration/qagp.rb +0 -20
  121. data/examples/integration/qags.rb +0 -14
  122. data/examples/integration/qawc.rb +0 -18
  123. data/examples/integration/qawf.rb +0 -41
  124. data/examples/integration/qawo.rb +0 -29
  125. data/examples/integration/qaws.rb +0 -30
  126. data/examples/integration/qng.rb +0 -17
  127. data/examples/interp/demo.gp +0 -20
  128. data/examples/interp/demo.rb +0 -45
  129. data/examples/interp/interp.rb +0 -37
  130. data/examples/interp/points +0 -10
  131. data/examples/interp/spline.rb +0 -20
  132. data/examples/jacobi/deriv.rb +0 -40
  133. data/examples/jacobi/integrate.rb +0 -34
  134. data/examples/jacobi/interp.rb +0 -43
  135. data/examples/jacobi/jacobi.rb +0 -11
  136. data/examples/linalg/HH.rb +0 -15
  137. data/examples/linalg/HH_narray.rb +0 -13
  138. data/examples/linalg/LQ_solve.rb +0 -73
  139. data/examples/linalg/LU.rb +0 -84
  140. data/examples/linalg/LU2.rb +0 -31
  141. data/examples/linalg/LU_narray.rb +0 -24
  142. data/examples/linalg/PTLQ.rb +0 -47
  143. data/examples/linalg/QR.rb +0 -18
  144. data/examples/linalg/QRPT.rb +0 -47
  145. data/examples/linalg/QR_solve.rb +0 -78
  146. data/examples/linalg/QR_solve_narray.rb +0 -13
  147. data/examples/linalg/SV.rb +0 -16
  148. data/examples/linalg/SV_narray.rb +0 -12
  149. data/examples/linalg/SV_solve.rb +0 -49
  150. data/examples/linalg/chol.rb +0 -29
  151. data/examples/linalg/chol_narray.rb +0 -15
  152. data/examples/linalg/complex.rb +0 -57
  153. data/examples/linalg/invert_narray.rb +0 -10
  154. data/examples/math/const.rb +0 -67
  155. data/examples/math/elementary.rb +0 -35
  156. data/examples/math/functions.rb +0 -41
  157. data/examples/math/inf_nan.rb +0 -34
  158. data/examples/math/minmax.rb +0 -22
  159. data/examples/math/power.rb +0 -18
  160. data/examples/math/test.rb +0 -31
  161. data/examples/matrix/a.dat +0 -0
  162. data/examples/matrix/add.rb +0 -45
  163. data/examples/matrix/b.dat +0 -4
  164. data/examples/matrix/cat.rb +0 -31
  165. data/examples/matrix/colvectors.rb +0 -24
  166. data/examples/matrix/complex.rb +0 -41
  167. data/examples/matrix/det.rb +0 -29
  168. data/examples/matrix/diagonal.rb +0 -23
  169. data/examples/matrix/get_all.rb +0 -159
  170. data/examples/matrix/hilbert.rb +0 -31
  171. data/examples/matrix/iterator.rb +0 -19
  172. data/examples/matrix/matrix.rb +0 -57
  173. data/examples/matrix/minmax.rb +0 -53
  174. data/examples/matrix/mul.rb +0 -39
  175. data/examples/matrix/rand.rb +0 -20
  176. data/examples/matrix/read.rb +0 -29
  177. data/examples/matrix/rowcol.rb +0 -47
  178. data/examples/matrix/set.rb +0 -41
  179. data/examples/matrix/set_all.rb +0 -100
  180. data/examples/matrix/view.rb +0 -32
  181. data/examples/matrix/view_all.rb +0 -148
  182. data/examples/matrix/write.rb +0 -23
  183. data/examples/min.rb +0 -29
  184. data/examples/monte/miser.rb +0 -47
  185. data/examples/monte/monte.rb +0 -47
  186. data/examples/monte/plain.rb +0 -47
  187. data/examples/monte/vegas.rb +0 -46
  188. data/examples/multimin/bundle.rb +0 -66
  189. data/examples/multimin/cqp.rb +0 -109
  190. data/examples/multimin/fdfminimizer.rb +0 -40
  191. data/examples/multimin/fminimizer.rb +0 -41
  192. data/examples/multiroot/demo.rb +0 -36
  193. data/examples/multiroot/fdfsolver.rb +0 -50
  194. data/examples/multiroot/fsolver.rb +0 -33
  195. data/examples/multiroot/fsolver2.rb +0 -32
  196. data/examples/multiroot/fsolver3.rb +0 -26
  197. data/examples/narray/histogram.rb +0 -14
  198. data/examples/narray/mandel.rb +0 -27
  199. data/examples/narray/narray.rb +0 -28
  200. data/examples/narray/narray2.rb +0 -44
  201. data/examples/narray/sf.rb +0 -26
  202. data/examples/ntuple/create.rb +0 -17
  203. data/examples/ntuple/project.rb +0 -31
  204. data/examples/odeiv/binarysystem.gp +0 -23
  205. data/examples/odeiv/binarysystem.rb +0 -104
  206. data/examples/odeiv/demo.gp +0 -24
  207. data/examples/odeiv/demo.rb +0 -69
  208. data/examples/odeiv/demo2.gp +0 -26
  209. data/examples/odeiv/duffing.rb +0 -45
  210. data/examples/odeiv/frei1.rb +0 -109
  211. data/examples/odeiv/frei2.rb +0 -76
  212. data/examples/odeiv/legendre.rb +0 -52
  213. data/examples/odeiv/odeiv.rb +0 -32
  214. data/examples/odeiv/odeiv2.rb +0 -45
  215. data/examples/odeiv/oscillator.rb +0 -42
  216. data/examples/odeiv/sedov.rb +0 -97
  217. data/examples/odeiv/whitedwarf.gp +0 -40
  218. data/examples/odeiv/whitedwarf.rb +0 -158
  219. data/examples/ool/conmin.rb +0 -100
  220. data/examples/ool/gencan.rb +0 -99
  221. data/examples/ool/pgrad.rb +0 -100
  222. data/examples/ool/spg.rb +0 -100
  223. data/examples/pdf/bernoulli.rb +0 -5
  224. data/examples/pdf/beta.rb +0 -7
  225. data/examples/pdf/binomiral.rb +0 -10
  226. data/examples/pdf/cauchy.rb +0 -6
  227. data/examples/pdf/chisq.rb +0 -8
  228. data/examples/pdf/exponential.rb +0 -7
  229. data/examples/pdf/exppow.rb +0 -6
  230. data/examples/pdf/fdist.rb +0 -7
  231. data/examples/pdf/flat.rb +0 -7
  232. data/examples/pdf/gamma.rb +0 -8
  233. data/examples/pdf/gauss-tail.rb +0 -5
  234. data/examples/pdf/gauss.rb +0 -6
  235. data/examples/pdf/geometric.rb +0 -5
  236. data/examples/pdf/gumbel.rb +0 -6
  237. data/examples/pdf/hypergeometric.rb +0 -11
  238. data/examples/pdf/landau.rb +0 -5
  239. data/examples/pdf/laplace.rb +0 -7
  240. data/examples/pdf/logarithmic.rb +0 -5
  241. data/examples/pdf/logistic.rb +0 -6
  242. data/examples/pdf/lognormal.rb +0 -6
  243. data/examples/pdf/neg-binomiral.rb +0 -10
  244. data/examples/pdf/pareto.rb +0 -7
  245. data/examples/pdf/pascal.rb +0 -10
  246. data/examples/pdf/poisson.rb +0 -5
  247. data/examples/pdf/rayleigh-tail.rb +0 -6
  248. data/examples/pdf/rayleigh.rb +0 -6
  249. data/examples/pdf/tdist.rb +0 -6
  250. data/examples/pdf/weibull.rb +0 -8
  251. data/examples/permutation/ex1.rb +0 -22
  252. data/examples/permutation/permutation.rb +0 -16
  253. data/examples/poly/bell.rb +0 -6
  254. data/examples/poly/bessel.rb +0 -6
  255. data/examples/poly/cheb.rb +0 -6
  256. data/examples/poly/cheb_II.rb +0 -6
  257. data/examples/poly/cubic.rb +0 -9
  258. data/examples/poly/demo.rb +0 -20
  259. data/examples/poly/eval.rb +0 -28
  260. data/examples/poly/eval_derivs.rb +0 -14
  261. data/examples/poly/fit.rb +0 -21
  262. data/examples/poly/hermite.rb +0 -6
  263. data/examples/poly/poly.rb +0 -13
  264. data/examples/poly/quadratic.rb +0 -25
  265. data/examples/random/diffusion.rb +0 -34
  266. data/examples/random/gaussian.rb +0 -9
  267. data/examples/random/generator.rb +0 -27
  268. data/examples/random/hdsobol.rb +0 -21
  269. data/examples/random/poisson.rb +0 -9
  270. data/examples/random/qrng.rb +0 -19
  271. data/examples/random/randomwalk.rb +0 -37
  272. data/examples/random/randomwalk2d.rb +0 -19
  273. data/examples/random/rayleigh.rb +0 -36
  274. data/examples/random/rng.rb +0 -33
  275. data/examples/random/rngextra.rb +0 -14
  276. data/examples/roots/bisection.rb +0 -25
  277. data/examples/roots/brent.rb +0 -43
  278. data/examples/roots/demo.rb +0 -30
  279. data/examples/roots/newton.rb +0 -46
  280. data/examples/roots/recombination.gp +0 -11
  281. data/examples/roots/recombination.rb +0 -61
  282. data/examples/roots/steffenson.rb +0 -48
  283. data/examples/sf/ShiChi.rb +0 -6
  284. data/examples/sf/SiCi.rb +0 -6
  285. data/examples/sf/airy_Ai.rb +0 -8
  286. data/examples/sf/airy_Bi.rb +0 -8
  287. data/examples/sf/bessel_IK.rb +0 -12
  288. data/examples/sf/bessel_JY.rb +0 -13
  289. data/examples/sf/beta_inc.rb +0 -9
  290. data/examples/sf/clausen.rb +0 -6
  291. data/examples/sf/dawson.rb +0 -5
  292. data/examples/sf/debye.rb +0 -9
  293. data/examples/sf/dilog.rb +0 -6
  294. data/examples/sf/ellint.rb +0 -6
  295. data/examples/sf/expint.rb +0 -8
  296. data/examples/sf/fermi.rb +0 -10
  297. data/examples/sf/gamma_inc_P.rb +0 -9
  298. data/examples/sf/gegenbauer.rb +0 -8
  299. data/examples/sf/hyperg.rb +0 -7
  300. data/examples/sf/laguerre.rb +0 -19
  301. data/examples/sf/lambertW.rb +0 -5
  302. data/examples/sf/legendre_P.rb +0 -10
  303. data/examples/sf/lngamma.rb +0 -5
  304. data/examples/sf/psi.rb +0 -54
  305. data/examples/sf/sphbessel.gp +0 -27
  306. data/examples/sf/sphbessel.rb +0 -30
  307. data/examples/sf/synchrotron.rb +0 -5
  308. data/examples/sf/transport.rb +0 -10
  309. data/examples/sf/zetam1.rb +0 -5
  310. data/examples/siman.rb +0 -44
  311. data/examples/sort/heapsort.rb +0 -23
  312. data/examples/sort/heapsort_vector_complex.rb +0 -21
  313. data/examples/sort/sort.rb +0 -23
  314. data/examples/sort/sort2.rb +0 -16
  315. data/examples/stats/mean.rb +0 -17
  316. data/examples/stats/statistics.rb +0 -18
  317. data/examples/stats/test.rb +0 -9
  318. data/examples/sum.rb +0 -34
  319. data/examples/tamu_anova.rb +0 -18
  320. data/examples/vector/a.dat +0 -0
  321. data/examples/vector/add.rb +0 -56
  322. data/examples/vector/b.dat +0 -4
  323. data/examples/vector/c.dat +0 -3
  324. data/examples/vector/collect.rb +0 -26
  325. data/examples/vector/compare.rb +0 -28
  326. data/examples/vector/complex.rb +0 -51
  327. data/examples/vector/complex_get_all.rb +0 -85
  328. data/examples/vector/complex_set_all.rb +0 -131
  329. data/examples/vector/complex_view_all.rb +0 -77
  330. data/examples/vector/connect.rb +0 -22
  331. data/examples/vector/decimate.rb +0 -38
  332. data/examples/vector/diff.rb +0 -31
  333. data/examples/vector/filescan.rb +0 -17
  334. data/examples/vector/floor.rb +0 -23
  335. data/examples/vector/get_all.rb +0 -82
  336. data/examples/vector/gnuplot.rb +0 -38
  337. data/examples/vector/graph.rb +0 -28
  338. data/examples/vector/histogram.rb +0 -22
  339. data/examples/vector/linspace.rb +0 -24
  340. data/examples/vector/log.rb +0 -17
  341. data/examples/vector/logic.rb +0 -33
  342. data/examples/vector/logspace.rb +0 -25
  343. data/examples/vector/minmax.rb +0 -47
  344. data/examples/vector/mul.rb +0 -49
  345. data/examples/vector/narray.rb +0 -46
  346. data/examples/vector/read.rb +0 -29
  347. data/examples/vector/set.rb +0 -35
  348. data/examples/vector/set_all.rb +0 -121
  349. data/examples/vector/smpv.dat +0 -15
  350. data/examples/vector/test.rb +0 -43
  351. data/examples/vector/test_gslblock.rb +0 -58
  352. data/examples/vector/vector.rb +0 -110
  353. data/examples/vector/view.rb +0 -35
  354. data/examples/vector/view_all.rb +0 -73
  355. data/examples/vector/where.rb +0 -29
  356. data/examples/vector/write.rb +0 -24
  357. data/examples/vector/zip.rb +0 -34
  358. data/examples/wavelet/ecg.dat +0 -256
  359. data/examples/wavelet/wavelet1.rb +0 -50
  360. data/ext/gsl_native/alf.c +0 -206
  361. data/ext/gsl_native/array.c +0 -553
  362. data/ext/gsl_native/array_complex.c +0 -245
  363. data/ext/gsl_native/blas.c +0 -28
  364. data/ext/gsl_native/blas1.c +0 -733
  365. data/ext/gsl_native/blas2.c +0 -1088
  366. data/ext/gsl_native/blas3.c +0 -880
  367. data/ext/gsl_native/block.c +0 -40
  368. data/ext/gsl_native/block_source.h +0 -885
  369. data/ext/gsl_native/bspline.c +0 -122
  370. data/ext/gsl_native/bundle.c +0 -3
  371. data/ext/gsl_native/cdf.c +0 -740
  372. data/ext/gsl_native/cheb.c +0 -531
  373. data/ext/gsl_native/combination.c +0 -275
  374. data/ext/gsl_native/common.c +0 -293
  375. data/ext/gsl_native/complex.c +0 -1002
  376. data/ext/gsl_native/const.c +0 -331
  377. data/ext/gsl_native/const_additional.c +0 -99
  378. data/ext/gsl_native/cqp.c +0 -283
  379. data/ext/gsl_native/deriv.c +0 -187
  380. data/ext/gsl_native/dht.c +0 -353
  381. data/ext/gsl_native/diff.c +0 -164
  382. data/ext/gsl_native/dirac.c +0 -388
  383. data/ext/gsl_native/eigen.c +0 -2322
  384. data/ext/gsl_native/error.c +0 -193
  385. data/ext/gsl_native/extconf.rb +0 -118
  386. data/ext/gsl_native/fft.c +0 -1095
  387. data/ext/gsl_native/fit.c +0 -204
  388. data/ext/gsl_native/fresnel.c +0 -312
  389. data/ext/gsl_native/function.c +0 -518
  390. data/ext/gsl_native/geometry.c +0 -139
  391. data/ext/gsl_native/graph.c +0 -1590
  392. data/ext/gsl_native/gsl.c +0 -259
  393. data/ext/gsl_native/gsl_narray.c +0 -794
  394. data/ext/gsl_native/histogram.c +0 -1964
  395. data/ext/gsl_native/histogram2d.c +0 -1042
  396. data/ext/gsl_native/histogram3d.c +0 -884
  397. data/ext/gsl_native/histogram3d_source.c +0 -749
  398. data/ext/gsl_native/histogram_find.c +0 -99
  399. data/ext/gsl_native/histogram_oper.c +0 -150
  400. data/ext/gsl_native/ieee.c +0 -88
  401. data/ext/gsl_native/include/rb_gsl.h +0 -136
  402. data/ext/gsl_native/include/rb_gsl_array.h +0 -214
  403. data/ext/gsl_native/include/rb_gsl_cheb.h +0 -19
  404. data/ext/gsl_native/include/rb_gsl_common.h +0 -348
  405. data/ext/gsl_native/include/rb_gsl_complex.h +0 -25
  406. data/ext/gsl_native/include/rb_gsl_const.h +0 -23
  407. data/ext/gsl_native/include/rb_gsl_dirac.h +0 -6
  408. data/ext/gsl_native/include/rb_gsl_eigen.h +0 -17
  409. data/ext/gsl_native/include/rb_gsl_fft.h +0 -49
  410. data/ext/gsl_native/include/rb_gsl_fit.h +0 -23
  411. data/ext/gsl_native/include/rb_gsl_function.h +0 -23
  412. data/ext/gsl_native/include/rb_gsl_graph.h +0 -68
  413. data/ext/gsl_native/include/rb_gsl_histogram.h +0 -63
  414. data/ext/gsl_native/include/rb_gsl_histogram3d.h +0 -97
  415. data/ext/gsl_native/include/rb_gsl_integration.h +0 -17
  416. data/ext/gsl_native/include/rb_gsl_interp.h +0 -41
  417. data/ext/gsl_native/include/rb_gsl_linalg.h +0 -21
  418. data/ext/gsl_native/include/rb_gsl_math.h +0 -20
  419. data/ext/gsl_native/include/rb_gsl_odeiv.h +0 -18
  420. data/ext/gsl_native/include/rb_gsl_poly.h +0 -67
  421. data/ext/gsl_native/include/rb_gsl_rational.h +0 -30
  422. data/ext/gsl_native/include/rb_gsl_rng.h +0 -20
  423. data/ext/gsl_native/include/rb_gsl_root.h +0 -22
  424. data/ext/gsl_native/include/rb_gsl_sf.h +0 -110
  425. data/ext/gsl_native/include/rb_gsl_statistics.h +0 -17
  426. data/ext/gsl_native/include/rb_gsl_tensor.h +0 -43
  427. data/ext/gsl_native/include/rb_gsl_with_narray.h +0 -31
  428. data/ext/gsl_native/include/templates_off.h +0 -87
  429. data/ext/gsl_native/include/templates_on.h +0 -241
  430. data/ext/gsl_native/integration.c +0 -1154
  431. data/ext/gsl_native/interp.c +0 -499
  432. data/ext/gsl_native/jacobi.c +0 -733
  433. data/ext/gsl_native/linalg.c +0 -3915
  434. data/ext/gsl_native/linalg_complex.c +0 -726
  435. data/ext/gsl_native/math.c +0 -706
  436. data/ext/gsl_native/matrix.c +0 -36
  437. data/ext/gsl_native/matrix_complex.c +0 -1733
  438. data/ext/gsl_native/matrix_double.c +0 -557
  439. data/ext/gsl_native/matrix_int.c +0 -255
  440. data/ext/gsl_native/matrix_source.h +0 -2708
  441. data/ext/gsl_native/min.c +0 -219
  442. data/ext/gsl_native/monte.c +0 -978
  443. data/ext/gsl_native/multifit.c +0 -1862
  444. data/ext/gsl_native/multimin.c +0 -778
  445. data/ext/gsl_native/multimin_fsdf.c +0 -156
  446. data/ext/gsl_native/multiroots.c +0 -952
  447. data/ext/gsl_native/multiset.c +0 -210
  448. data/ext/gsl_native/ndlinear.c +0 -320
  449. data/ext/gsl_native/nmf.c +0 -171
  450. data/ext/gsl_native/nmf_wrap.c +0 -75
  451. data/ext/gsl_native/ntuple.c +0 -469
  452. data/ext/gsl_native/odeiv.c +0 -947
  453. data/ext/gsl_native/ool.c +0 -879
  454. data/ext/gsl_native/permutation.c +0 -598
  455. data/ext/gsl_native/poly.c +0 -39
  456. data/ext/gsl_native/poly2.c +0 -265
  457. data/ext/gsl_native/poly_source.h +0 -1871
  458. data/ext/gsl_native/qrng.c +0 -160
  459. data/ext/gsl_native/randist.c +0 -1848
  460. data/ext/gsl_native/rational.c +0 -480
  461. data/ext/gsl_native/rng.c +0 -595
  462. data/ext/gsl_native/root.c +0 -407
  463. data/ext/gsl_native/sf.c +0 -1446
  464. data/ext/gsl_native/sf_airy.c +0 -200
  465. data/ext/gsl_native/sf_bessel.c +0 -871
  466. data/ext/gsl_native/sf_clausen.c +0 -28
  467. data/ext/gsl_native/sf_coulomb.c +0 -206
  468. data/ext/gsl_native/sf_coupling.c +0 -121
  469. data/ext/gsl_native/sf_dawson.c +0 -29
  470. data/ext/gsl_native/sf_debye.c +0 -148
  471. data/ext/gsl_native/sf_dilog.c +0 -43
  472. data/ext/gsl_native/sf_elementary.c +0 -46
  473. data/ext/gsl_native/sf_ellint.c +0 -206
  474. data/ext/gsl_native/sf_elljac.c +0 -30
  475. data/ext/gsl_native/sf_erfc.c +0 -89
  476. data/ext/gsl_native/sf_exp.c +0 -169
  477. data/ext/gsl_native/sf_expint.c +0 -201
  478. data/ext/gsl_native/sf_fermi_dirac.c +0 -148
  479. data/ext/gsl_native/sf_gamma.c +0 -343
  480. data/ext/gsl_native/sf_gegenbauer.c +0 -97
  481. data/ext/gsl_native/sf_hyperg.c +0 -203
  482. data/ext/gsl_native/sf_laguerre.c +0 -113
  483. data/ext/gsl_native/sf_lambert.c +0 -47
  484. data/ext/gsl_native/sf_legendre.c +0 -368
  485. data/ext/gsl_native/sf_log.c +0 -105
  486. data/ext/gsl_native/sf_mathieu.c +0 -235
  487. data/ext/gsl_native/sf_power.c +0 -47
  488. data/ext/gsl_native/sf_psi.c +0 -89
  489. data/ext/gsl_native/sf_synchrotron.c +0 -48
  490. data/ext/gsl_native/sf_transport.c +0 -76
  491. data/ext/gsl_native/sf_trigonometric.c +0 -210
  492. data/ext/gsl_native/sf_zeta.c +0 -115
  493. data/ext/gsl_native/signal.c +0 -303
  494. data/ext/gsl_native/siman.c +0 -713
  495. data/ext/gsl_native/sort.c +0 -207
  496. data/ext/gsl_native/spline.c +0 -377
  497. data/ext/gsl_native/stats.c +0 -787
  498. data/ext/gsl_native/sum.c +0 -168
  499. data/ext/gsl_native/tamu_anova.c +0 -56
  500. data/ext/gsl_native/tensor.c +0 -35
  501. data/ext/gsl_native/tensor_source.h +0 -1122
  502. data/ext/gsl_native/vector.c +0 -35
  503. data/ext/gsl_native/vector_complex.c +0 -2241
  504. data/ext/gsl_native/vector_double.c +0 -1433
  505. data/ext/gsl_native/vector_int.c +0 -202
  506. data/ext/gsl_native/vector_source.h +0 -3321
  507. data/ext/gsl_native/wavelet.c +0 -923
  508. data/lib/gsl.rb +0 -8
  509. data/lib/gsl/gnuplot.rb +0 -41
  510. data/lib/gsl/oper.rb +0 -43
  511. data/lib/gsl/version.rb +0 -3
  512. data/lib/ool.rb +0 -22
  513. data/lib/ool/conmin.rb +0 -30
  514. data/lib/rbgsl.rb +0 -1
  515. data/rdoc/alf.rdoc +0 -77
  516. data/rdoc/blas.rdoc +0 -269
  517. data/rdoc/bspline.rdoc +0 -42
  518. data/rdoc/changes.rdoc +0 -159
  519. data/rdoc/cheb.rdoc +0 -99
  520. data/rdoc/cholesky_complex.rdoc +0 -46
  521. data/rdoc/combi.rdoc +0 -125
  522. data/rdoc/complex.rdoc +0 -210
  523. data/rdoc/const.rdoc +0 -546
  524. data/rdoc/dht.rdoc +0 -122
  525. data/rdoc/diff.rdoc +0 -133
  526. data/rdoc/ehandling.rdoc +0 -50
  527. data/rdoc/eigen.rdoc +0 -401
  528. data/rdoc/fft.rdoc +0 -535
  529. data/rdoc/fit.rdoc +0 -284
  530. data/rdoc/function.rdoc +0 -94
  531. data/rdoc/graph.rdoc +0 -137
  532. data/rdoc/hist.rdoc +0 -409
  533. data/rdoc/hist2d.rdoc +0 -279
  534. data/rdoc/hist3d.rdoc +0 -112
  535. data/rdoc/integration.rdoc +0 -398
  536. data/rdoc/interp.rdoc +0 -231
  537. data/rdoc/intro.rdoc +0 -27
  538. data/rdoc/linalg.rdoc +0 -681
  539. data/rdoc/linalg_complex.rdoc +0 -88
  540. data/rdoc/math.rdoc +0 -276
  541. data/rdoc/matrix.rdoc +0 -1093
  542. data/rdoc/min.rdoc +0 -189
  543. data/rdoc/monte.rdoc +0 -234
  544. data/rdoc/multimin.rdoc +0 -312
  545. data/rdoc/multiroot.rdoc +0 -293
  546. data/rdoc/narray.rdoc +0 -177
  547. data/rdoc/ndlinear.rdoc +0 -250
  548. data/rdoc/nonlinearfit.rdoc +0 -348
  549. data/rdoc/ntuple.rdoc +0 -88
  550. data/rdoc/odeiv.rdoc +0 -378
  551. data/rdoc/perm.rdoc +0 -221
  552. data/rdoc/poly.rdoc +0 -335
  553. data/rdoc/qrng.rdoc +0 -90
  554. data/rdoc/randist.rdoc +0 -233
  555. data/rdoc/ref.rdoc +0 -93
  556. data/rdoc/rng.rdoc +0 -203
  557. data/rdoc/roots.rdoc +0 -305
  558. data/rdoc/sf.rdoc +0 -1622
  559. data/rdoc/siman.rdoc +0 -89
  560. data/rdoc/sort.rdoc +0 -94
  561. data/rdoc/start.rdoc +0 -16
  562. data/rdoc/stats.rdoc +0 -219
  563. data/rdoc/sum.rdoc +0 -65
  564. data/rdoc/tensor.rdoc +0 -251
  565. data/rdoc/tut.rdoc +0 -5
  566. data/rdoc/use.rdoc +0 -177
  567. data/rdoc/vector.rdoc +0 -1243
  568. data/rdoc/vector_complex.rdoc +0 -347
  569. data/rdoc/wavelet.rdoc +0 -218
  570. data/test/gsl/blas_test.rb +0 -79
  571. data/test/gsl/bspline_test.rb +0 -63
  572. data/test/gsl/cdf_test.rb +0 -1512
  573. data/test/gsl/cheb_test.rb +0 -80
  574. data/test/gsl/combination_test.rb +0 -100
  575. data/test/gsl/complex_test.rb +0 -20
  576. data/test/gsl/const_test.rb +0 -29
  577. data/test/gsl/deriv_test.rb +0 -62
  578. data/test/gsl/dht_test.rb +0 -79
  579. data/test/gsl/diff_test.rb +0 -53
  580. data/test/gsl/eigen_test.rb +0 -563
  581. data/test/gsl/err_test.rb +0 -23
  582. data/test/gsl/fit_test.rb +0 -101
  583. data/test/gsl/histo_test.rb +0 -14
  584. data/test/gsl/index_test.rb +0 -61
  585. data/test/gsl/integration_test.rb +0 -274
  586. data/test/gsl/interp_test.rb +0 -27
  587. data/test/gsl/linalg_test.rb +0 -463
  588. data/test/gsl/matrix_nmf_test.rb +0 -37
  589. data/test/gsl/matrix_test.rb +0 -98
  590. data/test/gsl/min_test.rb +0 -89
  591. data/test/gsl/monte_test.rb +0 -77
  592. data/test/gsl/multifit_test.rb +0 -753
  593. data/test/gsl/multimin_test.rb +0 -157
  594. data/test/gsl/multiroot_test.rb +0 -135
  595. data/test/gsl/multiset_test.rb +0 -52
  596. data/test/gsl/odeiv_test.rb +0 -275
  597. data/test/gsl/oper_test.rb +0 -98
  598. data/test/gsl/poly_test.rb +0 -338
  599. data/test/gsl/qrng_test.rb +0 -94
  600. data/test/gsl/quartic_test.rb +0 -28
  601. data/test/gsl/randist_test.rb +0 -122
  602. data/test/gsl/rng_test.rb +0 -303
  603. data/test/gsl/roots_test.rb +0 -78
  604. data/test/gsl/sf_test.rb +0 -2079
  605. data/test/gsl/stats_test.rb +0 -122
  606. data/test/gsl/sum_test.rb +0 -69
  607. data/test/gsl/tensor_test.rb +0 -396
  608. data/test/gsl/vector_test.rb +0 -223
  609. data/test/gsl/wavelet_test.rb +0 -130
  610. data/test/gsl_test.rb +0 -321
  611. data/test/test_helper.rb +0 -42
  612. data/uncrustify.cfg +0 -1693
@@ -1,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
- #