Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Programm zur Überprüfung der idempotenten Matrix

JavaScript-Programm zur Überprüfung der idempotenten Matrix

PHPz
PHPznach vorne
2023-09-01 20:09:161394Durchsuche

JavaScript 程序检查幂等矩阵

Eine idempotente Matrix ist eine quadratische Matrix mit der gleichen Anzahl von Zeilen und Spalten. Wenn wir die Matrix mit sich selbst multiplizieren, ist das Ergebnis gleich der gleichen Matrix. Wir erhalten eine Matrix und müssen feststellen, ob sie idempotent ist.

Mathematisch

Wenn eine Matrix ix M gegeben ist, dann ist M eine idempotente Matrix und sollte den folgenden Eigenschaften folgen -

M*M = M

Matrixmultiplikation

Die Multiplikation einer Matrix mit einer anderen Matrix erzeugt eine andere Matrix. Wenn die gegebene Matrix eine quadratische Matrix von N*N ist, hat die resultierende Matrix auch die gleichen Abmessungen (N*N).

Jeder Index (i, j) der resultierenden Matrix der Multiplikation zweier Matrizen A und B ist die Summe der Multiplikationen der j-ten Spalte von Matrix A und der i-ten Spalte von Matrix B.

Eintreten

Mat = [ [1, 0],
	    [0, 1]]

Ausgabe

Yes, the given matrix is an Idempotent matrix.

Anleitung

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]]

Methode

Wir haben die Beispiele und Methoden zum Ermitteln der Multiplikation zweier Matrizen gesehen. Schauen wir uns nun die Schritte zum Implementieren des Codes an, um herauszufinden, ob die gegebene Matrix idempotent ist oder nicht.

  • Zunächst erstellen wir eine Funktion, die einen einzelnen Parameter annimmt, der die zu findende Matrix darstellt, unabhängig davon, ob sie idempotent ist oder nicht.

  • Wir ermitteln die Länge der Matrix und verwenden sie, um über eine for-Schleife jede Zelle der Matrix zu durchlaufen.

  • In jedem Index oder jeder Zelle erhalten wir mithilfe der oben genannten Schritte den Wert, der in der aktuellen Zelle der Antwortmatrix vorhanden ist.

  • Wir werden eine for-Schleife verwenden, um die aktuelle Spalte und Zeile zu durchlaufen und ihre multiplikative Summe zu erhalten.

  • Wenn die aktuelle Summe dem aktuellen Indexwert entspricht, gehen wir zum nächsten Wert über, andernfalls wird false zurückgegeben.

  • Drucken Sie basierend auf dem Rückgabewert die Aussage aus, ob die aktuelle Matrix idempotent ist.

Beispiel

// 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")
}

Zeitliche und räumliche Komplexität

Die zeitliche Komplexität des obigen Codes beträgt O(N^3), wobei N die Anzahl der Zeilen der gegebenen Matrix ist. Für jede Zelle müssen wir die aktuelle Spalte mit der aktuellen Zeile multiplizieren, um einen Faktor oder N für insgesamt N^N Zellen zu erhalten.

Die Speicherplatzkomplexität des obigen Codes beträgt O(1), da wir keinen zusätzlichen Speicherplatz zum Speichern der Matrix verwenden.

Fazit

In diesem Tutorial haben wir ein JavaScript-Programm implementiert, um zu überprüfen, ob eine bestimmte Matrix idempotent ist. Eine idempotente Matrix ist eine quadratische Matrix mit der gleichen Anzahl von Zeilen und Spalten. Wenn wir die Matrix mit sich selbst multiplizieren, ist das Ergebnis gleich der gleichen Matrix. Wir haben den Code in der Zeitkomplexität O(N^3) implementiert und in der Raumkomplexität O(1) gearbeitet.

Das obige ist der detaillierte Inhalt vonJavaScript-Programm zur Überprüfung der idempotenten Matrix. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen