gsl 1.12.109 → 1.14.5
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.
- data/AUTHORS +6 -0
- data/COPYING +339 -0
- data/ChangeLog +556 -0
- data/{README.rdoc → README} +3 -0
- data/Rakefile +54 -10
- data/THANKS +17 -0
- data/VERSION +1 -2
- data/examples/alf/alf.gp +15 -0
- data/examples/alf/alf.rb +32 -0
- data/examples/blas/blas.rb +13 -0
- data/examples/blas/dnrm2.rb +16 -0
- data/examples/blas/level1.rb +81 -0
- data/examples/blas/level2.rb +11 -0
- data/examples/blas/level3.rb +12 -0
- data/examples/bspline.rb +57 -0
- data/examples/cdf.rb +16 -0
- data/examples/cheb.rb +21 -0
- data/examples/combination.rb +23 -0
- data/examples/complex/RC-lpf.rb +47 -0
- data/examples/complex/add.rb +36 -0
- data/examples/complex/coerce.rb +14 -0
- data/examples/complex/complex.rb +25 -0
- data/examples/complex/fpmi.rb +70 -0
- data/examples/complex/functions.rb +77 -0
- data/examples/complex/michelson.rb +36 -0
- data/examples/complex/mul.rb +28 -0
- data/examples/complex/oscillator.rb +17 -0
- data/examples/complex/set.rb +37 -0
- data/examples/const/physconst.rb +151 -0
- data/examples/const/travel.rb +45 -0
- data/examples/deriv/demo.rb +13 -0
- data/examples/deriv/deriv.rb +36 -0
- data/examples/deriv/diff.rb +35 -0
- data/examples/dht.rb +42 -0
- data/examples/dirac.rb +56 -0
- data/examples/eigen/eigen.rb +34 -0
- data/examples/eigen/herm.rb +22 -0
- data/examples/eigen/narray.rb +9 -0
- data/examples/eigen/nonsymm.rb +37 -0
- data/examples/eigen/nonsymmv.rb +43 -0
- data/examples/eigen/qhoscillator.gp +35 -0
- data/examples/eigen/qhoscillator.rb +90 -0
- data/examples/eigen/vander.rb +41 -0
- data/examples/fft/fft.rb +17 -0
- data/examples/fft/fft2.rb +17 -0
- data/examples/fft/forward.rb +25 -0
- data/examples/fft/forward2.rb +26 -0
- data/examples/fft/radix2.rb +18 -0
- data/examples/fft/real-halfcomplex.rb +33 -0
- data/examples/fft/real-halfcomplex2.rb +30 -0
- data/examples/fft/realradix2.rb +19 -0
- data/examples/fft/sunspot.dat +256 -0
- data/examples/fft/sunspot.rb +16 -0
- data/examples/fit/expdata.dat +20 -0
- data/examples/fit/expfit.rb +31 -0
- data/examples/fit/gaussfit.rb +29 -0
- data/examples/fit/gaussian_2peaks.rb +34 -0
- data/examples/fit/hillfit.rb +40 -0
- data/examples/fit/lognormal.rb +26 -0
- data/examples/fit/lorentzfit.rb +22 -0
- data/examples/fit/multifit.rb +72 -0
- data/examples/fit/ndlinear.rb +133 -0
- data/examples/fit/nonlinearfit.rb +89 -0
- data/examples/fit/plot.gp +36 -0
- data/examples/fit/polyfit.rb +9 -0
- data/examples/fit/powerfit.rb +21 -0
- data/examples/fit/sigmoidfit.rb +40 -0
- data/examples/fit/sinfit.rb +22 -0
- data/examples/fit/wlinear.rb +46 -0
- data/examples/fresnel.rb +11 -0
- data/examples/function/function.rb +36 -0
- data/examples/function/log.rb +7 -0
- data/examples/function/min.rb +33 -0
- data/examples/function/sin.rb +10 -0
- data/examples/function/synchrotron.rb +18 -0
- data/examples/gallery/butterfly.rb +7 -0
- data/examples/gallery/cayley.rb +12 -0
- data/examples/gallery/cornu.rb +23 -0
- data/examples/gallery/eight.rb +11 -0
- data/examples/gallery/koch.rb +40 -0
- data/examples/gallery/lemniscate.rb +11 -0
- data/examples/gallery/polar.rb +11 -0
- data/examples/gallery/rgplot/cossin.rb +35 -0
- data/examples/gallery/rgplot/rgplot.replaced +0 -0
- data/examples/gallery/rgplot/roesller.rb +55 -0
- data/examples/gallery/roesller.rb +39 -0
- data/examples/gallery/scarabaeus.rb +14 -0
- data/examples/histogram/cauchy.rb +27 -0
- data/examples/histogram/cauchy.sh +2 -0
- data/examples/histogram/exponential.rb +19 -0
- data/examples/histogram/gauss.rb +16 -0
- data/examples/histogram/gsl-histogram.rb +40 -0
- data/examples/histogram/histo2d.rb +31 -0
- data/examples/histogram/histo3d.rb +34 -0
- data/examples/histogram/histogram-pdf.rb +27 -0
- data/examples/histogram/histogram.rb +26 -0
- data/examples/histogram/integral.rb +28 -0
- data/examples/histogram/poisson.rb +27 -0
- data/examples/histogram/power.rb +25 -0
- data/examples/histogram/rebin.rb +17 -0
- data/examples/histogram/smp.dat +5 -0
- data/examples/histogram/xexp.rb +21 -0
- data/examples/integration/ahmed.rb +21 -0
- data/examples/integration/cosmology.rb +75 -0
- data/examples/integration/friedmann.gp +16 -0
- data/examples/integration/friedmann.rb +35 -0
- data/examples/integration/gamma-zeta.rb +35 -0
- data/examples/integration/integration.rb +22 -0
- data/examples/integration/qag.rb +8 -0
- data/examples/integration/qag2.rb +14 -0
- data/examples/integration/qag3.rb +8 -0
- data/examples/integration/qagi.rb +28 -0
- data/examples/integration/qagi2.rb +49 -0
- data/examples/integration/qagiu.rb +29 -0
- data/examples/integration/qagp.rb +20 -0
- data/examples/integration/qags.rb +14 -0
- data/examples/integration/qawc.rb +18 -0
- data/examples/integration/qawf.rb +41 -0
- data/examples/integration/qawo.rb +29 -0
- data/examples/integration/qaws.rb +30 -0
- data/examples/integration/qng.rb +17 -0
- data/examples/interp/demo.gp +20 -0
- data/examples/interp/demo.rb +45 -0
- data/examples/interp/interp.rb +37 -0
- data/examples/interp/points +10 -0
- data/examples/interp/spline.rb +20 -0
- data/examples/jacobi/deriv.rb +40 -0
- data/examples/jacobi/integrate.rb +34 -0
- data/examples/jacobi/interp.rb +43 -0
- data/examples/jacobi/jacobi.rb +11 -0
- data/examples/linalg/HH.rb +15 -0
- data/examples/linalg/HH_narray.rb +13 -0
- data/examples/linalg/LQ_solve.rb +73 -0
- data/examples/linalg/LU.rb +84 -0
- data/examples/linalg/LU2.rb +31 -0
- data/examples/linalg/LU_narray.rb +24 -0
- data/examples/linalg/PTLQ.rb +47 -0
- data/examples/linalg/QR.rb +18 -0
- data/examples/linalg/QRPT.rb +47 -0
- data/examples/linalg/QR_solve.rb +78 -0
- data/examples/linalg/QR_solve_narray.rb +13 -0
- data/examples/linalg/SV.rb +16 -0
- data/examples/linalg/SV_narray.rb +12 -0
- data/examples/linalg/SV_solve.rb +49 -0
- data/examples/linalg/chol.rb +29 -0
- data/examples/linalg/chol_narray.rb +15 -0
- data/examples/linalg/complex.rb +57 -0
- data/examples/linalg/invert_narray.rb +10 -0
- data/examples/math/const.rb +67 -0
- data/examples/math/elementary.rb +35 -0
- data/examples/math/functions.rb +41 -0
- data/examples/math/inf_nan.rb +34 -0
- data/examples/math/minmax.rb +22 -0
- data/examples/math/power.rb +18 -0
- data/examples/math/test.rb +31 -0
- data/examples/matrix/a.dat +0 -0
- data/examples/matrix/add.rb +45 -0
- data/examples/matrix/b.dat +4 -0
- data/examples/matrix/cat.rb +31 -0
- data/examples/matrix/colvectors.rb +24 -0
- data/examples/matrix/complex.rb +41 -0
- data/examples/matrix/det.rb +29 -0
- data/examples/matrix/diagonal.rb +23 -0
- data/examples/matrix/get_all.rb +159 -0
- data/examples/matrix/hilbert.rb +31 -0
- data/examples/matrix/iterator.rb +19 -0
- data/examples/matrix/matrix.rb +57 -0
- data/examples/matrix/minmax.rb +53 -0
- data/examples/matrix/mul.rb +39 -0
- data/examples/matrix/rand.rb +20 -0
- data/examples/matrix/read.rb +29 -0
- data/examples/matrix/rowcol.rb +47 -0
- data/examples/matrix/set.rb +41 -0
- data/examples/matrix/set_all.rb +100 -0
- data/examples/matrix/view.rb +32 -0
- data/examples/matrix/view_all.rb +148 -0
- data/examples/matrix/write.rb +23 -0
- data/examples/min.rb +29 -0
- data/examples/monte/miser.rb +47 -0
- data/examples/monte/monte.rb +47 -0
- data/examples/monte/plain.rb +47 -0
- data/examples/monte/vegas.rb +46 -0
- data/examples/multimin/bundle.rb +66 -0
- data/examples/multimin/cqp.rb +109 -0
- data/examples/multimin/fdfminimizer.rb +40 -0
- data/examples/multimin/fminimizer.rb +41 -0
- data/examples/multiroot/demo.rb +36 -0
- data/examples/multiroot/fdfsolver.rb +50 -0
- data/examples/multiroot/fsolver.rb +33 -0
- data/examples/multiroot/fsolver2.rb +32 -0
- data/examples/multiroot/fsolver3.rb +26 -0
- data/examples/narray/histogram.rb +14 -0
- data/examples/narray/mandel.rb +27 -0
- data/examples/narray/narray.rb +28 -0
- data/examples/narray/narray2.rb +44 -0
- data/examples/narray/sf.rb +26 -0
- data/examples/ntuple/create.rb +17 -0
- data/examples/ntuple/project.rb +31 -0
- data/examples/odeiv/binarysystem.gp +23 -0
- data/examples/odeiv/binarysystem.rb +104 -0
- data/examples/odeiv/demo.gp +24 -0
- data/examples/odeiv/demo.rb +69 -0
- data/examples/odeiv/demo2.gp +26 -0
- data/examples/odeiv/duffing.rb +45 -0
- data/examples/odeiv/frei1.rb +109 -0
- data/examples/odeiv/frei2.rb +76 -0
- data/examples/odeiv/legendre.rb +52 -0
- data/examples/odeiv/odeiv.rb +32 -0
- data/examples/odeiv/odeiv2.rb +45 -0
- data/examples/odeiv/oscillator.rb +42 -0
- data/examples/odeiv/sedov.rb +97 -0
- data/examples/odeiv/whitedwarf.gp +40 -0
- data/examples/odeiv/whitedwarf.rb +158 -0
- data/examples/ool/conmin.rb +100 -0
- data/examples/ool/gencan.rb +99 -0
- data/examples/ool/pgrad.rb +100 -0
- data/examples/ool/spg.rb +100 -0
- data/examples/pdf/bernoulli.rb +5 -0
- data/examples/pdf/beta.rb +7 -0
- data/examples/pdf/binomiral.rb +10 -0
- data/examples/pdf/cauchy.rb +6 -0
- data/examples/pdf/chisq.rb +8 -0
- data/examples/pdf/exponential.rb +7 -0
- data/examples/pdf/exppow.rb +6 -0
- data/examples/pdf/fdist.rb +7 -0
- data/examples/pdf/flat.rb +7 -0
- data/examples/pdf/gamma.rb +8 -0
- data/examples/pdf/gauss-tail.rb +5 -0
- data/examples/pdf/gauss.rb +6 -0
- data/examples/pdf/geometric.rb +5 -0
- data/examples/pdf/gumbel.rb +6 -0
- data/examples/pdf/hypergeometric.rb +11 -0
- data/examples/pdf/landau.rb +5 -0
- data/examples/pdf/laplace.rb +7 -0
- data/examples/pdf/logarithmic.rb +5 -0
- data/examples/pdf/logistic.rb +6 -0
- data/examples/pdf/lognormal.rb +6 -0
- data/examples/pdf/neg-binomiral.rb +10 -0
- data/examples/pdf/pareto.rb +7 -0
- data/examples/pdf/pascal.rb +10 -0
- data/examples/pdf/poisson.rb +5 -0
- data/examples/pdf/rayleigh-tail.rb +6 -0
- data/examples/pdf/rayleigh.rb +6 -0
- data/examples/pdf/tdist.rb +6 -0
- data/examples/pdf/weibull.rb +8 -0
- data/examples/permutation/ex1.rb +22 -0
- data/examples/permutation/permutation.rb +16 -0
- data/examples/poly/bell.rb +6 -0
- data/examples/poly/bessel.rb +6 -0
- data/examples/poly/cheb.rb +6 -0
- data/examples/poly/cheb_II.rb +6 -0
- data/examples/poly/cubic.rb +9 -0
- data/examples/poly/demo.rb +20 -0
- data/examples/poly/eval.rb +28 -0
- data/examples/poly/eval_derivs.rb +14 -0
- data/examples/poly/fit.rb +21 -0
- data/examples/poly/hermite.rb +6 -0
- data/examples/poly/poly.rb +13 -0
- data/examples/poly/quadratic.rb +25 -0
- data/examples/random/diffusion.rb +34 -0
- data/examples/random/gaussian.rb +9 -0
- data/examples/random/generator.rb +27 -0
- data/examples/random/hdsobol.rb +21 -0
- data/examples/random/poisson.rb +9 -0
- data/examples/random/qrng.rb +19 -0
- data/examples/random/randomwalk.rb +37 -0
- data/examples/random/randomwalk2d.rb +19 -0
- data/examples/random/rayleigh.rb +36 -0
- data/examples/random/rng.rb +33 -0
- data/examples/random/rngextra.rb +14 -0
- data/examples/roots/bisection.rb +25 -0
- data/examples/roots/brent.rb +43 -0
- data/examples/roots/demo.rb +30 -0
- data/examples/roots/newton.rb +46 -0
- data/examples/roots/recombination.gp +12 -0
- data/examples/roots/recombination.rb +61 -0
- data/examples/roots/steffenson.rb +48 -0
- data/examples/sf/ShiChi.rb +6 -0
- data/examples/sf/SiCi.rb +6 -0
- data/examples/sf/airy_Ai.rb +8 -0
- data/examples/sf/airy_Bi.rb +8 -0
- data/examples/sf/bessel_IK.rb +12 -0
- data/examples/sf/bessel_JY.rb +13 -0
- data/examples/sf/beta_inc.rb +9 -0
- data/examples/sf/clausen.rb +6 -0
- data/examples/sf/dawson.rb +5 -0
- data/examples/sf/debye.rb +9 -0
- data/examples/sf/dilog.rb +6 -0
- data/examples/sf/ellint.rb +6 -0
- data/examples/sf/expint.rb +8 -0
- data/examples/sf/fermi.rb +10 -0
- data/examples/sf/gamma_inc_P.rb +9 -0
- data/examples/sf/gegenbauer.rb +8 -0
- data/examples/sf/hyperg.rb +7 -0
- data/examples/sf/laguerre.rb +19 -0
- data/examples/sf/lambertW.rb +5 -0
- data/examples/sf/legendre_P.rb +10 -0
- data/examples/sf/lngamma.rb +5 -0
- data/examples/sf/psi.rb +54 -0
- data/examples/sf/sphbessel.gp +27 -0
- data/examples/sf/sphbessel.rb +30 -0
- data/examples/sf/synchrotron.rb +5 -0
- data/examples/sf/transport.rb +10 -0
- data/examples/sf/zetam1.rb +5 -0
- data/examples/siman.rb +44 -0
- data/examples/sort/heapsort.rb +23 -0
- data/examples/sort/heapsort_vector_complex.rb +21 -0
- data/examples/sort/sort.rb +23 -0
- data/examples/sort/sort2.rb +16 -0
- data/examples/stats/mean.rb +17 -0
- data/examples/stats/statistics.rb +18 -0
- data/examples/stats/test.rb +9 -0
- data/examples/sum.rb +34 -0
- data/examples/tamu_anova.rb +18 -0
- data/examples/vector/a.dat +0 -0
- data/examples/vector/add.rb +56 -0
- data/examples/vector/b.dat +4 -0
- data/examples/vector/c.dat +3 -0
- data/examples/vector/collect.rb +26 -0
- data/examples/vector/compare.rb +28 -0
- data/examples/vector/complex.rb +51 -0
- data/examples/vector/complex_get_all.rb +85 -0
- data/examples/vector/complex_set_all.rb +131 -0
- data/examples/vector/complex_view_all.rb +77 -0
- data/examples/vector/connect.rb +22 -0
- data/examples/vector/decimate.rb +38 -0
- data/examples/vector/diff.rb +31 -0
- data/examples/vector/filescan.rb +17 -0
- data/examples/vector/floor.rb +23 -0
- data/examples/vector/get_all.rb +82 -0
- data/examples/vector/gnuplot.rb +38 -0
- data/examples/vector/graph.rb +28 -0
- data/examples/vector/histogram.rb +22 -0
- data/examples/vector/linspace.rb +24 -0
- data/examples/vector/log.rb +17 -0
- data/examples/vector/logic.rb +33 -0
- data/examples/vector/logspace.rb +25 -0
- data/examples/vector/minmax.rb +47 -0
- data/examples/vector/mul.rb +49 -0
- data/examples/vector/narray.rb +46 -0
- data/examples/vector/read.rb +29 -0
- data/examples/vector/set.rb +35 -0
- data/examples/vector/set_all.rb +121 -0
- data/examples/vector/smpv.dat +15 -0
- data/examples/vector/test.rb +43 -0
- data/examples/vector/test_gslblock.rb +58 -0
- data/examples/vector/vector.rb +110 -0
- data/examples/vector/view.rb +35 -0
- data/examples/vector/view_all.rb +73 -0
- data/examples/vector/where.rb +29 -0
- data/examples/vector/write.rb +24 -0
- data/examples/vector/zip.rb +34 -0
- data/examples/wavelet/ecg.dat +256 -0
- data/examples/wavelet/wavelet1.rb +50 -0
- data/ext/extconf.rb +9 -0
- data/ext/gsl.c +10 -1
- data/ext/histogram.c +6 -2
- data/ext/integration.c +39 -0
- data/ext/matrix_complex.c +1 -1
- data/ext/multiset.c +214 -0
- data/ext/nmf.c +4 -0
- data/ext/nmf_wrap.c +3 -0
- data/ext/vector_complex.c +1 -1
- data/ext/vector_double.c +3 -3
- data/ext/vector_source.c +6 -6
- data/include/rb_gsl.h +7 -0
- data/include/rb_gsl_common.h +6 -0
- data/rdoc/alf.rdoc +77 -0
- data/rdoc/blas.rdoc +269 -0
- data/rdoc/bspline.rdoc +42 -0
- data/rdoc/changes.rdoc +164 -0
- data/rdoc/cheb.rdoc +99 -0
- data/rdoc/cholesky_complex.rdoc +46 -0
- data/rdoc/combi.rdoc +125 -0
- data/rdoc/complex.rdoc +210 -0
- data/rdoc/const.rdoc +546 -0
- data/rdoc/dht.rdoc +122 -0
- data/rdoc/diff.rdoc +133 -0
- data/rdoc/ehandling.rdoc +50 -0
- data/rdoc/eigen.rdoc +401 -0
- data/rdoc/fft.rdoc +535 -0
- data/rdoc/fit.rdoc +284 -0
- data/rdoc/function.rdoc +94 -0
- data/rdoc/graph.rdoc +137 -0
- data/rdoc/hist.rdoc +409 -0
- data/rdoc/hist2d.rdoc +279 -0
- data/rdoc/hist3d.rdoc +112 -0
- data/rdoc/index.rdoc +62 -0
- data/rdoc/integration.rdoc +398 -0
- data/rdoc/interp.rdoc +231 -0
- data/rdoc/intro.rdoc +27 -0
- data/rdoc/linalg.rdoc +681 -0
- data/rdoc/linalg_complex.rdoc +88 -0
- data/rdoc/math.rdoc +276 -0
- data/rdoc/matrix.rdoc +1093 -0
- data/rdoc/min.rdoc +189 -0
- data/rdoc/monte.rdoc +234 -0
- data/rdoc/multimin.rdoc +312 -0
- data/rdoc/multiroot.rdoc +293 -0
- data/rdoc/narray.rdoc +173 -0
- data/rdoc/ndlinear.rdoc +247 -0
- data/rdoc/nonlinearfit.rdoc +348 -0
- data/rdoc/ntuple.rdoc +88 -0
- data/rdoc/odeiv.rdoc +378 -0
- data/rdoc/perm.rdoc +221 -0
- data/rdoc/poly.rdoc +335 -0
- data/rdoc/qrng.rdoc +90 -0
- data/rdoc/randist.rdoc +233 -0
- data/rdoc/ref.rdoc +93 -0
- data/rdoc/rng.rdoc +203 -0
- data/rdoc/rngextra.rdoc +11 -0
- data/rdoc/roots.rdoc +305 -0
- data/rdoc/screenshot.rdoc +40 -0
- data/rdoc/sf.rdoc +1622 -0
- data/rdoc/siman.rdoc +89 -0
- data/rdoc/sort.rdoc +94 -0
- data/rdoc/start.rdoc +16 -0
- data/rdoc/stats.rdoc +219 -0
- data/rdoc/sum.rdoc +65 -0
- data/rdoc/tensor.rdoc +251 -0
- data/rdoc/tut.rdoc +5 -0
- data/rdoc/use.rdoc +177 -0
- data/rdoc/vector.rdoc +1243 -0
- data/rdoc/vector_complex.rdoc +347 -0
- data/rdoc/wavelet.rdoc +218 -0
- data/setup.rb +1585 -0
- data/tests/blas/amax.rb +14 -0
- data/tests/blas/asum.rb +16 -0
- data/tests/blas/axpy.rb +25 -0
- data/tests/blas/copy.rb +23 -0
- data/tests/blas/dot.rb +23 -0
- data/tests/bspline.rb +53 -0
- data/tests/cdf.rb +1388 -0
- data/tests/cheb.rb +112 -0
- data/tests/combination.rb +123 -0
- data/tests/complex.rb +17 -0
- data/tests/const.rb +24 -0
- data/tests/deriv.rb +85 -0
- data/tests/dht/dht1.rb +17 -0
- data/tests/dht/dht2.rb +23 -0
- data/tests/dht/dht3.rb +23 -0
- data/tests/dht/dht4.rb +23 -0
- data/tests/diff.rb +78 -0
- data/tests/eigen/eigen.rb +220 -0
- data/tests/eigen/gen.rb +105 -0
- data/tests/eigen/genherm.rb +66 -0
- data/tests/eigen/gensymm.rb +68 -0
- data/tests/eigen/nonsymm.rb +53 -0
- data/tests/eigen/nonsymmv.rb +53 -0
- data/tests/eigen/symm-herm.rb +74 -0
- data/tests/err.rb +58 -0
- data/tests/fit.rb +124 -0
- data/tests/gsl_test.rb +118 -0
- data/tests/gsl_test2.rb +107 -0
- data/tests/histo.rb +12 -0
- data/tests/integration/integration1.rb +72 -0
- data/tests/integration/integration2.rb +71 -0
- data/tests/integration/integration3.rb +71 -0
- data/tests/integration/integration4.rb +71 -0
- data/tests/interp.rb +45 -0
- data/tests/linalg/HH.rb +64 -0
- data/tests/linalg/LU.rb +47 -0
- data/tests/linalg/QR.rb +77 -0
- data/tests/linalg/SV.rb +24 -0
- data/tests/linalg/TDN.rb +116 -0
- data/tests/linalg/TDS.rb +122 -0
- data/tests/linalg/bidiag.rb +73 -0
- data/tests/linalg/cholesky.rb +20 -0
- data/tests/linalg/linalg.rb +158 -0
- data/tests/matrix/matrix_nmf_test.rb +39 -0
- data/tests/matrix/matrix_test.rb +48 -0
- data/tests/min.rb +99 -0
- data/tests/monte/miser.rb +31 -0
- data/tests/monte/vegas.rb +45 -0
- data/tests/multifit/test_2dgauss.rb +112 -0
- data/tests/multifit/test_brown.rb +90 -0
- data/tests/multifit/test_enso.rb +246 -0
- data/tests/multifit/test_filip.rb +155 -0
- data/tests/multifit/test_gauss.rb +97 -0
- data/tests/multifit/test_longley.rb +110 -0
- data/tests/multifit/test_multifit.rb +52 -0
- data/tests/multimin.rb +139 -0
- data/tests/multiroot.rb +131 -0
- data/tests/multiset.rb +52 -0
- data/tests/odeiv.rb +353 -0
- data/tests/poly/poly.rb +242 -0
- data/tests/poly/special.rb +65 -0
- data/tests/qrng.rb +131 -0
- data/tests/quartic.rb +29 -0
- data/tests/randist.rb +134 -0
- data/tests/rng.rb +305 -0
- data/tests/roots.rb +76 -0
- data/tests/run-test.sh +17 -0
- data/tests/sf/gsl_test_sf.rb +249 -0
- data/tests/sf/test_airy.rb +83 -0
- data/tests/sf/test_bessel.rb +306 -0
- data/tests/sf/test_coulomb.rb +17 -0
- data/tests/sf/test_dilog.rb +25 -0
- data/tests/sf/test_gamma.rb +209 -0
- data/tests/sf/test_hyperg.rb +356 -0
- data/tests/sf/test_legendre.rb +227 -0
- data/tests/sf/test_mathieu.rb +59 -0
- data/tests/sf/test_sf.rb +839 -0
- data/tests/stats.rb +174 -0
- data/tests/sum.rb +98 -0
- data/tests/sys.rb +323 -0
- data/tests/tensor.rb +419 -0
- data/tests/vector/vector_complex_test.rb +101 -0
- data/tests/vector/vector_test.rb +141 -0
- data/tests/wavelet.rb +142 -0
- metadata +596 -15
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Turn on warnings
|
3
|
+
$-w = true
|
4
|
+
|
5
|
+
require 'irb/xmp'
|
6
|
+
require 'gsl'
|
7
|
+
|
8
|
+
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
|
9
|
+
# an XMP instance must be created explicitly this way instead of using the
|
10
|
+
# otherwise convenient xmp method.
|
11
|
+
XMP.new(IRB::Frame.top(-1)).puts <<END
|
12
|
+
# Create NMatrix m
|
13
|
+
m = NMatrix[[0, 1.2, 1],[1.5, 0, 2]]
|
14
|
+
|
15
|
+
# Convert NMatrix m to Vector gv
|
16
|
+
gv = m.to_gv
|
17
|
+
|
18
|
+
# Convert Vector gv to NArray m2
|
19
|
+
m2 = gv.to_na
|
20
|
+
m2.class
|
21
|
+
|
22
|
+
# Create GSL::Vector v
|
23
|
+
v = GSL::Vector.alloc(1..4)
|
24
|
+
|
25
|
+
# Convert v to NArray na
|
26
|
+
na = v.to_na
|
27
|
+
na.class
|
28
|
+
|
29
|
+
# Convert na back to Vector
|
30
|
+
v2 = na.to_gv
|
31
|
+
|
32
|
+
# Create new Vector copy of na
|
33
|
+
v3 = GSL::Vector.alloc(na)
|
34
|
+
|
35
|
+
# Create Vector::View of na
|
36
|
+
v4 = na.to_gv_view
|
37
|
+
|
38
|
+
# Set element of Vector::View
|
39
|
+
v4[2] = 123
|
40
|
+
|
41
|
+
# Show that na was modified
|
42
|
+
na
|
43
|
+
|
44
|
+
# Show that v3 was not modified
|
45
|
+
v3
|
46
|
+
END
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Turn on warnings
|
3
|
+
$-w = true
|
4
|
+
|
5
|
+
require 'irb/xmp'
|
6
|
+
require 'gsl'
|
7
|
+
|
8
|
+
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
|
9
|
+
# an XMP instance must be created explicitly this way instead of using the
|
10
|
+
# otherwise convenient xmp method.
|
11
|
+
XMP.new(IRB::Frame.top(-1)).puts <<END
|
12
|
+
# Create test Vector v
|
13
|
+
v = GSL::Vector.alloc(4)
|
14
|
+
|
15
|
+
# Read data into Vector v from binary file a.dat using #fread
|
16
|
+
v.fread("a.dat")
|
17
|
+
|
18
|
+
# Show v
|
19
|
+
v
|
20
|
+
|
21
|
+
# Create another test Vector
|
22
|
+
v2 = GSL::Vector.alloc(4)
|
23
|
+
|
24
|
+
# Read data into Vector v2 from text file b.dat using #fscanf
|
25
|
+
v2.fscanf("b.dat")
|
26
|
+
|
27
|
+
# Show v2
|
28
|
+
v2
|
29
|
+
END
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Turn on warnings
|
3
|
+
$-w = true
|
4
|
+
|
5
|
+
require 'irb/xmp'
|
6
|
+
require 'gsl'
|
7
|
+
|
8
|
+
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
|
9
|
+
# an XMP instance must be created explicitly this way instead of using the
|
10
|
+
# otherwise convenient xmp method.
|
11
|
+
XMP.new(IRB::Frame.top(-1)).puts <<END
|
12
|
+
# Create test Vector
|
13
|
+
v = GSL::Vector.alloc(1, 2, 3, 4, 5)
|
14
|
+
|
15
|
+
# Show third element
|
16
|
+
v[3]
|
17
|
+
|
18
|
+
# Set all elements to 9
|
19
|
+
v.set_all(9)
|
20
|
+
|
21
|
+
# Set all elements to 0
|
22
|
+
v.set_zero
|
23
|
+
|
24
|
+
# Set all elements to 3
|
25
|
+
v[] = 3
|
26
|
+
|
27
|
+
# Show v
|
28
|
+
v
|
29
|
+
|
30
|
+
# Set all elements to 0, except element 3 which is set to 1
|
31
|
+
v.set_basis(3)
|
32
|
+
|
33
|
+
# Set element 2 to 5.0
|
34
|
+
v.set(2, 5)
|
35
|
+
END
|
@@ -0,0 +1,121 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Turn on warnings
|
3
|
+
$-w = true
|
4
|
+
|
5
|
+
require 'irb/xmp'
|
6
|
+
require 'gsl'
|
7
|
+
|
8
|
+
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
|
9
|
+
# an XMP instance must be created explicitly this way instead of using the
|
10
|
+
# otherwise convenient xmp method.
|
11
|
+
XMP.new(IRB::Frame.top(-1)).puts <<END
|
12
|
+
# These examples show some of the ways that Vector#set or its alias Vector#[]=
|
13
|
+
# can be invoked. For a single argument, this is equivalent to Vector#set_all.
|
14
|
+
# For two arguments with the first a Fixnum i, this sets the i'th element (or
|
15
|
+
# the (size-i)'th element to the value of the second argument. All other forms
|
16
|
+
# treat all but the last argument as with Vector#subvector and set the
|
17
|
+
# specified elements based on the last argument, which can be a Vector (or
|
18
|
+
# Vector::View), an Array, a Range, or a Numeric. Vector, Array, and Range
|
19
|
+
# rvalues must have the same number of elements as the specified subvector.
|
20
|
+
# For a Numeric rvalue, all elements of the subvector are set to that value.
|
21
|
+
#
|
22
|
+
# Note the different return values of Vector#set and Vector#[]=. Vector#set
|
23
|
+
# return self, but Vector[]= return the value to the right of the = sign. This
|
24
|
+
# must be standard Ruby behavior since the underlying code returns the same
|
25
|
+
# value to Ruby regardless of whether it is invoked as #set or #[]=.
|
26
|
+
#
|
27
|
+
# Also be careful is setting part of a Vector from another part of the same
|
28
|
+
# vector. The GSL method that performs this operation uses memcpy, which does
|
29
|
+
# not handle overlapping memory regions in a well defined way. See the last
|
30
|
+
# two examples.
|
31
|
+
#
|
32
|
+
# See examples/vector/view_all.rb for additional examples of how to specify
|
33
|
+
# subvectors.
|
34
|
+
|
35
|
+
# Create test vector v
|
36
|
+
v = GSL::Vector.indgen(9)
|
37
|
+
|
38
|
+
# Vector#set and Vector#[]= with one arg sets all elements
|
39
|
+
v.set(1.2)
|
40
|
+
v[] = 3.4
|
41
|
+
v
|
42
|
+
|
43
|
+
# Vector#[i]= Numeric sets the i'th element if i is
|
44
|
+
# positive or the (size+i)'th element if i is negative.
|
45
|
+
v[3] = 5.6
|
46
|
+
v[-8] = 7.8
|
47
|
+
v
|
48
|
+
|
49
|
+
# Specifying subvector using Range with various rvalue types
|
50
|
+
v[1..4] = GSL::Vector[2, 3, 5, 7] # rvalue is Vector
|
51
|
+
v
|
52
|
+
|
53
|
+
v[1..4] = [11, 13, 17, 19] # rvalue is Array
|
54
|
+
v
|
55
|
+
|
56
|
+
v[1..4] = 24..27 # rvalue is Range
|
57
|
+
v
|
58
|
+
|
59
|
+
v[1..4] = 1.0 # rvalue is Numeric
|
60
|
+
v
|
61
|
+
|
62
|
+
# Specifying subvector using Range and stride with various rvalue types
|
63
|
+
v[0..4, 2] = GSL::Vector[2, 3, 5] # rvalue is Vector
|
64
|
+
v
|
65
|
+
|
66
|
+
v[0..4, 2] = [7, 11, 13] # rvalue is Array
|
67
|
+
v
|
68
|
+
|
69
|
+
v[0..4, 2] = 8..10 # rvalue is Range
|
70
|
+
v
|
71
|
+
|
72
|
+
v[0..4, 2] = 1.0 # rvalue is Numeric
|
73
|
+
v
|
74
|
+
|
75
|
+
# Specifying subvector using two Fixnums (offset, length) with various rvalue
|
76
|
+
# types
|
77
|
+
v[2, 4] = GSL::Vector[2, 3, 5, 7] # rvalue is Vector
|
78
|
+
v
|
79
|
+
|
80
|
+
v[2, 4] = [11, 13, 17, 19] # rvalue is Array
|
81
|
+
v
|
82
|
+
|
83
|
+
v[2, 4] = 24..27 # rvalue is Range
|
84
|
+
v
|
85
|
+
|
86
|
+
v[2, 4] = 1.0 # rvalue is Numeric
|
87
|
+
v
|
88
|
+
|
89
|
+
# Specifying subvector using three Fixnum arguments (offset, stride, length)
|
90
|
+
# with various rvalue types
|
91
|
+
v[1, 2, 3] = GSL::Vector[2, 3, 5] # rvalue is Vector
|
92
|
+
v
|
93
|
+
|
94
|
+
v[1, 2, 3] = [7, 11, 13] # rvalue is Array
|
95
|
+
v
|
96
|
+
|
97
|
+
v[1, 2, 3] = 8..10 # rvalue is Range
|
98
|
+
v
|
99
|
+
|
100
|
+
v[1, 2, 3] = 1.0 # rvalue is Numeric
|
101
|
+
v
|
102
|
+
|
103
|
+
# Copying part of a Vector to another part of the same Vector can potentially
|
104
|
+
# be problematic if the regions overlap.
|
105
|
+
v.indgen!
|
106
|
+
v[0, 3] = v[2, 3]
|
107
|
+
v
|
108
|
+
|
109
|
+
v.indgen!
|
110
|
+
v[2, 3] = v[0, 3]
|
111
|
+
v
|
112
|
+
|
113
|
+
# But it's OK if the regions do not overlap
|
114
|
+
v.indgen!
|
115
|
+
v[0, 3] = v[3, 3]
|
116
|
+
v
|
117
|
+
|
118
|
+
v.indgen!
|
119
|
+
v[3, 3] = v[0, 3]
|
120
|
+
v
|
121
|
+
END
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Turn on warnings
|
3
|
+
$-w = true
|
4
|
+
|
5
|
+
require 'irb/xmp'
|
6
|
+
require 'gsl'
|
7
|
+
|
8
|
+
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
|
9
|
+
# an XMP instance must be created explicitly this way instead of using the
|
10
|
+
# otherwise convenient xmp method.
|
11
|
+
XMP.new(IRB::Frame.top(-1)).puts <<END
|
12
|
+
# Create one Vector and two Vector::Ints
|
13
|
+
x = GSL::Vector[1, 2, 3]
|
14
|
+
y = GSL::Vector::Int[1, 0, 5]
|
15
|
+
a = GSL::Vector::Int[0, 0, 0]
|
16
|
+
|
17
|
+
# Call #any? on them
|
18
|
+
x.any?
|
19
|
+
y.any?
|
20
|
+
a.any?
|
21
|
+
|
22
|
+
# Call #all? on them
|
23
|
+
x.all?
|
24
|
+
y.all?
|
25
|
+
a.all?
|
26
|
+
|
27
|
+
# Call #none? on them
|
28
|
+
x.none?
|
29
|
+
y.none?
|
30
|
+
a.none?
|
31
|
+
|
32
|
+
# Call x.any? with blocks
|
33
|
+
x.any? { |val| val > 5 }
|
34
|
+
x.any? { |val| val > 2 }
|
35
|
+
|
36
|
+
# Call x.all? with blocks
|
37
|
+
x.all? { |val| val >= 1 }
|
38
|
+
x.all? { |val| val >= 2 }
|
39
|
+
|
40
|
+
# Call x.none? with blocks
|
41
|
+
x.none? { |val| val == 1 }
|
42
|
+
x.none? { |val| val == 5 }
|
43
|
+
END
|
@@ -0,0 +1,58 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Turn on warnings
|
3
|
+
$-w = true
|
4
|
+
|
5
|
+
# This script is written by Cameron McBride.
|
6
|
+
# Thank you Cameron!
|
7
|
+
|
8
|
+
#gem 'gsl', '=1.10.3'
|
9
|
+
require 'irb/xmp'
|
10
|
+
require 'gsl'
|
11
|
+
puts "Using rb-gsl #{GSL::RB_GSL_VERSION}"
|
12
|
+
|
13
|
+
# Seed random number generator for repeatable results
|
14
|
+
srand(?r-?b+?g-?s-?l)
|
15
|
+
|
16
|
+
# The creation of the test Vector below can be replaced with any of these lines
|
17
|
+
# to show the behavior with GSL::Block, GSL::Vector::Int, and
|
18
|
+
# GSL::Vector::Int::Block. Note that the block objects should NOT be created
|
19
|
+
# using "v = GSL::Vector[0..9].block" because the Vector object will be subject
|
20
|
+
# to garbage collection which will free the memory that the Block object points
|
21
|
+
# to. See the BUGS file for more information.
|
22
|
+
#
|
23
|
+
# vv = GSL::Vector[0..9]; v = vv.block
|
24
|
+
# v = GSL::Vector::Int[0..9]
|
25
|
+
# vv = GSL::Vector::Int[0..9]; v = vv.block
|
26
|
+
|
27
|
+
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
|
28
|
+
# an XMP instance must be created explicitly this way instead of using the
|
29
|
+
# otherwise convenient xmp method.
|
30
|
+
XMP.new(IRB::Frame.top(-1)).puts <<END
|
31
|
+
# Create test Vector v
|
32
|
+
v = GSL::Vector[0..9]
|
33
|
+
|
34
|
+
# Create mask
|
35
|
+
mask = (v > 2)
|
36
|
+
|
37
|
+
# Show mask.where with no block
|
38
|
+
mask.where
|
39
|
+
|
40
|
+
# Show mask.where with "true" block
|
41
|
+
mask.where { true }
|
42
|
+
|
43
|
+
# Show mask.where with "false" block
|
44
|
+
# NB: Returns nil, not empty object!
|
45
|
+
mask.where { false }
|
46
|
+
|
47
|
+
# Show mask.where with no block
|
48
|
+
mask.where2
|
49
|
+
|
50
|
+
# Show mask.where with "true" block
|
51
|
+
mask.where2 { true }
|
52
|
+
|
53
|
+
# Show mask.where with "false" block
|
54
|
+
mask.where2 { false }
|
55
|
+
|
56
|
+
# Show mask.where with random block
|
57
|
+
mask.where2 { rand > 0.5 }
|
58
|
+
END
|
@@ -0,0 +1,110 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Turn on warnings
|
3
|
+
$-w = true
|
4
|
+
|
5
|
+
require 'irb/xmp'
|
6
|
+
require 'gsl'
|
7
|
+
|
8
|
+
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
|
9
|
+
# an XMP instance must be created explicitly this way instead of using the
|
10
|
+
# otherwise convenient xmp method.
|
11
|
+
XMP.new(IRB::Frame.top(-1)).puts <<END
|
12
|
+
# Create test Vector with 15 elements initialized to 0.0
|
13
|
+
v = GSL::Vector::alloc(15)
|
14
|
+
|
15
|
+
# Set elements of v from file smpv.dat
|
16
|
+
File.open("smpv.dat") do |f|
|
17
|
+
v.fscanf(f)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Show v
|
21
|
+
v
|
22
|
+
|
23
|
+
# Create another test vector with three elements
|
24
|
+
# initialized to 10.0, 1.0, and 3.0.
|
25
|
+
v2 = GSL::Vector.alloc(10, 1, 3)
|
26
|
+
END
|
27
|
+
|
28
|
+
__END__
|
29
|
+
|
30
|
+
# TODO Remove examples below that are duplicated elsewhere
|
31
|
+
# TODO Include examples below that are not duplicated elsewhere
|
32
|
+
v = GSL::Vector::alloc([9, 1, 2, 3, 12, 6, 0.1, 0.56, 5, 7, 2])
|
33
|
+
v.print
|
34
|
+
p v.size
|
35
|
+
v2 = GSL::Vector::alloc(11)
|
36
|
+
v2.set(1, 123)
|
37
|
+
p v2.to_a
|
38
|
+
|
39
|
+
v = GSL::Vector::alloc([1, 2, 3, 4, 5])
|
40
|
+
v.print
|
41
|
+
a = v.to_a
|
42
|
+
p a
|
43
|
+
a[2] = 12.0
|
44
|
+
v2 = a.to_gv
|
45
|
+
v2.print
|
46
|
+
__END__
|
47
|
+
|
48
|
+
p = v.sort_index
|
49
|
+
p p.to_a
|
50
|
+
|
51
|
+
v2 = GSL::Vector::alloc([5, 6, 7])
|
52
|
+
|
53
|
+
v3 = v2.scale!(2)
|
54
|
+
v3.print
|
55
|
+
v2.print
|
56
|
+
|
57
|
+
p v3.minmax
|
58
|
+
|
59
|
+
p v3.max_index
|
60
|
+
p v3.min_index
|
61
|
+
p v3.minmax_index
|
62
|
+
|
63
|
+
a = [1, 2, 3]
|
64
|
+
v = a.to_gv
|
65
|
+
p v.to_a
|
66
|
+
|
67
|
+
__END__
|
68
|
+
|
69
|
+
v3 = v * v2
|
70
|
+
v3.print
|
71
|
+
|
72
|
+
v.print
|
73
|
+
|
74
|
+
v.mul!(v2)
|
75
|
+
v.print
|
76
|
+
|
77
|
+
__END__
|
78
|
+
|
79
|
+
v = GSL::Vector::alloc(10)
|
80
|
+
for i in 1...10 do
|
81
|
+
v.set(i, i.to_f)
|
82
|
+
end
|
83
|
+
v.print
|
84
|
+
|
85
|
+
v.swap_elements(3, 5)
|
86
|
+
v.print
|
87
|
+
|
88
|
+
v.reverse.print
|
89
|
+
|
90
|
+
__END__
|
91
|
+
|
92
|
+
v2 = v.subvector(2, 3)
|
93
|
+
v2.print
|
94
|
+
|
95
|
+
v3 = v.subvector_with_stride(2, 2, 3)
|
96
|
+
v3.print
|
97
|
+
|
98
|
+
v3.set([2, 3, 9])
|
99
|
+
v3.print
|
100
|
+
|
101
|
+
v4 = GSL::Vector::alloc([1, 2, 3, 5])
|
102
|
+
v4.print
|
103
|
+
|
104
|
+
a = v4.to_a
|
105
|
+
p a
|
106
|
+
|
107
|
+
__END__
|
108
|
+
v.each do |x|
|
109
|
+
p x
|
110
|
+
end
|