目的:最近在写优化代码,需要对函数中的变量求导,以及求得它们的雅克比矩阵。因此用到向量以及矩阵的求导。

一个向量可以表示为如下:Y=[y1,y2,...,ym]TY=[y_1,y_2,...,y_m]^TY=[y1​,y2​,...,ym​]T
向量导数的基本知识。它分为以下几类:
1)向量Y=[y1,y2,...,ym]TY=[y_1,y_2,...,y_m]^TY=[y1​,y2​,...,ym​]T对xxx标量求导:
∂Y∂x=[∂y1∂x∂y2∂x⋮∂ym∂x]\cfrac{\partial{Y}}{\partial{x}}=\begin{bmatrix} \cfrac{\partial{y_1}}{\partial{x}} \\ \cfrac{\partial{y_2}}{\partial{x}} \\ \vdots \\ \cfrac{\partial{y_m}}{\partial{x}} \end{bmatrix} ∂x∂Y​=⎣⎡​∂x∂y1​​∂x∂y2​​⋮∂x∂ym​​​⎦⎤​
如果Y=[y1,y2,...,ym]Y=[y_1,y_2,...,y_m]Y=[y1​,y2​,...,ym​]是行向量,则求导
∂Y∂x=[∂y1∂x∂y2∂x…∂ym∂x]\cfrac{\partial{Y}}{\partial{x}}=\begin{bmatrix} \cfrac{\partial{y_1}}{\partial{x}} \space \cfrac{\partial{y_2}}{\partial{x}} \ldots \cfrac{\partial{y_m}}{\partial{x}} \end{bmatrix} ∂x∂Y​=[∂x∂y1​​ ∂x∂y2​​…∂x∂ym​​​]

2)标量yyy对向量X=[x1,x2,...,xm]TX=[x_1,x_2,...,x_m]^TX=[x1​,x2​,...,xm​]T求导
∂y∂X=[∂y∂x1∂y∂x2⋮∂y∂xm]\cfrac{\partial{y}}{\partial{X}}=\begin{bmatrix} \cfrac{\partial{y}}{\partial{x_1}} \\ \cfrac{\partial{y}}{\partial{x_2}} \\ \vdots \\ \cfrac{\partial{y}}{\partial{x_m}} \end{bmatrix} ∂X∂y​=⎣⎡​∂x1​∂y​∂x2​∂y​⋮∂xm​∂y​​⎦⎤​
如果X=[x1,x2,...,xm]X=[x_1,x_2,...,x_m]X=[x1​,x2​,...,xm​]为行向量:
∂y∂X=[∂y∂x1∂y∂x2…∂y∂xm]\cfrac{\partial{y}}{\partial{X}}=\begin{bmatrix} \cfrac{\partial{y}}{\partial{x_1}} \space \cfrac{\partial{y}}{\partial{x_2}} \ldots \cfrac{\partial{y}}{\partial{x_m}} \end{bmatrix} ∂X∂y​=[∂x1​∂y​ ∂x2​∂y​…∂xm​∂y​​]

