
http://stackoverflow.com/questions/18884212/conflicting-eigen-vector-outputs-between-matlab-and-numpy
Disimpulkan bahwa jika suatu matriks bujur sangkar, dikali dengan sebuah vektor bukan nol, diatur sedimikian rupa sehingga hasilnya sama dengan perkalian sebuah bilangan skalar dengan vektor tak nol itu sendiri, inilah yang dinamakan Nilai Eigen dan Vektor Eigen.
Referensi : https://istanamengajar.wordpress.com/2014/01/28/soal-dan-pembahasan-nilai-dan-vektor-eigen-suatu-matriks/
Berikut adalah 2 contoh soal bagaimana menentukan nilai dan vektor Eigen suatu matriks:
Penyelsaian
Menghasilkan vektor_eigen = [-2,1; 1,-1]
Nilai_eigen = [2,3]
Bila anda tertarik, silahkan untuk mengunjungi:
https://istanamengajar.wordpress.com/2014/01/28/soal-dan-pembahasan-nilai-dan-vektor-eigen-suatu-matriks/
penulis disini bukan membahas mengenai cara diatas, akan tetapi mengungkap persoalan hasil perhitungan eigen di Matlab dan Numpy (Pustaka matrix di python) koq berbeda??
Coba perhatikan berikut
Jika anda gunakan code matlab berikut
clc;clear all;close all;
A = [1,-2;1,4]
[vektor_eigen,nilai_eigen] = eig(A);
vektor_eigen
nilai_eigen = diag(nilai_eigen)
menghasilkan
Mari kita uji apakah masih berlaku?
Kita akan menggunakan nilai eigen ke 1 yaitu bernilai 2
%lakukan uji
no_uji = 1;
sisi_kiri = A*vektor_eigen(:,no_uji)
sisi_kanan = nilai_eigen(no_uji)*vektor_eigen(:,no_uji)
Ternyata menghasilkan yang sama
Kalaupun no_uji diganti dengan nilai eigen ke 2 yaitu bernilai 3, pun akan sama hasil nya Menghasilkan vektor_eigen = [-0.8944, 0.7071; 0.4472, -0.7071]
Nilai_eigen = [2,3]
Mari kita coba versi python dengan numpy sebagai pustaka nya!
import numpy as np
print '\n'*100
A = np.array([[1,-2],[1,4]])
[nilai,vektor] = np.linalg.eig(A)
index = 0
sisi_kiri = np.dot(A,vektor[:,index])
sisi_kanan = nilai[index]*vektor[:,index]
print 'sisi_kiri\n',sisi_kiri
print 'sisi_kanan\n',sisi_kanan
Menghasilkan yang sama
Itu artinya bisa solusi non trivial (kebetulan saja menggunakan data ukuran 2*2, bila saja menggunakan ukuran data yang agak besar, maka hasil di matlab dan numpy-python bisa berbeda!) tapi sebetulnya itu sama bila mengacu definisi berikut:

No comments:
Post a Comment