Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 23, 2017 10:00:33

les
Зарегистрирован: 2017-10-01
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с умножением матриц

Помогите с решением задачи.

Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: умножением элементов каждой строки первой матрицы на наибольшее из значений элементов соответствующей строки второй матрицы.

Офлайн

#2 Ноя. 23, 2017 11:55:07

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Задача с умножением матриц

 import numpy as np
a = np.random.randint(10, 90, (10,10))
b = np.random.randint(10, 90, (10,10))
(a.T * np.max(b, axis=1)).T

Офлайн

#3 Ноя. 23, 2017 12:20:00

les
Зарегистрирован: 2017-10-01
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с умножением матриц

scidam
А если без использования numpy?

Офлайн

#4 Ноя. 23, 2017 12:56:44

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Задача с умножением матриц

les
А если без использования numpy?
В реальных задачах – без numpy будет медленно.

Пусть a, b сгенерированные матрицы в виде вложенных списков. Вложенные списки при этом – это строки матриц.
То, что вы хотите, можно выразить в одну строку:
  [[ _b * _c for _c in _a ] for _a, _b in zip(a, map(max, b))]

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version