3)向量Y=[y1,y2,...,ym]TY=[y_1,y_2,...,y_m]^TY=[y1​,y2​,...,ym​]T对向量X=[x1,x2,...,xn]X=[x_1,x_2,...,x_n]X=[x1​,x2​,...,xn​]求导
∂Y∂X=[∂y1∂x1∂y1∂x2…∂y1∂xn∂y2∂x1∂y2∂x2…∂y2∂xn⋮∂ym∂x1∂ym∂x2…∂ym∂xn]\cfrac{\partial{Y}}{\partial{X}}=\begin{bmatrix} \cfrac{\partial{y_1}}{\partial{x_1}} \space \space \cfrac{\partial{y_1}}{\partial{x_2}} \space \space \ldots \space \space \cfrac{\partial{y_1}}{\partial{x_n}} \\ \cfrac{\partial{y_2}}{\partial{x_1}} \space \space \cfrac{\partial{y_2}}{\partial{x_2}} \space \space \ldots \space \space \cfrac{\partial{y_2}}{\partial{x_n}} \\ \vdots \\ \cfrac{\partial{y_m}}{\partial{x_1}} \space \space \cfrac{\partial{y_m}}{\partial{x_2}} \space \space \ldots \space \space \cfrac{\partial{y_m}}{\partial{x_n}} \end{bmatrix} ∂X∂Y​=⎣⎡​∂x1​∂y1​​  ∂x2​∂y1​​  …  ∂xn​∂y1​​∂x1​∂y2​​  ∂x2​∂y2​​  …  ∂xn​∂y2​​⋮∂x1​∂ym​​  ∂x2​∂ym​​  …  ∂xn​∂ym​​​⎦⎤​
向量对向量求导也是所谓的雅克比矩阵,它在优化中非常见。

如果是矩阵的话,
如YYY是矩阵的时候,它的表达:
Y=[y11y12…y1ny21y22…y2n⋮ym1ym2…ymn]Y=\begin{bmatrix} y_{11} \space \space y_{12} \space \space \ldots \space \space y_{1n} \\ y_{21} \space \space y_{22} \space \space \ldots \space \space y_{2n} \\ \vdots \\ y_{m1} \space \space y_{m2} \space \space \ldots \space \space y_{mn} \end{bmatrix} Y=⎣⎡​y11​  y12​  …  y1n​y21​  y22​  …  y2n​⋮ym1​  ym2​  …  ymn​​⎦⎤​
如XXX是矩阵的时候,它的表达:
X=[x11x12…x1nx21x22…x2n⋮xm1xm2…xmn]X=\begin{bmatrix} x_{11} \space \space x_{12} \space \space \ldots \space \space x_{1n} \\ x_{21} \space \space x_{22} \space \space \ldots \space \space x_{2n} \\ \vdots \\ x_{m1} \space \space x_{m2} \space \space \ldots \space \space x_{mn} \end{bmatrix} X=⎣⎡​x11​  x12​  …  x1n​x21​  x22​  …  x2n​⋮xm1​  xm2​  …  xmn​​⎦⎤​

矩阵的导数有两种,如下
1)矩阵YYY对标量xxx求导:
∂Y∂x=[∂y11∂x∂y12∂x…∂y1n∂x∂y21∂x∂y22∂x…∂y2n∂x⋮∂ym1∂x∂ym2∂x…∂ymn∂x]\cfrac{\partial{Y}}{\partial{x}}=\begin{bmatrix} \cfrac{\partial{y_{11}}}{\partial{x}} \space \space \cfrac{\partial{y_{12}}}{\partial{x}} \space \space \ldots \space \space \cfrac{\partial{y_{1n}}}{\partial{x}} \\ \cfrac{\partial{y_{21}}}{\partial{x}} \space \space \cfrac{\partial{y_{22}}}{\partial{x}} \space \space \ldots \space \space \cfrac{\partial{y_{2n}}}{\partial{x}} \\ \vdots \\ \cfrac{\partial{y_{m1}}}{\partial{x}} \space \space \cfrac{\partial{y_{m2}}}{\partial{x}} \space \space \ldots \space \space \cfrac{\partial{y_{mn}}}{\partial{x}} \end{bmatrix} ∂x∂Y​=⎣⎡​∂x∂y11​​  ∂x∂y12​​  …  ∂x∂y1n​​∂x∂y21​​  ∂x∂y22​​  …  ∂x∂y2n​​⋮∂x∂ym1​​  ∂x∂ym2​​  …  ∂x∂ymn​​​⎦⎤​
2)标量yyy对矩阵XXX求导:
∂y∂X=[∂y∂x11∂y∂x12…∂y∂x1n∂y∂x21∂y∂x22…∂y∂x2n⋮∂y∂xm1∂y∂xm2…∂y∂xmn]\cfrac{\partial{y}}{\partial{X}}=\begin{bmatrix} \cfrac{\partial{y}}{\partial{x_{11}}} \space \space \cfrac{\partial{y}}{\partial{x_{12}}} \space \space \ldots \space \space \cfrac{\partial{y}}{\partial{x_{1n}}} \\ \cfrac{\partial{y}}{\partial{x_{21}}} \space \space \cfrac{\partial{y}}{\partial{x_{22}}} \space \space \ldots \space \space \cfrac{\partial{y}}{\partial{x_{2n}}} \\ \vdots \\ \cfrac{\partial{y}}{\partial{x_{m1}}} \space \space \cfrac{\partial{y}}{\partial{x_{m2}}} \space \space \ldots \space \space \cfrac{\partial{y}}{\partial{x_{mn}}} \end{bmatrix} ∂X∂y​=⎣⎡​∂x11​∂y​  ∂x12​∂y​  …  ∂x1n​∂y​∂x21​∂y​  ∂x22​∂y​  …  ∂x2n​∂y​⋮∂xm1​∂y​  ∂xm2​∂y​  …  ∂xmn​∂y​​⎦⎤​
这是基本的向量的导数定义。基于这些定义以及一些基本的运算法则,得到一些组合的公式。在几何算法的编程中非常有用。

