Маю дві матриці
a = np.matrix([[1,2], [3,4]])
b = np.matrix([[5,6], [7,8]])
і я хочу отримати елементний продукт [[1*5,2*6], [3*7,4*8]], рівний
[[5,12], [21,32]]
я намагався
print(np.dot(a,b))
і
print(a*b)
але обидва дають результат
[[19 22], [43 50]]
що є продуктом матриці, а не продуктом, що належить до елементів. Як я можу отримати елементний продукт (він же продукт Адамара) за допомогою вбудованих функцій?
aта bмасиви numpy? Крім того, у вашому запитанні вище, ви використовуєте xі yдля обчислення, а не aі b. Це просто друкарська помилка?
@для множення матриць масівні масиви, а це означає, що для використання матриць над масивами не повинно бути абсолютно жодних вагомих причин.
aі складати bсписки. Вони працюватимуть у np.dot; але не в a*b. Якщо ви використовуєте np.array(a)абоnp.matrix(a) , *працює, але з різними результатами.
aіbчи не є типом матриці NumPy? За допомогою цього класу*повертається внутрішній продукт, а не по елементах. Але для звичайногоndarrayкласу це*означає елементний продукт.