题目
题目链接
对于维度为n*m的矩阵A和一个k维向量x相乘时,会出现如下情况:
如果m=k,返回A和x的点积: \(\sum_{j=1}^m a_{ij}x_j\);
如果m≠k,返回-1,表示无法相乘
def matrix_vector_dot_product(a, b):# 如果矩阵A的列数不等于向量b的长度,则返回-1if len(a[0]) != len(b): return -1vals = []for i in a:hold = 0for j in range(len(i)):hold+=(i[j] * b[j])vals.append(hold)return vals
可以使用numpy库中的dot函数来计算矩阵和向量的点积
def matrix_vector_dot_product(a, b):import numpy as npif (len(a[0]) != len(b)):return -1# 使用tolist()将结果转换为列表return np.dot(a, b).tolist()