对于维度为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()