ich habe folgendes Problem:
gegeben ist eine N x N - Matrix A und eine 2 x 2 - Matrix B. Ich möchte eine 2N x 2N - Matrix C erstellen, die aus aneinandergereihten bzw. gestapelten Kopien von B besteht, jeweils skalar multipliziert mit dem entsprechenden Eintrag aus A. Für
N = 2,
A = [[1,2], [3,4]] und
B = [[0,1],[1,0]]
würde man folgende Matrix erhalten:
Code: Alles auswählen
C =
[[0,1,0,2],
[1,0,2,0]
[0,3,0,4]
[3,0,4,0]]
Mir ist es bereits gelungen, eine 2 x 2N - Matrix zu erstellen, die aus aneinandergereihten Kopien von B besteht, jeweils skalar multipliziert mit den Einträgen der i - ten Zeile von A. Code:
Code: Alles auswählen
import numpy as np
X = [0,1]
A = [[1,2],[3,4]]
B = np.array([[0,1],[1,0]])
ai = np.array([[ ], [ ]])
i = 0
for j in X:
ai = np.append(ai, B * A[i][j], axis = 1)
print(ai)
Beste Grüße, BP.