Mam dwuwymiarową tablicę numpy z równą liczbą kolumn i wierszy. Chciałbym rozmieścić je w większym układzie, z mniejszymi na przekątnej. Powinno być możliwe określenie, jak często macierz początkowa powinna znajdować się na przekątnej. Na przykład:Tworzenie przekątnej tablic numty z danej tablicy numpy
a = numpy.array([[5, 7],
[6, 3]])
Więc gdybym chciał tej tablicy 2 razy na przekątnej pożądanym wyjściem byłoby:
array([[5, 7, 0, 0],
[6, 3, 0, 0],
[0, 0, 5, 7],
[0, 0, 6, 3]])
3 razy:
array([[5, 7, 0, 0, 0, 0],
[6, 3, 0, 0, 0, 0],
[0, 0, 5, 7, 0, 0],
[0, 0, 6, 3, 0, 0],
[0, 0, 0, 0, 5, 7],
[0, 0, 0, 0, 6, 3]])
Czy istnieje szybki sposób zaimplementować to za pomocą metod numpy i dla dowolnych rozmiarów tablicy początkowej (nadal biorąc pod uwagę, że tablica początkowa ma taką samą liczbę wierszy i kolumn)?
Jak można to zrobić, jeśli trzeba wstawić x różne matryce do przekątnej? Mam 80 różnych matryc, które muszą być wykonane w macierzy przekątnej blokowej. –
@ Will.Evo Wszystkie 80 o tych samych kształtach? – Divakar
Tak wszystkie w tym samym kształcie –