#!/usr/bin/env ruby require("rbgsl") w = GSL::Eigen::Symm::Workspace.alloc(4) m = GSL::Matrix[[1.0, 1.0/2.0, 1.0/3.0, 1.0/4.0], [1.0/2.0, 1.0/3.0, 1.0/4.0, 1.0/5.0], [1.0/3.0, 1.0/4.0, 1.0/5.0, 1.0/6.0], [1.0/4.0, 1.0/5.0, 1.0/6.0, 1.0/7.0]] p GSL::Eigen.symm(m, w) w = GSL::Eigen::Symm::Workspace.alloc(2) m = GSL::Matrix[[1, 2], [3, 4]] p GSL::Eigen.nonsymm(m, w)