公式中的向量求导,在一般公式中会多个向量以及向量依赖,因此,在求导数的时候希望它能满足标量求导的链式法则。
假设向量相互依赖的关系为:U−>V−>WU->V->WU−>V−>W
则偏导数为:
∂W∂U=∂W∂V∂V∂U\cfrac{\partial{W}}{\partial{U}}=\cfrac{\partial{W}}{\partial{V}} \space \space \cfrac{\partial{V}}{\partial{U}} ∂U∂W​=∂V∂W​  ∂U∂V​

证明:只需要拆开逐一对元素求导得到:
∂wi∂uj=∑k∂wi∂vk∂vk∂uj=∂wi∂V∂V∂uj\cfrac{\partial{w_i}}{\partial{u_j}} = \sum_{k}\cfrac{\partial{w_i}}{\partial{v_k}}\space \cfrac{\partial{v_k}}{\partial{u_j}} =\cfrac{\partial{w_i}}{\partial{V}} \space \cfrac{\partial{V}}{\partial{u_j}} ∂uj​∂wi​​=k∑​∂vk​∂wi​​ ∂uj​∂vk​​=∂V∂wi​​ ∂uj​∂V​
由此可见∂wi∂uj\cfrac{\partial{w_i}}{\partial{u_j}}∂uj​∂wi​​是等于矩阵∂W∂V\cfrac{\partial{W}}{\partial{V}}∂V∂W​第iii行和矩阵∂V∂U\cfrac{\partial{V}}{\partial{U}}∂U∂V​的第jjj列的内积,这是矩阵的乘法定义。
它很容易能推广到多层中间变量的情景。

在变量中遇到的情况是常常公式为FFF为一个实数,中间变量都是向量的时候,它的依赖为:
X−>V−>U−>fX->V->U->fX−>V−>U−>f
根据雅克比矩阵的传递性可以得到如下:
∂F∂X=∂F∂U∂U∂V∂V∂X\cfrac{\partial{F}}{\partial{X}} = \cfrac{\partial{F}}{\partial{U}}\space \cfrac{\partial{U}}{\partial{V}} \space \cfrac{\partial{V}}{\partial{X}} ∂X∂F​=∂U∂F​ ∂V∂U​ ∂X∂V​
因为fff为标量,因此它写成如下形式:
∂f∂XT=∂f∂UT∂U∂V∂V∂X\cfrac{\partial{f}}{\partial{X^T}} = \cfrac{\partial{f}}{\partial{U^T}}\space \cfrac{\partial{U}}{\partial{V}} \space \cfrac{\partial{V}}{\partial{X}} ∂XT∂f​=∂UT∂f​ ∂V∂U​ ∂X∂V​
为了便于计算,上述需要转为行向量UTU^TUT,XTX^TXT计算。这个非常重要。

