python中numpy的用法

numpy就是用并行运算来计算矩阵乘法,加法之类的

这个好处是可以充分运用cpu的性能使代码跑的非常快,可以快个1e2左右的样子

两个向量的乘法:

#!/usr/bin/python3

import numpy as np

a = np.array([1,2,3,4])

list_b = [1,2,3,4]
b = np.array(list_b)

ans = np.dot(a,b)

print(ans)

向量长度必须一样,否则会报错

关于矩阵与向量的乘法:

#!/usr/bin/python3

import numpy as np

a = np.array([[1,2,3,4],
             [2,3,4,5]])

list_b = [1,2,3,4]
b = np.array(list_b)

ans = np.dot(a,b)

print(ans)

输出:[30,40]

可以看到,其实我们再用np.dot的时候,我们其实是把后面那个数组变成列向量,但如果两个都是矩阵的话就不能这样用了

关于矩阵乘法:

#!/usr/bin/python3

import numpy as np

a = np.array([[1,2,3,4],
             [2,3,4,5]])

list_b = [[1,2,3,4],
          [2,3,4,5]]
b = np.array(list_b)

ans = np.dot(a,b.T)

print(ans)

矩阵乘法其实在后面加一个.T就好了,这个就是正经的矩阵×矩阵了

除了×numpy还可以做矩阵的加法,减法什么的