summaryrefslogtreecommitdiff
path: root/spec/ruby/library/matrix/eigenvalue_decomposition/to_a_spec.rb
blob: 8be41a57206e839fd40c696fc217bec282439ebb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require_relative '../../../spec_helper'
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