题解 | 矩阵和向量的点积
对于维度为n*m的矩阵A和一个k维向量x相乘时,会出现如下情况:
如果m=k,返回A和x的点积:
;
如果m≠k,返回-1,表示无法相乘
def matrix_vector_dot_product(a, b): # 如果矩阵A的列数不等于向量b的长度,则返回-1 if len(a[0]) != len(b): return -1 vals = [] for i in a: hold = 0 for 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 np if (len(a[0]) != len(b)): return -1 # 使用tolist()将结果转换为列表 return np.dot(a, b).tolist()