向量

行向量

import numpy as np
a = np.array([1,2,3,4])
print(type(a))
print(a)
<class 'numpy.ndarray'>
[1 2 3 4]

列向量

列向量 相当于一个 python向量相加 python向量加法_ci

import numpy as np
a = np.array([[1,2,3,4]])
print(type(a))
print(a)
print(a.shape)
print(type(a.T))
print(a.T)
print(a.T.shape)
<class 'numpy.ndarray'>
[[1 2 3 4]]
(1, 4)
<class 'numpy.ndarray'>
[[1]
 [2]
 [3]
 [4]]
(4, 1)

向量的加法

python向量相加 python向量加法_ci_02

import numpy as np
u = np.array([[1,2,3]]).T
v = np.array([[5,6,7]]).T
print(u+v)
[[ 6]
 [ 8]
 [10]]

向量的数量乘法

python向量相加 python向量加法_标量_03

import numpy as np
u = np.array([[1,2,3]]).T
print(3*u)
[[3]
 [6]
 [9]]

向量间的乘法

向量的内积(点乘) np.dot()

参与内积运算的两个向量必须维数相等
运算规则:先将对应位置上的元素相乘,然后合并相加
向量内积的最终运算结果是一个标量

python向量相加 python向量加法_叉乘_04

import numpy as np
u = np.array([3,5,2])
v = np.array([1,4,7])
print(np.dot(u,v))
37

向量的外积(叉乘) np.cross()

二维向量的外积

表示两个向量张成的平行四边形的"面积",如果两个向量的夹角大于 python向量相加 python向量加法_ci_05, 则向量外积的运算结果为负

python向量相加 python向量加法_ci_06

import numpy as np
u = np.array([3,5])
v = np.array([1,4])
print(np.cross(u,v))
print(type(np.cross(u,v)))
print(np.cross(u,v).shape)
7
<class 'numpy.ndarray'>
()

三维向量的外积

表示两个向量张成的平面的法向量,所得结果是向量

python向量相加 python向量加法_标量_07

import numpy as np
u = np.array([3,3,9])
v = np.array([1,4,12])
print(np.cross(u,v))
print(type(np.cross(u,v)))
print(np.cross(u,v).shape)
[  0 -27   9]
<class 'numpy.ndarray'>
(3,)

向量的线性组合:先数乘后叠加

python向量相加 python向量加法_ci_08

import numpy as np
u = np.array([[1,2,3]]).T
v = np.array([[4,5,6]]).T
w = np.array([[7,8,9]]).T
print(3*u+4*v+5*w)
[[54]
 [66]
 [78]]