下面介绍向量求倒数的时候遇到的常用的运算公式,它们有以下两类

1)两向量UUU,VVV(列向量)点积的结果对WWW求导:
∂(UTV)∂W=(∂U∂W)TV+(∂V∂W)TU(4)\cfrac{\partial{(U^T V)}}{\partial{W}} = ( \cfrac{\partial{U}}{\partial{W}})^T V + ( \cfrac{\partial{V}}{\partial{W}})^T U \space (4) ∂W∂(UTV)​=(∂W∂U​)TV+(∂W∂V​)TU (4)
点积的导数公式证明后续补上。
证明:假设U=[u0u1u3]U=\begin{bmatrix} u_0 \\ u_1 \\ u_3 \end{bmatrix}U=⎣⎡​u0​u1​u3​​⎦⎤​ 和V=[v0v1v3]V=\begin{bmatrix} v_0 \\ v_1 \\ v_3 \end{bmatrix}V=⎣⎡​v0​v1​v3​​⎦⎤​ ,它们为三维向量。得到点乘为f=UTVf=U^T Vf=UTV,它是一个标量为:f=u0v0+u1v1+u2v2f=u_0v_0+u_1v_1+u_2v_2f=u0​v0​+u1​v1​+u2​v2​,然后求它对WWW的导数

∂f∂W=∂(u0v0+u1v1+u2v2)∂W=∂u0∂Wv0+∂v0∂Wu0+∂u1∂Wv1+∂v1∂Wu1+∂u2∂Wv2+∂v2∂Wu2=(∂u0∂Wv0+∂u1∂Wv1+∂u2∂Wv2)+(∂v0∂Wu0+∂v1∂Wu1+∂v2∂Wu2)=(∂U∂W)TV+(∂V∂W)TU\cfrac{\partial{f}}{\partial{W}}=\cfrac{\partial{(u_0v_0+u_1v_1+u_2v_2)}}{\partial{W}} \\ =\cfrac{\partial{u_0}}{\partial{W}}v_0 + \cfrac{\partial{v_0}}{\partial{W}}u_0 + \cfrac{\partial{u_1}}{\partial{W}}v_1 + \cfrac{\partial{v_1}}{\partial{W}}u_1 + \cfrac{\partial{u_2}}{\partial{W}}v_2 + \cfrac{\partial{v_2}}{\partial{W}}u_2 \\ =(\cfrac{\partial{u_0}}{\partial{W}}v_0 + \cfrac{\partial{u_1}}{\partial{W}}v_1 + \cfrac{\partial{u_2}}{\partial{W}}v_2) + (\cfrac{\partial{v_0}}{\partial{W}}u_0 + \cfrac{\partial{v_1}}{\partial{W}}u_1 + \cfrac{\partial{v_2}}{\partial{W}}u_2) \\ =( \cfrac{\partial{U}}{\partial{W}})^T V + ( \cfrac{\partial{V}}{\partial{W}})^T U ∂W∂f​=∂W∂(u0​v0​+u1​v1​+u2​v2​)​=∂W∂u0​​v0​+∂W∂v0​​u0​+∂W∂u1​​v1​+∂W∂v1​​u1​+∂W∂u2​​v2​+∂W∂v2​​u2​=(∂W∂u0​​v0​+∂W∂u1​​v1​+∂W∂u2​​v2​)+(∂W∂v0​​u0​+∂W∂v1​​u1​+∂W∂v2​​u2​)=(∂W∂U​)TV+(∂W∂V​)TU

它可以推广到其它的维度。证明完毕。

