- +. -. *. /都会激发广播机制
>>> s
array([[1],
[2],
[3]])
>>> ss
array([[1, 2],
[3, 4],
[5, 6]])
>>> s
array([[1],
[2],
[3]])
>>> ss + s
array([[2, 3],
[5, 6],
[8, 9]])
>>> ss - s
array([[0, 1],
[1, 2],
[2, 3]])
>>> ss * s
array([[ 1, 2],
[ 6, 8],
[15, 18]])
>>> ss / s
array([[1. , 2. ],
[1.5 , 2. ],
[1.66666667, 2. ]])
- 标量vs向量/矩阵
- 会自动扩展至纬度相等(此处标量->(3, 1))
>>> s
array([[1],
[2],
[3]])
>>> s + 1
array([[2],
[3],
[4]])
>>> s - 1
array([[0],
[1],
[2]])
>>> s * 2
array([[2],
[4],
[6]])
>>> s / 2
array([[0.5],
[1. ],
[1.5]])
- 向量vs矩阵
- 会自动扩展至纬度相等(此处向量->(3, 2))
- 必须要有一个维度是相等的才会发生广播,否则报错
>>> s
array([[1],
[2],
[3]])
>>> ss
array([[1, 2],
[3, 4],
[5, 6]])
>>> s
array([[1],
[2],
[3]])
>>> ss + s
array([[2, 3],
[5, 6],
[8, 9]])
>>> ss - s
array([[0, 1],
[1, 2],
[2, 3]])
>>> ss * s
array([[ 1, 2],
[ 6, 8],
[15, 18]])
>>> ss / s
array([[1. , 2. ],
[1.5 , 2. ],
[1.66666667, 2. ]])