Rumah > Artikel > hujung hadapan web > Program JavaScript untuk menyemak matriks idempoten
Matriks idempoten ialah matriks segi empat sama dengan bilangan baris dan lajur yang sama, apabila kita mendarabkan matriks dengan dirinya sendiri hasilnya akan sama dengan matriks yang sama. Kami akan mendapatkan matriks dan kami perlu menentukan sama ada ia adalah idempoten.
Secara matematik−
Jika matriks ix M diberikan, maka M ialah matriks idempoten dan harus mengikut sifat berikut -
M*M = M
Mendarab satu matriks dengan matriks yang lain akan menghasilkan matriks yang lain, jika matriks yang diberi ialah matriks persegi N*N, matriks yang terhasil juga akan mempunyai dimensi yang sama (N*N).
Setiap indeks (i, j) bagi matriks yang terhasil bagi pendaraban dua matriks A dan B ialah hasil tambah bagi pendaraban lajur ke-j matriks A dan lajur ke-i matriks B.
Mat = [ [1, 0], [0, 1]]
Yes, the given matrix is an Idempotent matrix.
For the cell (0,0): We have to multiply [1,0] with [1,0] => 1* 1 + 0 * 0 = 1. For the cell (0,1): We have to multiply [0,1] with [1,0] => 0* 1 + 0 * 1 = 0. For the cell (1,0): We have to multiply [1,0] with [0,1] => 1* 0 + 0 * 1 = 0. For the cell (1,1): We have to multiply [0,1] with [0,1] => 0* 0 + 1 * 1 = 1. So, the final matrix we will get is: [ [1, 0], [0, 1]]
Kita telah melihat contoh dan kaedah untuk mencari pendaraban dua matriks, sekarang mari kita lihat langkah-langkah untuk melaksanakan kod untuk mengetahui sama ada matriks yang diberikan adalah idempoten atau tidak.
Pertama, kami akan mencipta fungsi yang akan mengambil satu parameter, yang akan menjadi matriks yang akan ditemui, sama ada idempoten atau tidak.
Kami akan mendapatkan panjang matriks dan menggunakannya untuk melelaran melalui setiap sel matriks melalui gelung for.
Dalam setiap indeks atau sel kita akan mendapat nilai yang ada dalam sel semasa matriks jawapan menggunakan langkah di atas.
Kami akan menggunakan gelung for untuk lelaran melalui lajur dan baris semasa dan mendapatkan jumlah darabnya.
Jika jumlah semasa adalah sama dengan nilai indeks semasa, maka kita akan beralih ke nilai seterusnya, jika tidak, ia akan kembali palsu.
Berdasarkan nilai pulangan, cetak penyata sama ada matriks semasa adalah idempoten.
// function to check if the current matrix is an Idempotent matrix or not function check(mat){ // getting the size of the given matrix. var n = mat.length; // traversing over the given matrix for(var i = 0;i < n; i++){ for(var j = 0; j<n; j++){ // for the current cell calculating the value present in the resultant matrix // variable to store the current cell value var cur = 0; for(var k = 0; k<n; k++){ cur += mat[k][j]*mat[i][k]; } // if the current value is not equal to value we got for this cell then return false if(cur != mat[i][j]){ return false; } } } // returing true as all the values matched return true; } // defining the matrix var mat = [[2, -2, -4], [-1, 3, 4 ], [1, -2, -3]] console.log("The given matrix is: ") console.log(mat); // calling the function to check if the current matrix is idempotent matrix or not if(check(mat)){ console.log("The given matrix is idempotent matrix") } else { console.log("The given matrix is not idempotent matrix") }
Kerumitan masa kod di atas ialah O(N^3), dengan N ialah bilangan baris bagi matriks yang diberikan. Untuk setiap sel, kita mesti mendarab lajur semasa dengan baris semasa untuk menghasilkan faktor, atau N, untuk jumlah sel N^N.
Kerumitan ruang kod di atas ialah O(1) kerana kami tidak menggunakan sebarang ruang tambahan untuk menyimpan matriks.
Dalam tutorial ini, kami melaksanakan program JavaScript untuk menyemak sama ada matriks yang diberikan adalah idempoten. Matriks idempoten ialah matriks segi empat sama dengan bilangan baris dan lajur yang sama, apabila kita mendarabkan matriks dengan dirinya sendiri, hasilnya akan sama dengan matriks yang sama. Kami melaksanakan kod dalam kerumitan masa O(N^3) dan bekerja dalam kerumitan ruang O(1).
Atas ialah kandungan terperinci Program JavaScript untuk menyemak matriks idempoten. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!