Sha256: fd5a10922fa8204682ba3dd93632836617418ef448e1580ece9d8754c3ace859

Contents?: true

Size: 1.72 KB

Versions: 9

Compression:

Stored size: 1.72 KB

Contents

#!/usr/bin/env ruby
require("gsl")
require("../gsl_test.rb")
include GSL::Test

def test_nonsymmv2(m, eps)
  p m
  m2 = m.clone
  eval, evec = m2.eigen_nonsymmv
  evalre = eval.real
  evecre = evec.real
  a = evecre.inv*m*evecre
  GSL::Test::test_abs(a[0,0], evalre[0], eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[1,1], evalre[1], eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[0,1], 0, eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[1,0], 0, eps, "GSL::Matrix::eigen_nonsymmv")
end

def test_nonsymmv3(m, eps)
  p m
  m2 = m.clone
  eval, evec = m2.eigen_nonsymmv
  evalre = eval.real
  evecre = evec.real
  a = evecre.inv*m*evecre
  GSL::Test::test_abs(a[0,0], evalre[0], eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[1,1], evalre[1], eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[2,2], evalre[2], eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[0,1], 0, eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[0,2], 0, eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[1,0], 0, eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[1,2], 0, eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[2,0], 0, eps, "GSL::Matrix::eigen_nonsymmv")
  GSL::Test::test_abs(a[2,1], 0, eps, "GSL::Matrix::eigen_nonsymmv")
end

m = GSL::Matrix[[1, 2], [3, 2]]
test_nonsymmv2(m, 1e-10)

m = GSL::Matrix[[4, 2, 3, -1], 2, 2]
test_nonsymmv2(m, 1e-10)

m = GSL::Matrix[[2, 2, -5], [3, 7, -15], [1, 2, -4]]
test_nonsymmv3(m, 1e-10)

m = GSL::Matrix[[4, 1, -1], [2, 5, -2], [1, 1, 2]]
test_nonsymmv3(m, 1e-10)

m = GSL::Matrix[[-3, 1, -1], [-7, 5, -1], [-6, 6, -2]]
test_nonsymmv3(m, 1e-6)

m = GSL::Matrix[[11, -8, 4], [-8, -1, -2], [4, -2, -4]]
test_nonsymmv3(m, 1e-10)

Version data entries

9 entries across 9 versions & 4 rubygems

Version Path
gsl-nmatrix-1.15.3.2 tests/eigen/nonsymmv.rb
gsl-nmatrix-1.15.3.1 tests/eigen/nonsymmv.rb
rb-gsl-1.15.3.1 tests/eigen/nonsymmv.rb
blackwinter-gsl-1.15.3.2 tests/eigen/nonsymmv.rb
gsl-nmatrix-1.15.3.0 tests/eigen/nonsymmv.rb
gsl-1.15.3 tests/eigen/nonsymmv.rb
gsl-1.14.7 tests/eigen/nonsymmv.rb
gsl-1.14.6 tests/eigen/nonsymmv.rb
gsl-1.14.5 tests/eigen/nonsymmv.rb