Komputasi Numerik
AP - 04
Nilai dan Vektor Eigen
Nama : Kevin Bazli Santoso
NPM : 140310220033
Hari/Tanggal : Jumat/30 maret 2023
Waktu : 07:30 - 16:30
Asisten : Azhar Aiman Dzulfiqar
LABORATORIUM KOMPUTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2023
LEMBAR PENGESAHAN
KN 04
Nilai dan Vektor Eigen
( )
1. Tujuan Mahasiswa
Diharapkan mampu menghitung nilai dan vektor eigen dari suatu matriks
bujursangkar menggunakan metode pangkat (Power Method) dan metode pangkat
inversi (Invers Power Method).
2. Percobaan
Buatlah program dengan menggunakan bahasa Python untuk menentukan nilai dan
vektor eigen menggunakan metode pangkat serta metode pangkat inversi untuk
matriksmatriks berikut:
4 1 0
2.1. 𝐴 = 0 2 1
0 1 −1
eig = 1/eig1
print('nilai dari vektor eigen %.8f' %eig)
print('nilai dari matriks eigen \n', x)
2.1.2. Tampilan Program
• Metode Power
3 −1 0
2.2. 𝐴 = −2 4 −3
0 −1 1
2.2.1. Listing Program
• Metode Power
#metode Pangkat (Power)
A = np.array([[3,-1,0],[-2,4,-3],[0,-1,1]])
x = np.array([[1],[1],[1]])
E = 1
eig0 = 1
e = float(input('masukan nilai toleransi : '))
i = 0
eig = 1/eig1
print('nilai eigen %.8f' %eig)
print('nilai dari matriks eigen \n', x)
2.2.2. Tampilan Program
• Metode Power
• Metode Power Invers
𝟐𝟎 −𝟒 𝟖
2.3. 𝑨 = −𝟒𝟎 𝟖 −𝟐𝟎
−𝟔𝟎 𝟏𝟐 −𝟐𝟔
3. Tugas Akhir
3.1. Buatlah program dengan menggunakan bahasa Python untuk mencari
invers dari sebuah matriks 3 × 3
3.1.1. Listing Program
def gauss_jordan_inverse(matrix):
for i in range(n):
max_row = i
for j in range(i+1, n):
if abs(m[j][i]) > abs(m[max_row][i]):
max_row = j
m[i], m[max_row] = m[max_row], m[i]
identity[i], identity[max_row] =
identity[max_row], identity[i]
for j in range(i+1, n):
c = -m[j][i] / m[i][i]
for k in range(i, n):
m[j][k] += c * m[i][k]
for k in range(n):
identity[j][k] += c * identity[i][k]
for i in range(n-1, -1, -1):
for j in range(i-1, -1, -1):
c = -m[j][i] / m[i][i]
for k in range(n):
identity[j][k] += c * identity[i][k]
for i in range(n):
c = m[i][i]
for j in range(n):
identity[i][j] /= c
return identity
matrix = [[4,1,0],[0,2,1],[0,1,-1]]
inverse = gauss_jordan_inverse(matrix)
print(inverse)
3.1.2. Tampilan Program
3.2. Hitung nilai dan vektor eigen dari semua matriks yang terdapat pada
bagian Percobaan secara analitik menggunakan bantuan persamaan
karakteristik.
4 1 0
3.2.1. 𝐴 = 0 2 1
0 1 −1
1 0 0
I =0 1 0
0 0 1
4 1 0 𝜆 0 0 4-𝜆 1 0
(A - 𝜆I ) = 0 2 1 - 0 𝜆 0 = 0 2-𝜆 1
0 1 −1 0 0 𝜆 0 1 -1-𝜆
4-𝜆 1 0
| A - 𝜆I| = 0 2-𝜆 1 =0
0 1 -1-𝜆
-𝜆3 + 5𝑥 2 − 𝜆 − 12
1+√13 1-√13
𝜆1 = -4 , 𝜆2 = , 𝜆_3 =
2 2
3 −1 0
3.2.2. 𝐴 = −2 4 −3
0 −1 1
1 0 0
I =0 1 0
0 0 1
3 −1 0 𝜆 0 0 3-𝜆 -1 0
(A - 𝜆I ) = −2 4 −3 - 0 𝜆 0 = -2 4-𝜆 -3
0 −1 1 0 0 𝜆 0 -1 1-𝜆
3-𝜆 -1 0
| A - 𝜆I| = -2 4-𝜆 -3 = 0
0 -1 1-𝜆
−𝜆3 + 8𝜆2 − 14𝜆 + 1
3.3. Bagaimana cara menentukan semua nilai eigen dari matriks A yang
berukuran 3 × 3? (Sebagai catatan: metode pangkat hanya
menghitung nilai eigen terbesar sedangkan metode pangkat inversi
hanya menghitung nilai eigen terkecil. Bagaimana jika kita ingin
menghitung nilai eigen diantara nilai eigen terbesar dan terkecil?)
Buatlah program dengan menggunakan bahasa Python untuk
menghitung semua nilai eigen dari matriks A yang berukuran 3 × 3.
(untuk mengujinya bisa menggunakan Matriks dari percobaan di
atas)
3.3.1. Untuk mendapatkan semua nilai eigen pada matriks 3x3 dapat
menggunakan metode karakterisitik yaitu mencari akar-akar
persamaan karakteristik dari matriks A. Persamaan karakteristik dari
matriks A dinyatakan sebagai det(A-λI) = 0, di mana λ adalah nilai
eigen yang ingin dicari, dan I adalah matriks identitas. Secara umum,
persamaan karakteristik untuk matriks 3x3 dirumuskan menjadi:
= 𝜆3 − 𝑡𝑟(𝐴)𝜆2 + (𝑑𝑒𝑡𝐴)𝜆 − (𝑡𝑟𝑎𝑐𝑒 𝑜𝑓𝐴′ 𝑠 𝑜𝑓 matrix cofactor)
Akar dari persamaan inilah yang menjadi nilai eigen
3.3.1.1. Listing Program
#metode karakteristik
A = np.array([[4,1,0],[0,2,1],[0,1,-1]])
trace_A = np.trace(A)
det_A = np.linalg.det(A)
4. Kesimpulan
Kesimpulan yang dapat diambil dari praktikum kali ini adalah sebagai berikut
4.1. Metode Pangkat (power) dapat digunakan untuk mendapat nilai eigen
terbesar suatu matriks
4.2. Metode Invers Pangkat (invers power) dapat digunakan untuk mendapat
nilai eigen terkecil suatu matriks
4.3. Menggunakan metode karakteristik kita dapat menemukan semua nilai
eigen