python线性代数向量
##-----两个向量的相加
def vector_add(v, w):
"""adds corresponding elements"""
return [v_i + w_i
for v_i, w_i in zip(v, w)]
##-----两个向量相减
def vector_subtract(v, w):
"""subtracts corresponding elements"""
return [v_i - w_i
for v_i, w_i in zip(v, w)]
##-----多个向量相加
def vector_sum(vectors):
"""sums all corresponding elements"""
result = vectors[0] # 从第一个向量开始
for vector in vectors[1:]: # 之后遍历其他向量
result = vector_add(result, vector) # 最后计入总和
return result
##或者
def vector_sum(vectors):
return reduce(vector_add, vectors)
##------向量乘以标量
def scalar_multiply(c, v):
"""c is a number, v is a vector"""
return [c * v_i fo