Sha256: f5b2958e931fd391b8a3717e8676a1c2a23ce91a968a2e6e866e6a267e5e8f29
Contents?: true
Size: 555 Bytes
Versions: 22
Compression:
Stored size: 555 Bytes
Contents
#!/usr/bin/env ruby require("gsl") m = GSL::Matrix[[1.0, 1/2.0, 1/3.0, 1/4.0], [1/2.0, 1/3.0, 1/4.0, 1/5.0], [1/3.0, 1/4.0, 1/5.0, 1/6.0], [1/4.0, 1/5.0, 1/6.0, 1/7.0]] eigval = m.eigen_symm p eigval eigval, eigvec = m.eigen_symmv p eigval == GSL::Eigen.symm(m) val, vec = GSL::Eigen.symmv(m) p vec i = 0 vec.each_col do |v| a = (m*v)/v if a != val[i] puts("error") end i += 1 end # Diagonalization b = eigvec.inv*m*eigvec b.clean!(1e-10) p b d = b.diagonal p d == eigval prod = eigval.prod p GSL.equal?(prod, m.det, 1e-10)
Version data entries
22 entries across 22 versions & 4 rubygems