rb-gsl 1.16.0.4 → 1.16.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +12 -0
- data/.travis.yml +24 -0
- data/AUTHORS +6 -0
- data/COPYING +341 -339
- data/ChangeLog +608 -587
- data/Gemfile +4 -0
- data/README.md +77 -0
- data/Rakefile +14 -33
- data/THANKS +1 -1
- data/examples/blas/blas.rb +1 -1
- data/examples/bspline.rb +3 -3
- data/examples/complex/functions.rb +4 -4
- data/examples/complex/mul.rb +1 -1
- data/examples/const/physconst.rb +4 -4
- data/examples/const/travel.rb +4 -4
- data/examples/eigen/nonsymmv.rb +1 -1
- data/examples/eigen/qhoscillator.rb +3 -3
- data/examples/fft/radix2.rb +1 -1
- data/examples/fft/real-halfcomplex.rb +3 -3
- data/examples/fft/real-halfcomplex2.rb +3 -3
- data/examples/fit/expfit.rb +1 -1
- data/examples/fit/multifit.rb +1 -1
- data/examples/fit/ndlinear.rb +44 -44
- data/examples/fit/nonlinearfit.rb +1 -1
- data/examples/fit/wlinear.rb +3 -3
- data/examples/function/function.rb +1 -1
- data/examples/function/min.rb +1 -1
- data/examples/function/synchrotron.rb +2 -2
- data/examples/gallery/koch.rb +1 -1
- data/examples/histogram/cauchy.rb +2 -2
- data/examples/histogram/exponential.rb +1 -1
- data/examples/histogram/histo3d.rb +1 -1
- data/examples/histogram/histogram-pdf.rb +2 -2
- data/examples/histogram/xexp.rb +1 -1
- data/examples/integration/ahmed.rb +2 -2
- data/examples/integration/cosmology.rb +7 -7
- data/examples/integration/friedmann.rb +4 -4
- data/examples/integration/qng.rb +1 -1
- data/examples/interp/demo.rb +2 -2
- data/examples/linalg/LQ_solve.rb +1 -1
- data/examples/linalg/LU.rb +1 -1
- data/examples/linalg/LU2.rb +1 -1
- data/examples/linalg/LU_narray.rb +1 -1
- data/examples/linalg/PTLQ.rb +1 -1
- data/examples/linalg/QRPT.rb +1 -1
- data/examples/linalg/chol.rb +1 -1
- data/examples/linalg/chol_narray.rb +1 -1
- data/examples/linalg/complex.rb +1 -1
- data/examples/math/elementary.rb +1 -1
- data/examples/math/functions.rb +1 -1
- data/examples/math/inf_nan.rb +1 -1
- data/examples/math/minmax.rb +1 -1
- data/examples/math/power.rb +1 -1
- data/examples/math/test.rb +1 -1
- data/examples/min.rb +1 -1
- data/examples/multimin/bundle.rb +1 -1
- data/examples/multimin/cqp.rb +17 -17
- data/examples/multiroot/fsolver3.rb +1 -1
- data/examples/odeiv/binarysystem.rb +12 -12
- data/examples/odeiv/demo.rb +3 -3
- data/examples/odeiv/frei1.rb +7 -7
- data/examples/odeiv/frei2.rb +4 -4
- data/examples/odeiv/oscillator.rb +1 -1
- data/examples/odeiv/sedov.rb +3 -3
- data/examples/odeiv/whitedwarf.rb +11 -11
- data/examples/permutation/ex1.rb +2 -2
- data/examples/permutation/permutation.rb +1 -1
- data/examples/poly/demo.rb +1 -1
- data/examples/random/diffusion.rb +1 -1
- data/examples/random/generator.rb +2 -2
- data/examples/random/randomwalk.rb +3 -3
- data/examples/random/rng.rb +1 -1
- data/examples/roots/bisection.rb +1 -1
- data/examples/roots/brent.rb +1 -1
- data/examples/roots/demo.rb +1 -1
- data/examples/roots/newton.rb +2 -2
- data/examples/roots/recombination.gp +0 -1
- data/examples/sf/hyperg.rb +1 -1
- data/examples/sf/sphbessel.rb +1 -1
- data/examples/sort/sort.rb +1 -1
- data/examples/tamu_anova.rb +4 -4
- data/examples/vector/add.rb +1 -1
- data/examples/vector/decimate.rb +1 -1
- data/examples/vector/gnuplot.rb +8 -8
- data/examples/vector/vector.rb +2 -2
- data/examples/wavelet/wavelet1.rb +1 -1
- data/ext/{gsl → gsl_native}/alf.c +9 -9
- data/ext/{gsl → gsl_native}/array.c +64 -151
- data/ext/{gsl → gsl_native}/array_complex.c +61 -63
- data/ext/{gsl → gsl_native}/blas.c +0 -0
- data/ext/{gsl → gsl_native}/blas1.c +32 -32
- data/ext/{gsl → gsl_native}/blas2.c +54 -58
- data/ext/{gsl → gsl_native}/blas3.c +54 -54
- data/ext/{gsl → gsl_native}/block.c +3 -6
- data/ext/{gsl/block_source.c → gsl_native/block_source.h} +109 -111
- data/ext/gsl_native/bspline.c +122 -0
- data/ext/{gsl → gsl_native}/bundle.c +0 -0
- data/ext/{gsl → gsl_native}/cdf.c +76 -88
- data/ext/{gsl → gsl_native}/cheb.c +74 -85
- data/ext/{gsl → gsl_native}/combination.c +9 -16
- data/ext/{gsl → gsl_native}/common.c +7 -37
- data/ext/{gsl → gsl_native}/complex.c +113 -115
- data/ext/gsl_native/const.c +331 -0
- data/ext/{gsl → gsl_native}/const_additional.c +12 -33
- data/ext/gsl_native/cqp.c +283 -0
- data/ext/{gsl → gsl_native}/deriv.c +22 -30
- data/ext/{gsl → gsl_native}/dht.c +20 -28
- data/ext/{gsl → gsl_native}/diff.c +23 -25
- data/ext/{gsl → gsl_native}/dirac.c +44 -45
- data/ext/{gsl → gsl_native}/eigen.c +1031 -1082
- data/ext/{gsl → gsl_native}/error.c +13 -13
- data/ext/{gsl → gsl_native}/extconf.rb +5 -13
- data/ext/{gsl → gsl_native}/fft.c +192 -198
- data/ext/{gsl → gsl_native}/fit.c +16 -16
- data/ext/gsl_native/fresnel.c +312 -0
- data/ext/{gsl → gsl_native}/function.c +29 -35
- data/ext/{gsl → gsl_native}/geometry.c +15 -15
- data/ext/{gsl → gsl_native}/graph.c +37 -87
- data/ext/{gsl → gsl_native}/gsl.c +10 -23
- data/ext/{gsl → gsl_native}/gsl_narray.c +15 -24
- data/ext/{gsl → gsl_native}/histogram.c +123 -150
- data/ext/{gsl → gsl_native}/histogram2d.c +71 -96
- data/ext/{gsl → gsl_native}/histogram3d.c +72 -72
- data/ext/{gsl → gsl_native}/histogram3d_source.c +195 -196
- data/ext/{gsl → gsl_native}/histogram_find.c +31 -33
- data/ext/{gsl → gsl_native}/histogram_oper.c +43 -52
- data/ext/{gsl → gsl_native}/ieee.c +7 -15
- data/ext/{gsl → gsl_native}/include/rb_gsl.h +0 -7
- data/ext/{gsl → gsl_native}/include/rb_gsl_array.h +15 -25
- data/ext/{gsl → gsl_native}/include/rb_gsl_cheb.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_common.h +44 -52
- data/ext/{gsl → gsl_native}/include/rb_gsl_complex.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_const.h +0 -5
- data/ext/{gsl → gsl_native}/include/rb_gsl_dirac.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_eigen.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_fft.h +0 -3
- data/ext/{gsl → gsl_native}/include/rb_gsl_fit.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_function.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_graph.h +2 -2
- data/ext/{gsl → gsl_native}/include/rb_gsl_histogram.h +8 -8
- data/ext/{gsl → gsl_native}/include/rb_gsl_histogram3d.h +50 -50
- data/ext/{gsl → gsl_native}/include/rb_gsl_integration.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_interp.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_linalg.h +0 -1
- data/ext/{gsl → gsl_native}/include/rb_gsl_math.h +0 -4
- data/ext/{gsl → gsl_native}/include/rb_gsl_odeiv.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_poly.h +3 -3
- data/ext/{gsl → gsl_native}/include/rb_gsl_rational.h +1 -1
- data/ext/{gsl → gsl_native}/include/rb_gsl_rng.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_root.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_sf.h +39 -43
- data/ext/{gsl → gsl_native}/include/rb_gsl_statistics.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_tensor.h +0 -0
- data/ext/{gsl → gsl_native}/include/rb_gsl_with_narray.h +0 -0
- data/ext/{gsl → gsl_native}/include/templates_off.h +0 -0
- data/ext/{gsl → gsl_native}/include/templates_on.h +1 -1
- data/ext/{gsl → gsl_native}/integration.c +160 -183
- data/ext/{gsl → gsl_native}/interp.c +23 -31
- data/ext/gsl_native/jacobi.c +733 -0
- data/ext/{gsl → gsl_native}/linalg.c +448 -576
- data/ext/{gsl → gsl_native}/linalg_complex.c +84 -98
- data/ext/{gsl → gsl_native}/math.c +45 -63
- data/ext/{gsl → gsl_native}/matrix.c +4 -6
- data/ext/{gsl → gsl_native}/matrix_complex.c +111 -114
- data/ext/{gsl → gsl_native}/matrix_double.c +74 -77
- data/ext/{gsl → gsl_native}/matrix_int.c +49 -50
- data/ext/{gsl/matrix_source.c → gsl_native/matrix_source.h} +280 -302
- data/ext/{gsl → gsl_native}/min.c +43 -74
- data/ext/{gsl → gsl_native}/monte.c +45 -59
- data/ext/{gsl → gsl_native}/multifit.c +138 -147
- data/ext/{gsl → gsl_native}/multimin.c +55 -83
- data/ext/{gsl → gsl_native}/multimin_fsdf.c +15 -15
- data/ext/{gsl → gsl_native}/multiroots.c +61 -64
- data/ext/{gsl → gsl_native}/multiset.c +3 -7
- data/ext/{gsl → gsl_native}/ndlinear.c +320 -321
- data/ext/{gsl → gsl_native}/nmf.c +11 -11
- data/ext/{gsl → gsl_native}/nmf_wrap.c +1 -1
- data/ext/{gsl → gsl_native}/ntuple.c +13 -13
- data/ext/{gsl → gsl_native}/odeiv.c +95 -106
- data/ext/gsl_native/ool.c +879 -0
- data/ext/{gsl → gsl_native}/permutation.c +36 -34
- data/ext/{gsl → gsl_native}/poly.c +2 -5
- data/ext/{gsl → gsl_native}/poly2.c +6 -6
- data/ext/{gsl/poly_source.c → gsl_native/poly_source.h} +232 -275
- data/ext/{gsl → gsl_native}/qrng.c +6 -17
- data/ext/{gsl → gsl_native}/randist.c +218 -243
- data/ext/{gsl → gsl_native}/rational.c +9 -9
- data/ext/{gsl → gsl_native}/rng.c +29 -45
- data/ext/{gsl → gsl_native}/root.c +43 -43
- data/ext/{gsl → gsl_native}/sf.c +163 -197
- data/ext/{gsl → gsl_native}/sf_airy.c +0 -0
- data/ext/{gsl → gsl_native}/sf_bessel.c +6 -6
- data/ext/{gsl → gsl_native}/sf_clausen.c +0 -0
- data/ext/{gsl → gsl_native}/sf_coulomb.c +39 -39
- data/ext/{gsl → gsl_native}/sf_coupling.c +29 -29
- data/ext/{gsl → gsl_native}/sf_dawson.c +0 -0
- data/ext/{gsl → gsl_native}/sf_debye.c +0 -9
- data/ext/{gsl → gsl_native}/sf_dilog.c +0 -0
- data/ext/{gsl → gsl_native}/sf_elementary.c +2 -2
- data/ext/{gsl → gsl_native}/sf_ellint.c +42 -42
- data/ext/{gsl → gsl_native}/sf_elljac.c +2 -2
- data/ext/{gsl → gsl_native}/sf_erfc.c +0 -4
- data/ext/{gsl → gsl_native}/sf_exp.c +2 -2
- data/ext/{gsl → gsl_native}/sf_expint.c +1 -11
- data/ext/{gsl → gsl_native}/sf_fermi_dirac.c +0 -0
- data/ext/{gsl → gsl_native}/sf_gamma.c +1 -5
- data/ext/{gsl → gsl_native}/sf_gegenbauer.c +0 -0
- data/ext/{gsl → gsl_native}/sf_hyperg.c +0 -0
- data/ext/{gsl → gsl_native}/sf_laguerre.c +3 -3
- data/ext/{gsl → gsl_native}/sf_lambert.c +0 -0
- data/ext/{gsl → gsl_native}/sf_legendre.c +0 -0
- data/ext/{gsl → gsl_native}/sf_log.c +3 -3
- data/ext/gsl_native/sf_mathieu.c +235 -0
- data/ext/{gsl → gsl_native}/sf_power.c +0 -0
- data/ext/{gsl → gsl_native}/sf_psi.c +2 -11
- data/ext/{gsl → gsl_native}/sf_synchrotron.c +0 -0
- data/ext/{gsl → gsl_native}/sf_transport.c +0 -0
- data/ext/{gsl → gsl_native}/sf_trigonometric.c +3 -3
- data/ext/{gsl → gsl_native}/sf_zeta.c +0 -4
- data/ext/{gsl → gsl_native}/signal.c +60 -64
- data/ext/{gsl → gsl_native}/siman.c +36 -40
- data/ext/{gsl → gsl_native}/sort.c +3 -4
- data/ext/{gsl → gsl_native}/spline.c +25 -43
- data/ext/{gsl → gsl_native}/stats.c +102 -115
- data/ext/{gsl → gsl_native}/sum.c +32 -32
- data/ext/{gsl → gsl_native}/tamu_anova.c +0 -0
- data/ext/{gsl → gsl_native}/tensor.c +2 -4
- data/ext/{gsl/tensor_source.c → gsl_native/tensor_source.h} +144 -144
- data/ext/{gsl → gsl_native}/vector.c +2 -4
- data/ext/{gsl → gsl_native}/vector_complex.c +165 -171
- data/ext/{gsl → gsl_native}/vector_double.c +167 -174
- data/ext/{gsl → gsl_native}/vector_int.c +23 -25
- data/ext/{gsl/vector_source.c → gsl_native/vector_source.h} +400 -414
- data/ext/{gsl → gsl_native}/wavelet.c +215 -236
- data/lib/gsl.rb +1 -7
- data/lib/gsl/gnuplot.rb +2 -2
- data/lib/gsl/version.rb +1 -3
- data/rb-gsl.gemspec +29 -0
- data/rdoc/blas.rdoc +3 -3
- data/rdoc/bspline.rdoc +7 -7
- data/rdoc/cheb.rdoc +8 -8
- data/rdoc/cholesky_complex.rdoc +1 -1
- data/rdoc/combi.rdoc +9 -9
- data/rdoc/complex.rdoc +11 -11
- data/rdoc/const.rdoc +20 -20
- data/rdoc/dht.rdoc +6 -6
- data/rdoc/diff.rdoc +6 -6
- data/rdoc/ehandling.rdoc +3 -3
- data/rdoc/eigen.rdoc +11 -11
- data/rdoc/fft.rdoc +26 -26
- data/rdoc/fit.rdoc +18 -18
- data/rdoc/graph.rdoc +2 -2
- data/rdoc/hist.rdoc +16 -16
- data/rdoc/hist2d.rdoc +4 -4
- data/rdoc/hist3d.rdoc +3 -3
- data/rdoc/integration.rdoc +16 -16
- data/rdoc/interp.rdoc +11 -11
- data/rdoc/intro.rdoc +3 -3
- data/rdoc/linalg.rdoc +20 -20
- data/rdoc/linalg_complex.rdoc +1 -1
- data/rdoc/math.rdoc +13 -13
- data/rdoc/matrix.rdoc +22 -22
- data/rdoc/min.rdoc +9 -9
- data/rdoc/monte.rdoc +3 -3
- data/rdoc/multimin.rdoc +12 -12
- data/rdoc/multiroot.rdoc +12 -12
- data/rdoc/narray.rdoc +9 -9
- data/rdoc/ndlinear.rdoc +4 -4
- data/rdoc/nonlinearfit.rdoc +17 -17
- data/rdoc/ntuple.rdoc +5 -5
- data/rdoc/odeiv.rdoc +12 -12
- data/rdoc/perm.rdoc +11 -11
- data/rdoc/poly.rdoc +17 -17
- data/rdoc/qrng.rdoc +9 -9
- data/rdoc/randist.rdoc +10 -10
- data/rdoc/ref.rdoc +49 -49
- data/rdoc/rng.rdoc +9 -9
- data/rdoc/roots.rdoc +12 -12
- data/rdoc/sf.rdoc +35 -35
- data/rdoc/siman.rdoc +3 -3
- data/rdoc/sort.rdoc +6 -6
- data/rdoc/start.rdoc +2 -2
- data/rdoc/stats.rdoc +13 -13
- data/rdoc/sum.rdoc +4 -4
- data/rdoc/tensor.rdoc +3 -3
- data/rdoc/tut.rdoc +1 -1
- data/rdoc/use.rdoc +3 -3
- data/rdoc/vector.rdoc +28 -28
- data/rdoc/vector_complex.rdoc +6 -6
- data/rdoc/wavelet.rdoc +8 -8
- data/test/gsl/blas_test.rb +1 -1
- data/test/gsl/index_test.rb +61 -0
- data/test/gsl/matrix_test.rb +21 -0
- data/uncrustify.cfg +1693 -0
- metadata +212 -243
- data/README +0 -28
- data/ext/gsl/bspline.c +0 -130
- data/ext/gsl/const.c +0 -672
- data/ext/gsl/cqp.c +0 -283
- data/ext/gsl/fcmp.c +0 -64
- data/ext/gsl/fresnel.c +0 -312
- data/ext/gsl/jacobi.c +0 -739
- data/ext/gsl/ool.c +0 -879
- data/ext/gsl/oper_complex_source.c +0 -251
- data/ext/gsl/sf_mathieu.c +0 -238
- data/rdoc/index.rdoc +0 -50
data/examples/fit/wlinear.rb
CHANGED
@@ -10,7 +10,7 @@ c0, c1, cov00, cov01, cov11, chisq = GSL::Fit::wlinear(x, w, y)
|
|
10
10
|
|
11
11
|
printf("# best fit: Y = %g + %g X\n", c0, c1);
|
12
12
|
printf("# covariance matrix:\n");
|
13
|
-
printf("# [ %g, %g\n# %g, %g]\n",
|
13
|
+
printf("# [ %g, %g\n# %g, %g]\n",
|
14
14
|
cov00, cov01, cov01, cov11);
|
15
15
|
printf("# chisq = %g\n", chisq);
|
16
16
|
|
@@ -26,9 +26,9 @@ begin
|
|
26
26
|
flo = File.open("lo.dat", "w")
|
27
27
|
for i in -30...130 do
|
28
28
|
xf = x[0] + (i/100.0) * (x[n-1] - x[0])
|
29
|
-
|
29
|
+
|
30
30
|
yf, yf_err = GSL::Fit::linear_est(xf, c0, c1, cov00, cov01, cov11)
|
31
|
-
|
31
|
+
|
32
32
|
ffit.printf("%g %g\n", xf, yf)
|
33
33
|
fhi.printf("%g %g\n", xf, yf + yf_err)
|
34
34
|
flo.printf("%g %g\n", xf, yf - yf_err)
|
data/examples/function/min.rb
CHANGED
@@ -14,7 +14,7 @@ gmf.set(humps, m, a, b)
|
|
14
14
|
printf("Using %s method\n", gmf.name)
|
15
15
|
printf("%5s [%9s, %9s] %9s %10s %9s\n", "iter", "lower", "upper", "min",
|
16
16
|
"err", "err(est)")
|
17
|
-
printf("%5d [%.7f, %.7f] %.7f %+.7f %.7f\n",
|
17
|
+
printf("%5d [%.7f, %.7f] %.7f %+.7f %.7f\n",
|
18
18
|
iter, a, b, m, m - m_expected, b - a)
|
19
19
|
begin
|
20
20
|
iter += 1
|
@@ -5,8 +5,8 @@ require("gsl")
|
|
5
5
|
# Create Function object from the module function
|
6
6
|
F = GSL::Function.alloc { |x| GSL::Sf::synchrotron_1(x) }
|
7
7
|
# Derivative of the function
|
8
|
-
DF = GSL::Function.alloc { |x|
|
9
|
-
result, abserr, status = F.deriv_central(x, 1e-6)
|
8
|
+
DF = GSL::Function.alloc { |x|
|
9
|
+
result, abserr, status = F.deriv_central(x, 1e-6)
|
10
10
|
result
|
11
11
|
}
|
12
12
|
# Find zero-point of the derivative in interval (0.01, 5)
|
data/examples/gallery/koch.rb
CHANGED
@@ -15,7 +15,7 @@ def koch(x, y, theta, size, order, file)
|
|
15
15
|
x, y = koch(x, y, theta, size/3, order-1, file)
|
16
16
|
theta += Math::PI/3
|
17
17
|
x, y = koch(x, y, theta, size/3, order-1, file)
|
18
|
-
theta -= 2.0*Math::PI/3
|
18
|
+
theta -= 2.0*Math::PI/3
|
19
19
|
x, y = koch(x, y, theta, size/3, order-1, file)
|
20
20
|
theta += Math::PI/3
|
21
21
|
x, y = koch(x, y, theta, size/3, order-1, file)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# Usage from command line:
|
3
|
-
# % gsl-randist 0 10000 cauchy 30 | ./hist1d.rb -100 100 200
|
3
|
+
# % gsl-randist 0 10000 cauchy 30 | ./hist1d.rb -100 100 200
|
4
4
|
|
5
5
|
require("gsl")
|
6
6
|
|
@@ -24,4 +24,4 @@ end
|
|
24
24
|
h.graph("-C -g 3 -L 'gsl-randist 0 10000 cauchy 30'")
|
25
25
|
|
26
26
|
|
27
|
-
|
27
|
+
|
data/examples/histogram/xexp.rb
CHANGED
@@ -6,7 +6,7 @@ require("gsl")
|
|
6
6
|
include GSL
|
7
7
|
include Math
|
8
8
|
|
9
|
-
f = Function.alloc { |x|
|
9
|
+
f = Function.alloc { |x|
|
10
10
|
sqrtx22 = sqrt(x*x + 2)
|
11
11
|
atan(sqrtx22)/(sqrtx22*(x*x + 1))
|
12
12
|
}
|
@@ -18,4 +18,4 @@ puts("Expect: 5pi^2/96 = #{5.0*M_PI*M_PI/96}")
|
|
18
18
|
puts("QNG result: #{val}")
|
19
19
|
|
20
20
|
|
21
|
-
|
21
|
+
|
@@ -18,18 +18,18 @@ module Cosmology
|
|
18
18
|
1.0/sqrt(k*z12 + lambda + matter*z12*zplus1 + radiation*z12*z12)
|
19
19
|
}
|
20
20
|
WSpace = GSL::Integration::Workspace.alloc(1000)
|
21
|
-
|
21
|
+
|
22
22
|
class Universe
|
23
23
|
H2H0 = 3.24e-18
|
24
24
|
G = GRAVITATIONAL_CONSTANT
|
25
25
|
RAD_DENSITY = 8.0*pow_5(PI)*pow_4(BOLTZMANN)/15.0/pow_3(PLANCKS_CONSTANT_H*SPEED_OF_LIGHT)
|
26
26
|
# p SPEED_OF_LIGHT/(0.71*100*1e5*1e3)*13
|
27
|
-
|
27
|
+
|
28
28
|
def initialize(matter = 0.3, lambda = 0.7, cmbT = 2.7, h = 0.7)
|
29
29
|
# Hubble parameter at present
|
30
30
|
@h = h
|
31
31
|
@H0 = H2H0*h
|
32
|
-
|
32
|
+
|
33
33
|
# Density parameters
|
34
34
|
@matter = matter
|
35
35
|
@lambda = lambda
|
@@ -39,12 +39,12 @@ module Cosmology
|
|
39
39
|
@k = 1.0 - @Omega
|
40
40
|
@q = @matter/2.0 + @radiation - @lambda # Decceleration parameter
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
def comoving_distance(z)
|
44
44
|
InvHz.set_params(self)
|
45
45
|
InvHz.integration_qags([0.0, z], WSpace)[0]
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
# r: comoving distance
|
49
49
|
def conformal_factor(r)
|
50
50
|
tmp = sqrt(@k)
|
@@ -56,13 +56,13 @@ module Cosmology
|
|
56
56
|
r
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
def luminosity_distance(z)
|
61
61
|
r = self.comoving_distance(z)
|
62
62
|
s = self.conformal_factor(r)
|
63
63
|
[r, (1.0 + z)*s] # comoving distance, luminosity distance
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
attr_reader :h
|
67
67
|
attr_reader :H0
|
68
68
|
attr_reader :matter
|
@@ -18,10 +18,10 @@ begin
|
|
18
18
|
z = 0.01
|
19
19
|
while z <= 3
|
20
20
|
# comoving distance, luminosity distance
|
21
|
-
chi10, ldist10 = u10.luminosity_distance(z)
|
22
|
-
chi37, ldist37 = u37.luminosity_distance(z)
|
23
|
-
chi01, ldist01 = u01.luminosity_distance(z)
|
24
|
-
file.printf("%e %e %e %e %e %e %e\n",
|
21
|
+
chi10, ldist10 = u10.luminosity_distance(z)
|
22
|
+
chi37, ldist37 = u37.luminosity_distance(z)
|
23
|
+
chi01, ldist01 = u01.luminosity_distance(z)
|
24
|
+
file.printf("%e %e %e %e %e %e %e\n",
|
25
25
|
z, chi10, ldist10, chi37, ldist37, chi01, ldist01)
|
26
26
|
z += 0.1
|
27
27
|
end
|
data/examples/integration/qng.rb
CHANGED
data/examples/interp/demo.rb
CHANGED
@@ -27,9 +27,9 @@ def spline_compare(type, xa, ya, filename)
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
types = ["linear", "polynomial", "cspline", "cspline_periodic",
|
30
|
+
types = ["linear", "polynomial", "cspline", "cspline_periodic",
|
31
31
|
"akima", "akima_periodic"]
|
32
|
-
|
32
|
+
|
33
33
|
types.each do |t|
|
34
34
|
filename = t + ".dat"
|
35
35
|
spline_compare(t, xa, ya, filename)
|
data/examples/linalg/LQ_solve.rb
CHANGED
data/examples/linalg/LU.rb
CHANGED
data/examples/linalg/LU2.rb
CHANGED
@@ -4,7 +4,7 @@ include GSL
|
|
4
4
|
include Linalg
|
5
5
|
|
6
6
|
m = NArray[[0.18, 0.60, 0.57, 0.96], [0.41, 0.24, 0.99, 0.58],
|
7
|
-
|
7
|
+
[0.14, 0.30, 0.97, 0.66], [0.51, 0.13, 0.19, 0.85]]
|
8
8
|
b = NArray[1.0, 2, 3, 4]
|
9
9
|
|
10
10
|
lu, perm, signum = LU.decomp(m)
|
data/examples/linalg/PTLQ.rb
CHANGED
data/examples/linalg/QRPT.rb
CHANGED
data/examples/linalg/chol.rb
CHANGED
@@ -14,7 +14,7 @@ p Cholesky.solve(c, b) # Expected [-0.125, 0.75]
|
|
14
14
|
begin
|
15
15
|
m = Matrix::alloc([0.18, 0.60, 0.57, 0.96], [0.41, 0.24, 0.99, 0.58],
|
16
16
|
[0.14, 0.30, 0.97, 0.66], [0.51, 0.13, 0.19, 0.85])
|
17
|
-
|
17
|
+
|
18
18
|
c = Cholesky.decomp(m)
|
19
19
|
b = [1, 2, 3, 4].to_gv
|
20
20
|
p Cholesky.solve(c, b)
|
data/examples/linalg/complex.rb
CHANGED
data/examples/math/elementary.rb
CHANGED
data/examples/math/functions.rb
CHANGED
data/examples/math/inf_nan.rb
CHANGED
data/examples/math/minmax.rb
CHANGED
data/examples/math/power.rb
CHANGED
data/examples/math/test.rb
CHANGED
data/examples/min.rb
CHANGED
@@ -10,7 +10,7 @@ gmf.set(fn1, m, a, b)
|
|
10
10
|
printf("Using %s method\n", gmf.name)
|
11
11
|
printf("%5s [%9s, %9s] %9s %10s %9s\n", "iter", "lower", "upper", "min",
|
12
12
|
"err", "err(est)")
|
13
|
-
printf("%5d [%.7f, %.7f] %.7f %+.7f %.7f\n",
|
13
|
+
printf("%5d [%.7f, %.7f] %.7f %+.7f %.7f\n",
|
14
14
|
iter, a, b, m, m - m_expected, b - a)
|
15
15
|
begin
|
16
16
|
iter += 1
|
data/examples/multimin/bundle.rb
CHANGED
@@ -53,7 +53,7 @@ begin
|
|
53
53
|
iter += 1
|
54
54
|
status = s.iterate
|
55
55
|
status = s.test_convergence(1e-5)
|
56
|
-
printf("%4d %14.7f %13.8e %13.8e\n", iter, s.f, subgradient.dnrm2, s.eps)
|
56
|
+
printf("%4d %14.7f %13.8e %13.8e\n", iter, s.f, subgradient.dnrm2, s.eps)
|
57
57
|
if status == GSL::SUCCESS
|
58
58
|
printf("\nMinimum is found at\n")
|
59
59
|
x = s.x
|
data/examples/multimin/cqp.rb
CHANGED
@@ -11,9 +11,9 @@ module GSL::CQP
|
|
11
11
|
cqp_data.b = GSL::Vector.alloc(1); cqp_data.b[0] = 1.5
|
12
12
|
cqp_data.C = GSL::Matrix[[1, 0, 0, 1], 2, 2]
|
13
13
|
cqp_data.d = GSL::Vector.calloc(2)
|
14
|
-
|
14
|
+
|
15
15
|
Test_Problem.new("Goulds's problem", 2, 1, 2, cqp_data, 0.0)
|
16
|
-
end
|
16
|
+
end
|
17
17
|
def Test_Problem.betts()
|
18
18
|
cqp_data = GSL::CQP::Data.alloc()
|
19
19
|
cqp_data.Q = GSL::Matrix[[0.02, 0, 0, 2], 2, 2]
|
@@ -22,10 +22,10 @@ module GSL::CQP
|
|
22
22
|
cqp_data.b = GSL::Vector.alloc(1); cqp_data.b[0] = 20
|
23
23
|
cqp_data.C = GSL::Matrix.calloc(4, 2)
|
24
24
|
cqp_data.C[0,0] = 1.0; cqp_data.C[1,1] = 1.0
|
25
|
-
cqp_data.C[2,0] = -1.0; cqp_data.C[3,1] = -11.0
|
25
|
+
cqp_data.C[2,0] = -1.0; cqp_data.C[3,1] = -11.0
|
26
26
|
cqp_data.d = GSL::Vector[2.0, -50, -50, -50]
|
27
|
-
|
28
|
-
|
27
|
+
|
28
|
+
|
29
29
|
Test_Problem.new("Betts's problem", 2, 1, 4, cqp_data, 0.04)
|
30
30
|
end
|
31
31
|
def Test_Problem.beale()
|
@@ -36,12 +36,12 @@ module GSL::CQP
|
|
36
36
|
cqp_data.b = GSL::Vector.alloc(1); cqp_data.b[0] = -3.0
|
37
37
|
cqp_data.C = GSL::Matrix.eye(3, 3)
|
38
38
|
cqp_data.d = GSL::Vector.calloc(3)
|
39
|
-
|
39
|
+
|
40
40
|
cqp_data.Q[0,0] = 4.0; cqp_data.Q[0,1] = 2.0
|
41
|
-
cqp_data.Q[1,0] = 2.0; cqp_data.Q[1,1] = 4.0
|
42
|
-
cqp_data.Q[2,0] = 2.0; cqp_data.Q[2,2] = 2.0
|
41
|
+
cqp_data.Q[1,0] = 2.0; cqp_data.Q[1,1] = 4.0
|
42
|
+
cqp_data.Q[2,0] = 2.0; cqp_data.Q[2,2] = 2.0
|
43
43
|
Test_Problem.new("Beale's problem", 3, 1, 3, cqp_data, 9.0+1.0/9.0)
|
44
|
-
end
|
44
|
+
end
|
45
45
|
|
46
46
|
def initialize(name, n, me, mi, cqp, opt_value)
|
47
47
|
@name = name
|
@@ -51,7 +51,7 @@ module GSL::CQP
|
|
51
51
|
@cqp = cqp
|
52
52
|
@opt_value = opt_value
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
def solve()
|
56
56
|
max_iter = 1000
|
57
57
|
iter = 1
|
@@ -61,7 +61,7 @@ module GSL::CQP
|
|
61
61
|
printf("******************** %s ********************\n\n", @name)
|
62
62
|
|
63
63
|
printf("== Itn ======= f ======== ||gap|| ==== ||residual||\n\n")
|
64
|
-
|
64
|
+
|
65
65
|
begin
|
66
66
|
status = s.iterate
|
67
67
|
status = s.test_convergence(1e-10, 1e-10)
|
@@ -70,7 +70,7 @@ module GSL::CQP
|
|
70
70
|
printf("\nMinimum is found at\n");
|
71
71
|
x = s.x
|
72
72
|
lm_eq = s.lm_eq
|
73
|
-
lm_ineq = s.lm_ineq
|
73
|
+
lm_ineq = s.lm_ineq
|
74
74
|
for j in 0...x.size do
|
75
75
|
printf("%9.6f ", x[j])
|
76
76
|
end
|
@@ -79,21 +79,21 @@ module GSL::CQP
|
|
79
79
|
for j in 0...lm_eq.size do
|
80
80
|
printf("%9.6f ", lm_eq[j])
|
81
81
|
end
|
82
|
-
printf("\n\n")
|
82
|
+
printf("\n\n")
|
83
83
|
printf("\nLagrange-multipliers for Cx>=d\n");
|
84
84
|
for j in 0...lm_ineq.size do
|
85
85
|
printf("%9.6f ", lm_ineq[j])
|
86
86
|
end
|
87
|
-
printf("\n\n")
|
87
|
+
printf("\n\n")
|
88
88
|
else
|
89
89
|
iter += 1
|
90
90
|
end
|
91
|
-
end while status == GSL::CONTINUE and iter <= max_iter
|
92
|
-
GSL::SUCCESS
|
91
|
+
end while status == GSL::CONTINUE and iter <= max_iter
|
92
|
+
GSL::SUCCESS
|
93
93
|
end
|
94
94
|
|
95
95
|
attr_accessor :name, :n, :me, :mi
|
96
|
-
attr_accessor :cqp, :opt_value
|
96
|
+
attr_accessor :cqp, :opt_value
|
97
97
|
end
|
98
98
|
|
99
99
|
end
|