如果WWW是标量其实直接代入(4)(4)(4)即可。但是如果WWW为向量,在计算中,一般都是把WWW变成行向量。因为定义jacobi矩阵是,列向量对行向量就行求导。因此WWW可以表示为WTW^TWT(行向量),所以(4)(4)(4),写成:
∂(UTV)∂WT=(∂U∂WT)TV+(∂V∂WT)TU\cfrac{\partial{(U^T V)}}{\partial{W^T}} = ( \cfrac{\partial{U}}{\partial{W^T}})^T V + ( \cfrac{\partial{V}}{\partial{W^T}})^T U ∂WT∂(UTV)​=(∂WT∂U​)TV+(∂WT∂V​)TU

2)两个向量UUU,VVV (列向量)叉积的结果对WWW求导:
∂(U×V)∂W=−Skew(V)(∂U∂W)+Skew(U)(∂V∂W)(5)\cfrac{\partial{(U \times V)}}{\partial{W}} = -Skew(V)( \cfrac{\partial{U}}{\partial{W}}) +Skew(U)( \cfrac{\partial{V}}{\partial{W}}) \space (5) ∂W∂(U×V)​=−Skew(V)(∂W∂U​)+Skew(U)(∂W∂V​) (5)
其中
Skew(U)=[0−U3U2U30−U1−U2U10]Skew(U) = \begin{bmatrix} 0 \space \space -U_3 \space \space U_2 \\ U_3 \space \space 0 \space \space -U_1 \\ -U_2 \space \space U_1 \space \space 0 \end{bmatrix} Skew(U)=⎣⎡​0  −U3​  U2​U3​  0  −U1​−U2​  U1​  0​⎦⎤​
其中Skew(V)Skew(V)Skew(V)是将叉乘转化为点积的矩阵。它非常容易证明,因为它就是矩阵展开即可。
对于多个向量叉乘的时候,需要对公式进行转化。叉乘满足分配率。
∂(U×V)∂W=(∂U∂W)×V+U×(∂V∂W)(6)\cfrac{\partial{(U \times V)}}{\partial{W}} = ( \cfrac{\partial{U}}{\partial{W}}) \times V + U \times ( \cfrac{\partial{V}}{\partial{W}}) \space (6) ∂W∂(U×V)​=(∂W∂U​)×V+U×(∂W∂V​) (6)
证明后续再补上。(5)和(6)两者的公式是想通的。只是表达形式不同。它们的转化后面再补上。

证明:假设U=[u0u1u3]U=\begin{bmatrix} u_0 \\ u_1 \\ u_3 \end{bmatrix}U=⎣⎡​u0​u1​u3​​⎦⎤​ 和V=[v0v1v3]V=\begin{bmatrix} v_0 \\ v_1 \\ v_3 \end{bmatrix}V=⎣⎡​v0​v1​v3​​⎦⎤​ ,它们为三维向量。

U×V=[ijku0u1u2v0v1v2]=(u1v2−u1v2)i+(u2v0−u0v2)j+(u0v1−u1v0)kU \times V = \begin{bmatrix} i \space \space j \space \space k \\ u_0 \space \space u_1 \space \space u_2 \\ v_0 \space \space v_1 \space \space v_2 \end{bmatrix} \\ = (u_1v_2 - u_1v_2)i+ (u_2v_0 - u_0v_2)j+ (u_0v_1 - u_1v_0)k U×V=⎣⎡​i  j  ku0​  u1​  u2​v0​  v1​  v2​​⎦⎤​=(u1​v2​−u1​v2​)i+(u2​v0​−u0​v2​)j+(u0​v1​−u1​v0​)k

它是一个向量,因此展开后,它的表达为如下:

U×V=[(u1v2−u2v1)(u2v0−u0v2)(u0v1−u1v0)]U \times V = \begin{bmatrix} (u_1v_2 - u_2v_1) \\ (u_2v_0 - u_0v_2) \\ (u_0v_1 - u_1v_0) \end{bmatrix} U×V=⎣⎡​(u1​v2​−u2​v1​)(u2​v0​−u0​v2​)(u0​v1​−u1​v0​)​⎦⎤​

