#转自《数据科学入门》
#本博客主要整理书中线性代数章节的方程式
def add(x,y):
return [i+j for i,j in zip(x,y)] #两个等长向量相加,同理可以相减、乘、除
def diancheng(v,w):
return sum([x*y for x,y in zip(v,w)]) #点乘,v=w则为向量的平方和
#同理改一些符号可以算两点的距离
reduce(add,vectors) #对于多条等长向量形成的列表vectors,reduce功能可以将它们遍历到add方程中进行相加等操作
from functools import partial
vec_add=partial(reduce,add) #持续简化,vec_add的功能仍然是合并多条向量,但是输入的仍为向量
#生成单位矩阵
def is_d(i,j):
return 1 if i==j else 0
[[is_d(a,b) for a in range(5)] for b in range(5)] #用def包成脚本也可以