/usr/share/doc/ruby-gsl/examples/integration/qagi2.rb is in ruby-gsl 2.1.0.3+dfsg1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #!/usr/bin/env ruby
require 'gsl'
include GSL
include Math
f = Function.alloc{ |x|
exp(-x*x)
}
exact = sqrt(PI)
result, = f.qagi
puts("QAGI")
puts("exp(-x*x), x = -infty --- +infty")
printf("exact = %.18f\n", exact)
printf("result = %.18f\n\n", result)
p Integration.qagi(f)
w = Integration::Workspace.alloc(1000)
xmin = 0.0
puts("QAGIU")
result, = f.integration_qagiu(xmin, [0, 1e-6], w)
puts("exp(-x*x), x = 0 --- +infty")
printf("exact = %.18f\n", exact/2)
printf("result = %.18f\n", result)
p w.to_a
p Integration.qagiu(f, xmin)
puts("QAGIL")
result, = f.integration_qagil(0.0, 0.0, 1e-7, 1000, w)
puts("exp(-x*x), x = -infty --- 0")
printf("exact = %.18f\n", exact/2)
printf("result = %.18f\n\n", result)
f455 = Function.alloc { |x|
log(x)/(1.0 + 100.0*x*x)
}
exp_result = -3.616892186127022568E-01
exp_abserr = 3.016716913328831851E-06
result = f455.qagiu(0.0, [0.0, 1e-3])
p result
puts("exp_result: #{exp_result}")
puts("exp_abserr: #{exp_abserr}")
|