展开后得到如下:

∂(U×V)∂W=[∂(u1v2−u2v1)∂W∂(u2v0−u0v2)∂W∂(u0v1−u1v0)∂W]=∂(u1v2−u2v1)∂WI+∂(u2v0−u0v2)∂WJ+∂(u0v1−u1v0)∂WK=(∂u1∂W∗v2+∂v2∂W∗u1−∂u2∂W∗v1−∂v1∂W∗u2)I+(∂u2∂W∗v0+∂v0∂W∗u2−∂u0∂W∗v2−∂v2∂W∗u0)J+(∂u0∂W∗v1+∂v1∂W∗u0−∂u1∂W∗v0−∂v0∂W∗u1)K=[(∂u1∂W∗v2−∂u2∂W∗v1)I+(∂u2∂W∗v0−∂u0∂W∗v2)J+(∂u0∂W∗v1−∂u1∂W∗v0)K]+[(∂v2∂W∗u1−∂v1∂W∗u2)I+(∂v0∂W∗u2−∂v2∂W∗u0)J+(∂v1∂W∗u0−∂v0∂W∗u1)K]=(∂U∂W)×V−(∂V∂W)×U=−V×(∂U∂W)+U×(∂V∂W)=−Skew(V)(∂U∂W)+Skew(U)(∂V∂W)\cfrac{\partial{(U \times V)}}{\partial{W}} = \begin{bmatrix} \cfrac{\partial{(u_1v_2 - u_2v_1) }}{\partial{W}} \\ \cfrac{\partial{ (u_2v_0 - u_0v_2)}}{\partial{W}}\\ \cfrac{\partial{ (u_0v_1 - u_1v_0)}}{\partial{W}}\\ \end{bmatrix} = \cfrac{\partial{(u_1v_2 - u_2v_1) }}{\partial{W}} I + \cfrac{\partial{ (u_2v_0 - u_0v_2)}}{\partial{W}}J+ \cfrac{\partial{ (u_0v_1 - u_1v_0)}}{\partial{W}}K \\ = (\cfrac{\partial{u_1}}{\partial{W}}*v_2+\cfrac{\partial{v_2}}{\partial{W}}*u_1-\cfrac{\partial{u_2}}{\partial{W}}*v_1-\cfrac{\partial{v_1}}{\partial{W}}*u_2)I+(\cfrac{\partial{u_2}}{\partial{W}}*v_0+\cfrac{\partial{v_0}}{\partial{W}}*u_2-\cfrac{\partial{u_0}}{\partial{W}}*v_2-\cfrac{\partial{v_2}}{\partial{W}}*u_0)J + (\cfrac{\partial{u_0}}{\partial{W}}*v_1+\cfrac{\partial{v_1}}{\partial{W}}*u_0-\cfrac{\partial{u_1}}{\partial{W}}*v_0-\cfrac{\partial{v_0}}{\partial{W}}*u_1)K \\ =[(\cfrac{\partial{u_1}}{\partial{W}}*v_2 -\cfrac{\partial{u_2}}{\partial{W}}*v_1)I + (\cfrac{\partial{u_2}}{\partial{W}}*v_0 - \cfrac{\partial{u_0}}{\partial{W}}*v_2)J + (\cfrac{\partial{u_0}}{\partial{W}}*v_1 - \cfrac{\partial{u_1}}{\partial{W}}*v_0)K] + [(\cfrac{\partial{v_2}}{\partial{W}}*u_1 -\cfrac{\partial{v_1}}{\partial{W}}*u_2)I + (\cfrac{\partial{v_0}}{\partial{W}}*u_2 - \cfrac{\partial{v_2}}{\partial{W}}*u_0)J + (\cfrac{\partial{v_1}}{\partial{W}}*u_0 - \cfrac{\partial{v_0}}{\partial{W}}*u_1)K] \\ =( \cfrac{\partial{U}}{\partial{W}}) \times V - ( \cfrac{\partial{V}}{\partial{W}}) \times U = -V \times (\cfrac{\partial{U}}{\partial{W}}) + U \times ( \cfrac{\partial{V}}{\partial{W}})= -Skew(V)( \cfrac{\partial{U}}{\partial{W}}) +Skew(U)( \cfrac{\partial{V}}{\partial{W}}) ∂W∂(U×V)​=⎣⎡​∂W∂(u1​v2​−u2​v1​)​∂W∂(u2​v0​−u0​v2​)​∂W∂(u0​v1​−u1​v0​)​​⎦⎤​=∂W∂(u1​v2​−u2​v1​)​I+∂W∂(u2​v0​−u0​v2​)​J+∂W∂(u0​v1​−u1​v0​)​K=(∂W∂u1​​∗v2​+∂W∂v2​​∗u1​−∂W∂u2​​∗v1​−∂W∂v1​​∗u2​)I+(∂W∂u2​​∗v0​+∂W∂v0​​∗u2​−∂W∂u0​​∗v2​−∂W∂v2​​∗u0​)J+(∂W∂u0​​∗v1​+∂W∂v1​​∗u0​−∂W∂u1​​∗v0​−∂W∂v0​​∗u1​)K=[(∂W∂u1​​∗v2​−∂W∂u2​​∗v1​)I+(∂W∂u2​​∗v0​−∂W∂u0​​∗v2​)J+(∂W∂u0​​∗v1​−∂W∂u1​​∗v0​)K]+[(∂W∂v2​​∗u1​−∂W∂v1​​∗u2​)I+(∂W∂v0​​∗u2​−∂W∂v2​​∗u0​)J+(∂W∂v1​​∗u0​−∂W∂v0​​∗u1​)K]=(∂W∂U​)×V−(∂W∂V​)×U=−V×(∂W∂U​)+U×(∂W∂V​)=−Skew(V)(∂W∂U​)+Skew(U)(∂W∂V​)

