кодесурса
«NumPy

NumPy: вычислить произведение Кронекера двух заданных многомерных массивов

script1adsense2code
script1adsense3code

NumPy: линейная алгебра Упражнение-8 с решением

Напишите программу NumPy для вычисления продукта Кронекера из двух заданных многомерных массивов.

Примечание. В математике произведение Кронекера, обозначаемое ⊗, представляет собой операцию над двумя матрицами произвольного размера, которая приводит к блочной матрице. Это обобщение внешнего произведения (которое обозначается тем же символом) от векторов к матрицам, и дает матрицу тензорного произведения относительно стандартного выбора базиса. Произведение Кронекера не следует путать с обычным умножением матриц, что является совершенно другой операцией.

Если A является матрицей m × n, а B является матрицей ap × q, то произведение Кронекера A is B является блочной матрицей mp × nq:

«NumPy

Пример решения :

Код Python:

import numpy as np
a = np.array([1,2,3])
b = np.array([0,1,0])
print("Original 1-d arrays:")
print(a)
print(b)
result =  np.kron(a, b)
print("Kronecker product of the said arrays:")
print(result)
x = np.arange(9).reshape(3, 3)
y = np.arange(3, 12).reshape(3, 3)
print("Original Higher dimension:")
print(x)
print(y)
result = np.kron(x, y)
print("Kronecker product  of the said arrays:")
print(result)

Пример вывода:

 Оригинальные 1-й массивы:
[1 2 3]
[0 1 0]
Произведение Кронекера из указанных массивов:
[0 1 0 0 2 0 0 3 0]
Оригинал Высшее измерение:
[[0 1 2]
 [3 4 5]
 [6 7 8]]
[[3 4 5]
 [6 7 8]
 [9 10 11]]
Произведение Кронекера из указанных массивов:
[[0 0 0 3 4 5 6 8 10]
 [0 0 0 6 7 8 12 14 16]
 [0 0 0 9 10 11 18 20 22]
 [9 12 15 12 16 20 15 20 25]
 [18 21 24 24 28 32 30 35 40]
 [27 30 33 36 40 44 45 50 55]
 [18 24 30 21 28 35 24 32 40]
 [36 42 48 42 49 56 48 56 64]
 [54 60 66 63 70 77 72 80 88]]

Редактор кода Python:


Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу NumPy для вычисления собственных значений и правых собственных векторов данного квадратного массива.
Далее: Напишите программу NumPy для вычисления номера условия данной матрицы.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code