/usr/share/doc/ruby-gsl/examples/linalg/LQ_solve.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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #!/usr/bin/env ruby
require("gsl")
include GSL
m = GSL::Matrix::alloc([0.18, 0.60, 0.57, 0.96], [0.41, 0.24, 0.99, 0.58],
[0.14, 0.30, 0.97, 0.66], [0.51, 0.13, 0.19, 0.85])
m.transpose!
lq, tau = m.LQ_decomp
b = Vector[1, 2, 3, 4]
lq, tau = m.LQ_decomp
p Linalg::LQ.solve_T(lq, tau, b)
p Linalg::LQ.solve_T(m, tau, b)
p Linalg::LQ.solve_T(m, b)
begin
p Linalg::LQ.solve_T(lq, b) # Error
rescue
puts("Error Linalg::LQ.solve_T(lq, b)")
end
x = Vector.alloc(4)
p m.LQ_solve_T(b)
p m.LQ_solve_T(tau, b)
p lq.LQ_solve_T(tau, b)
p lq.class
p lq.solve_T(tau, b)
m.LQ_solve_T(b, x)
p x
m.LQ_solve_T(tau, b, x)
p x
lq.LQ_solve_T(tau, b, x)
p x
lq.solve_T(tau, b, x)
p x
bb = b.clone
lq.svx_T(tau, bb)
p bb
bb = b.clone
m.LQ_svx_T(bb)
p bb
bb = b.clone
Linalg::LQ.svx_T(m, bb)
p bb
bb = b.clone
Linalg::LQ.svx_T(lq, tau, bb)
p bb
p m.LQ_lssolve_T(b)
p m.LQ_lssolve_T(tau, b)
p lq.LQ_lssolve_T(tau, b)
p lq.lssolve_T(tau, b)
p Linalg::LQ.lssolve_T(m, b)
p Linalg::LQ.lssolve_T(lq, tau, b)
m3 = Matrix.alloc([5, 4, 1, 1], [4, 5, 1, 1], [1, 1, 4, 2], [1, 1, 2, 4])
m3.transpose!
lq, tau = m3.LQ_decomp
q, l = lq.unpack(tau)
q, l = Linalg::LQ.unpack(lq, tau)
lq, tau = m.LQ_decomp
q, l = Linalg::LQ.unpack(lq, tau)
p Linalg::LQ.LQsolve_T(q, l, b)
|