其中的假设a,ba,ba,b为向量,易得如下
a×b=−b×aa \times b = -b \times a a×b=−b×a

从三维可以拓展到多维向量中。证明完毕

向量的导数运算和向量叉乘以及点乘的导数运算相关推荐

  1. python二维向量公式坐标叉乘_Python 或 sage 有没有哪个函数可以求指定向量的模?进行点乘运算,叉乘运算。...

    Hlianbobo:python 或 sage 有没有哪个函数可以求指定向量的模?进行点乘运算,叉乘运算?求相关的库名称已经代码示例,谢谢! zhzy:numpy Tony042:numpy,或者自己 ...

  2. 两个向量的点乘和叉乘怎么算_Unity游戏开发——向量运算(点乘和叉乘)

    0.前言 在游戏开发中,确定目标的方位,朝向,夹角等相关数据需要用到向量间的计算,其中最常用到的就是点乘和叉乘. 说实话,因为向量的运算在平时开发中不是经常使用,我也总弄混这两种运算的含义,所以这次好 ...

  3. 三维几何学基础(向量、点乘、叉乘、反对称矩阵)

    三维几何学基础(向量.点乘.叉乘.反对称矩阵) 载具,三个自由度的平移和三个自由度的旋转. 这6个自由度称为载具的姿态(pose) 姿态包含位置(position)和朝向(orientation) 文 ...

  4. 两个向量的点乘和叉乘怎么算_向量的点乘和叉乘

    向量的点乘和叉乘2019-12-09 15:46:24文/董月 点乘,也叫数量积.结果是一个向量在另一个向量方向上投影的长度,是一个标量.叉乘,也叫向量积.结果是一个和已有两个向量都垂直的向量. 点乘 ...

  5. 【图形学】向量的点乘和叉乘

    向量(Vector) 在几乎所有的几何问题中,向量(有时也称矢量)是一个基本点.向量的定义包含方向和一个数(长度).在二维空间中,一个向量可以用一对x和y来表示.例如由点(1,3)到(5,1的向量可以 ...

  6. 点乘叉乘坐标公式_向量点乘公式与叉乘公式的位置关系

    在数学与物理中,既有大小又有方向的量叫做向量(亦称矢量),在数学中与之相对应的是数量.下面是小编为大家整理的,希望对大家有所帮助!一.高三数学向量公式二.高三数学向量知识点梳理看过"&quo ...

  7. 两个向量的点乘和叉乘怎么算_向量的点乘和叉乘的区别,举个例子,谢谢!

    一.运算结果不同: 叉乘运算结果是一个向量而不是一个标量.并且两个向量的叉积与这两个向量和垂直.点乘,也叫数量积.结果是一个向量在另一个向量方向上投影的长度,是一个标量. 二.应用不同: 1.点乘:平 ...

  8. 向量的点乘与叉乘概念理解以及C++代码实现

    文章目录 1. 点乘 2. 叉乘 3. 代码实现 点乘与叉乘是线性代数的基本知识,在工作中也经常能够遇到,下面我们来温习一下它们的概念以及使用C++代码对它们进行实现. 1. 点乘 概念 向量的点乘, ...

  9. java 向量点乘_向量的点乘与叉乘学习笔记

    这里简单做些关于二维向量的笔记 点乘 $V_1(x_1,y_1) V_2(x_2,y_2) = x_1*x_2+y_1*y_2$ 点乘是各项元素乘积的和,结果是一个标量而不是向量 点乘还有如下等式 $ ...

最新文章

  1. HMM中文分词分析 知乎
  2. 精确人工智能——核物理与粒子物理领域的新生力量
  3. MyBatis之使用JSONObject代替JavaBean优雅返回多表查询结果
  4. python dlib学习(八):训练人脸特征点检测器
  5. Solr分页与高亮(使用SolrNet实现)
  6. MyBatis整合ehcache实现二级缓存
  7. C学习杂记(七)extern声明可省略变量类型
  8. JEECG智能开发平台-项目选型最爱
  9. 将系统语言设置成英语
  10. 生成M3U8播放地址用于手机HLS Player(M3U8Player)观看电视频道直播方案
  11. linux tar文件夹打包不包含目录,tar打包如何不打包某一个文件夹(排除某些文件夹)...
  12. 公文处理助手 【全自动文档排版插件 For Word(32/64)】
  13. android framework项目开发案例-动态隐藏Launcher上图标
  14. html 链接nofollow,ueditor给超链接默认添加rel=nofollow标签
  15. Android端控制LED屏
  16. Java语言与C语言的区别
  17. JAVA经典垃圾收集器与内存分配策略
  18. 1043 Eight(八数码问题 康托展开 A*算法)
  19. 计算机毕业设计 HTML+CSS+JavaScript食品餐饮行业网站(10页)
  20. 腾讯云COS学习笔记

热门文章

  1. APP第11篇 微信小程序测试
  2. 西部世界看IPFS落地应用:媒体、视频和游戏领域中的 Filecoin
  3. 百度网盘wine和linux区别,ubuntu16.04安装deepwine并安装QQ微信百度网盘等常用windows软件...
  4. 基于STM32设计的指针式电子钟与万年历
  5. Matlab读取pfm文件
  6. 可视化学习笔记4:使用颜色
  7. mysql高效率写法_Mysql模糊查询like效率,以及更高效的写法
  8. kafka中AR、ISR、OSR以及HW、LEO的区别
  9. 企业运维--nginx-tomcat和memc
  10. jupyter lab指定exe文件添加、更改R kernel