#!/usr/bin/env ruby require("gsl") include GSL include Linalg m = NArray[[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]] b = NArray[1.0, 2, 3, 4] lu, perm, signum = LU.decomp(m) p m p lu x = LU.solve(lu, perm, b) p x p b LU.svx(lu, perm, b) p b m2 = Matrix.alloc([1, 2, 3, 6, 5, 4, 7, 8, 1], 3, 3).to_nmatrix lu, perm, signum = LU.decomp(m2) p LU.det(lu, signum)