NumPy: оценка соглашения Эйнштейна о суммировании двух заданных многомерных массивов
NumPy: упражнение 5 по линейной алгебре с решением
Напишите программу 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.einsum("n,n", a, b)
print("Einstein’s summation convention 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.einsum("mk,kn", x, y)
print("Einstein’s summation convention of the said arrays:")
print(result)
Пример вывода:
Оригинальные 1-й массивы: [1 2 3] [0 1 0] Соглашение Эйнштейна о суммировании указанных массивов: 2 Оригинал Высшее измерение: [[0 1 2] [3 4 5] [6 7 8]] [[3 4 5] [6 7 8] [9 10 11]] Соглашение Эйнштейна о суммировании указанных массивов: [[24 27 30] [78 90 102] [132 153 174]]
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу NumPy для вычисления определителя данного квадратного массива.
Далее: Напишите программу NumPy для вычисления внутреннего произведения векторов для одномерных массивов (без комплексного сопряжения) и в более высоком измерении.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования