Hi,
ich würde gerne eine Blockdiagonalmatrix H (Dimension (P-1)*(N-1)x(P-1)*(N-1)) bauen , die P-1 mal den Matrixblock T (Dimension (N-1)x(N-1)) auf der "diagonalen" enthält,d.h
H=block_diag(T,...,T) (P-1 mal).
Jetzt könnte ich mir diese Matrix auch mit ner Schleife bauen, aber würde es lieber effizienter mit dem block_diag Befehl machen. Weiss jemand, wie ich die Matrix T P-1 mal in die Klammer befinde, kann man das irgendwie mit ner Schleife in der Klammer lösen vllt?
Lg und Viele Grüße
Blockdiagonalmatrix
Hi,
danke schonmal. Ich habe das jetzt so probiert, aber bekomme nen memory error, da die dimension zu hoch ist. Hab dann probiert ne sparse matrix zu machen , also
H = sparse.block_diag(*([T] * (P - 1)))
dann bekomme ich jedoch den fehler "block_diag() takes at most 3 arguments". Jedoch ist T doch als Liste aufgeführt, deswegen verstehe ich den Fehler nicht..
Lg
danke schonmal. Ich habe das jetzt so probiert, aber bekomme nen memory error, da die dimension zu hoch ist. Hab dann probiert ne sparse matrix zu machen , also
H = sparse.block_diag(*([T] * (P - 1)))
dann bekomme ich jedoch den fehler "block_diag() takes at most 3 arguments". Jedoch ist T doch als Liste aufgeführt, deswegen verstehe ich den Fehler nicht..
Lg