summaryrefslogtreecommitdiff
path: root/spec/ruby/library/matrix/eigenvalue_decomposition/to_a_spec.rb
blob: 352ae274b48082232823d0e1849fd1ab1bbba3e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
require_relative '../../../spec_helper'

ruby_version_is ""..."3.1" do
  require 'matrix'

  describe "Matrix::EigenvalueDecomposition#to_a" do
    before :each do
      @a = Matrix[[14, 16], [-6, -6]]
      @e = Matrix::EigenvalueDecomposition.new(@a)
    end

    it "returns an array of with [V, D, V.inv]" do
      @e.to_a.should == [@e.v, @e.d, @e.v_inv]
    end

    it "returns a factorization" do
      v, d, v_inv = @e.to_a
      (v * d * v_inv).map{|e| e.round(10)}.should == @a
    end
  end
end