向量和矩阵
- 生成向量:
>>> import numpy as np
>>> x = np.array([1, 2, 3])
>>> x.__class__ #类型
<class 'numpy.ndarray'>
>>> x.shape # 形状
(3,)
>>> x.ndim # 维度
1
- 生成矩阵:
>>> W = np.array([[1, 2, 3], [4, 5, 6]])
>>> W.shape
(2, 3)
>>> W.ndim
2
矩阵的对应元素的运算
>>> W = np.array([[1, 2, 3], [4, 5, 6]])
>>> X = np.array([[0, 1, 2], [3, 4, 5]])
>>> W + X # 相同位置的元素相加
array([[ 1, 3, 5],
[ 7, 9, 11]])
>>> W * X # 相同位置的元素相乘
array([[ 0, 2, 6],
[12, 20, 30]])
广播
在NumPy多维数组中,广播机制使得形状不同的数组也可以进行运算
>>> A = np.array([[1, 2], [3, 4]])
>>> A * 10 # 10被拓展成了2行2列的矩阵,然后进行相乘
array([[10, 20],
[30, 40]])
>>> A = np.array([[1, 2], [3, 4]])
>>> b = np.array([10, 20]) # 被拓展成了2行2列的矩阵,然后相乘
>>> A * b
array([[10, 40],
[30, 80]])
向量内积和矩阵乘积
- 向量内积:
向量的内积可以表示“两个向量在多大程度上指向同一方向”。它的运算是对应位置的元素相乘并求和
>>> a = np.array([1, 2, 3])
>>> b = np.array([4, 5, 6])
>>> np.dot(a, b)
32
- 矩阵乘积:
>>> A = np.array([[1, 2], [3, 4]])
>>> B = np.array([[5, 6], [7, 8]])
>>> np.dot(A, B)
array([[19, 22],
[43, 50]])
参考资料
https://book.douban.com/subject/35225413/
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/275939.html