So vektorisieren Sie die zeilenweise Diagonalisierung einer Matrix
Ich habe eine n-mal-m-Matrix, die ich in eine m-mal-m-Matrix umwandeln möchte, wobei jeder m-mal-m-Block des Ergebnisses die Diagonale jeder Zeile enthält.
Zum Beispiel, wenn die Eingabe ist:
[1 2; 3 4; 5 6]
Die Ausgabe sollte sein:
[1 0; 0 2; 3 0; 0 4; 5 0; 0 6]
Natürlich möchte ich die Matrix nicht selbst Schritt für Schritt mit a zusammenbauenfor
Schleife.
Gibt es einen vektorisierten und einfachen Weg, um dies zu erreichen?