Laporan Praktikum Metode Komputasi Matematika (Latihan Bab 1 dari Buku J. Leon Aljabar Linear) Program Scilab Syarif Abdullah (G551150381)∗†
Matematika Terapan Departemen Matematika FMIPA IPB email:
[email protected] 10 Desember 2015 Deskripsi: Mengambil 1 soal latihan MATLAB Bab 1 dari buku J. Leon Aljabar Linear, tuliskan dengan LaTex dan modifikasi menjadi soal untuk dikerjakan dalam Scilab. Soal yang harus dikerjakan: 2 digit terakhir NRP (modulo jumlah soal di Latihan(11))= soal no. 4. Gabungkan dengan butir 1 di atas. Jadikan soal latihan masing-masing. • Soal No. 4: Buatlah suatu matriks sebagai berikut: Definisikan B = eye(10) − triu(ones(10), 1) Mengapa kita tahu bahwa B pasti taksingular?. Definisikan C = inv(B)dan x = C(:, 10) Sekarang ubahlah B sedikit dengan menetapkan B(10, 1) = −1/256. Gunakan MATLAB untuk menghitung hasil kali Bx. dari hasil perhitungan ini apa yang dapat anda simpulkan mengenai matriks B yang baru? Apakah B masih taksingular? terangkan. Gunakan MATLAB untuk menghitung bentuk eselon baris tereduksinya. ∗ http † File
://syarif abdullah.student.ipb.ac.id/ dibuat dengan LYX Program
1
JAWAB: Karena kita akan menggunakan Program Scilab, maka kita akan memodifikasi beberapa perintah pada Program MATLAB menjadi perintah Scilab. Karena ada beberapa syntax/build in function pada Scilab tidak sama dengan MATLAB, maka tanpa mengurangi keumuman akan dikondisikan perintah pada Scilab sama dengan hasil pada MATLAB. Beberapa perintah di atas yang berbeda penulisan syntak pada MATLAB dan Scilab adalah pada penulisan perintah ones(10) menjadi ones(10, 10), perintah eye(10) menjadi eye(10, 10) dan triu(ones(10), 1) akan menjadi triu(ones(10, 10), 1). Sedangkan pada perintah yang lain seperti inv(B), C(:, 10), det(B), rank(B), rref (B) dan mengganti elemen B(10, 1) sytaxnya tetap. • Berikut adalah hasil dan analisis pengerjaan pada Scilab: –>B=eye(10,10)-triu(ones(10,10),1) // mendefinisikan matriks B dari perhitungan operasi syntax ones, triu dan eye
–>det(B) // mencari determinan matriks B
Dapat dilihat bahwa B merupakan matriks nonsingular karena B memiliki determinan tidaksama dengan 0. Lebih lanjut bahwa B mempunyai inverse dan memenuhi rank(B) = n (sama dengan banyaknya kolom). Adapu perintah lain untuk menunjukkan B nonsinular dengan perintahperintah inv(B), rank(B) sebagai berikut: –>inv(B) // menentukan invers(balikan) matriks B 2
–>rref(B) // menentukan reduced row echelon form dengan Gauss Jordan elimination
–>rank(B) // mencari rank(dimensi daerah hasil) dari matriks B
Terlihat bahwa B membentuk baris eselon tereduksi (Eliminasi GaussJordan) dimana setiap diagonal utamanya memiliki utama 1 dan tidak ada yang bernilai 0. Sehingga B memiliki f ullrank (rank penuh) = 10, artinya B memiliki Rank(dimensidaerahhasil) = n dan N ullspace(dimensikekosongan) = 0. Dalam Rumus Rank(B) + N ull(B) = n dengan n adalah banyaknya kolom. Jadi B adalah matriks nonsingular. Berikut akan didefinisikan matriks B baru dengan mengganti salah satu elemen dari matriks B lama. –>C=inv(B) // mendefinisikan matriks C dari inverse matriks B
3
–>x=C(:, 10) // mendefinisikan vektor x dari matriks C
–>B(10,1)=-1/256 // mengganti elemen ke-10,1 dari matriks B dengan -1/256
–>B*x // memeriksa singularitas dengan Bx=0
4
–>det(B) // memeriksa singularitas dengan mencari determinan matriks B yang baru
–>rank(B) // memeriksa singularitas dengan mencari rank matriks B yang baru
–>rref(B) // memeriksa singularitas dengan mencari Reduced row echelon form matriks B yang baru
5
–>inv(B) // // memeriksa singularitas dengan mencari inverse(balikan) matriks B yang baru
Setelah mengubah matriks B lama dengan menetapkan B(10, 1) = −1/256, dengan menggunakan Scilab hasil kali Bx menjadi vektor nol dengan mendefinisikan terlebih dahulu matriks C = inv(B) dari matriks B lama dan x = C(:, 10). Dari beberapa perhitungan di atas, dapat dilihat bahwa det(B) = 0, artinya B singular.
Dapatpula dilihat dari perhitungan
rank(B) = 9, artinya memiliki rank tidak penuh. B memiliki dimensi daerah hasil Rank(B) < n dan dimensi kekosongan N ullspace(B) = 1. Dalam Rumus Rank(B) + N ull(B) = n dengan n adalah banyaknya kolom. Jadi B adalah matriks singular. Selanjutnya dengan Program Scilab dengan menghitung bentuk eselon baris tereduksinya didapatkan 1 baris bernilai 0, sehingga dapat pula disimpulan B Singular. Sehingga apabila kita mengunakan perintah inv(B), maka akan menghasilkan error dan menghasilkan keterangan B adalah Singular. Sekian Terimakasih.
6