l имеет K (пусть K здесь будет 7) различает матрицы размерности (50,50)
.Я хотел бы создать новую матрицу L, заполнив ее по диагонали с помощью K матриц.Следовательно, L имеет размерность (50 * K, 50 * K).
Что я пробовал?
K1=np.random.random((50,50))
N,N=K1.shape
K=7
out=np.zeros((K,N,K,N),K1.dtype)
np.einsum('ijik->ijk', out)[...] = K1
L=out.reshape(K*N, K*N) # L is of dimension (50*7,50*7)=(350,350)
Это действительно создает новую матрицу L путем стекированияК1 семь раз по диагонали.Однако я бы хотел сложить соответственно K1, K2, K3, K5, K6, K7, а не K1 семь раз.
Входы:
K1=np.random.random((50,50))
K2=np.random.random((50,50))
K3=np.random.random((50,50))
K4=np.random.random((50,50))
K5=np.random.random((50,50))
K6=np.random.random((50,50))
K7=np.random.random((50,50))
L=np.zeros((50*7,50*7))#
Ожидаемые результаты:
L[:50,:50]=K1
L[50:100,50:100]=K2
L[100:150,100:50]=K3
L[150:200,150:200]=K4
L[200:250,200:250]=K5
L[250:300,250:300]=K6
L[300:350,300:350]=K7