向量和矩阵中的各种乘积总结

本文总结向量与矩阵的各种乘积,起因是各种乘积叫法太多,非常容易搞混….因为只是简单总结,所以并不涉及各个概念的深度理解,不妥之处请指出。

一、向量的各种乘积总结

1.Dot product[1],向量点积, mathbf{a} cdot mathbf{b} = mathbf{c} ,符号为 cdot ,要求向量长度相同,结果是一个标量。又称:点乘、数量积、标量积、scalar product、projection product等。

mathbf{a}=[a_{1},a_{2} cdots a_{n}],mathbf{b}=[b_{1},b_{2} cdots b_{n}],mathbf{c}=sum_{i=1}^n{a_{i}b_{i}}/ 值得注意的是,WIKI写道:

matrix product即下面矩阵的Standard matrix multiplication,因此计算过程就变成了:

mathbf{a} cdot mathbf{b}=mathbf{a} mathbf{b^top}/

例如, mathbf{a} 如果是一个 1times3 的矩阵, mathbf{b} 是一个 3times1 的矩阵,点积结果为:

begin{bmatrix} 1 & 3 & -5 end{bmatrix} begin{bmatrix} 4/ -2/ -1 end{bmatrix} =3/

另外,不少资料认为Inner product(内积)就是Dot product(点积),其实这两个概念有些许的不同,WIKI写道:

也就是说在欧氏空间内向量点积用的很多,也被广泛称为了内积,但是点积的方法并不是唯一被定义的内积方式,点积只是内积其中一种定义方式,用的最多。所以在很多地方,点积和内积被画了等号。关于内积的更多解释可以参见Inner product space。

2.Outer product[2],向量外积, mathbf{a} otimes mathbf{b} = mathbf{c} ,符号为 otimes ,如果向量 mathbf{a}的长度为 m ,向量 mathbf{b} 的长度为 n ,外积结果是一个矩阵,其维度为 m times n ,过程等价于矩阵的Standard matrix multiplication。

c=mathbf{a} otimes mathbf{b}= mathbf{a} mathbf{b^top}=begin{bmatrix} a_1 / a_2 / vdots / a_m end{bmatrix} begin{bmatrix} b_1 & b_2& cdots & b_n end{bmatrix}= begin{bmatrix} a_1b_1 & a_1b_2 & dots & a_1b_n / a_2b_1 & a_2b_2 & dots & a_2b_n / vdots & vdots & ddots & vdots / a_mb_1 & a_mb_2 & dots & a_mb_n end{bmatrix} /

同样的,不少资料认为下面的Cross product(叉积)就是Outer product(外积),这也是不对的。可能是因为向量外积用的很少,导致这两个概念很容易混淆。

为了能和下面矩阵的Kronecker product(克罗内克积,Outer product的推广)相联系,我们也可以这么看向量外积:

c=mathbf{a} otimes mathbf{b}= mathbf{a} mathbf{b^top}= begin{bmatrix} a_1mathbf{b^top}/ a_2mathbf{b^top}/ vdots/ a_mmathbf{b^top}/ end{bmatrix}= begin{bmatrix} a_1b_1 & a_1b_2 & dots & a_1b_n / a_2b_1 & a_2b_2 & dots & a_2b_n / vdots & vdots & ddots & vdots / a_mb_1 & a_mb_2 & dots & a_mb_n end{bmatrix} / /

最终得到的矩阵是一个分块矩阵(block matrix)。

3.Cross product[3],向量叉积, mathbf{a} times mathbf{b} = mathbf{c} ,符号为 times ,叉积运算只定义在三维空间,结果仍然是一个向量,其方向遵循右手定则。又称:叉乘、向量积、vector product等。

begin{alignat}{3} mathbf{a} &= a_1mathbf{color{blue}{i}} &&+ a_2mathbf{color{red}{j}} &&+ a_3mathbf{color{green}{k}} / mathbf{b} &= b_1mathbf{color{blue}{i}} &&+ b_2mathbf{color{red}{j}} &&+ b_3mathbf{color{green}{k}} end{alignat}/

利用行列式来理解:

begin{align} mathbf{atimes b} &=begin{vmatrix} mathbf{i}&mathbf{j}&mathbf{k}/ a_1&a_2&a_3/ b_1&b_2&b_3/ end{vmatrix}/&=(a_2b_3mathbf{i}+a_3b_1mathbf{j}+a_1b_2mathbf{k}) – (a_3b_2mathbf{i}+a_1b_3mathbf{j}+a_2b_1mathbf{k})/ &=(a_2b_3 – a_3b_2)mathbf{i} +(a_3b_1 – a_1b_3)mathbf{j} +(a_1b_2 – a_2b_1)mathbf{k} end{align}/

几何意义:

mathbf{a} times mathbf{b} = left| mathbf{a} right| left| mathbf{b} right| sin (theta) /

https://en.wikipedia.org/wiki/File:Cross_product.gif#/media/File:Cross_product.gif

二、矩阵的各种乘积总结

1.Standard matrix multiplication[4], 矩阵乘积,A_{m times n} cdot B_{n times p}=C_{m times p} ,符号为 cdot ,要求 A 的列数要与 B 的行数相等,是最一般的矩阵间乘法。

mathbf{C}=begin{pmatrix} a_{11} & a_{12} & cdots & a_{1n} / a_{21} & a_{22} & cdots & a_{2n} / vdots & vdots & ddots & vdots / a_{m1} & a_{m2} & cdots & a_{mn} / end{pmatrix}begin{pmatrix} b_{11} & b_{12} & cdots & b_{1p} / b_{21} & b_{22} & cdots & b_{2p} / vdots & vdots & ddots & vdots / b_{n1} & b_{n2} & cdots & b_{np} / end{pmatrix}=begin{pmatrix} a_{11}b_{11} +cdots + a_{1n}b_{n1} & a_{11}b_{12} +cdots + a_{1n}b_{n2} & cdots & a_{11}b_{1p} +cdots + a_{1n}b_{np} / a_{21}b_{11} +cdots + a_{2n}b_{n1} & a_{21}b_{12} +cdots + a_{2n}b_{n2} & cdots & a_{21}b_{1p} +cdots + a_{2n}b_{np} / vdots & vdots & ddots & vdots / a_{m1}b_{11} +cdots + a_{mn}b_{n1} & a_{m1}b_{12} +cdots + a_{mn}b_{n2} & cdots & a_{m1}b_{1p} +cdots + a_{mn}b_{np} / end{pmatrix} /

c_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} +cdots + a_{in}b_{nj}= sum_{k=1}^n a_{ik}b_{kj}/

2.Hadamard product[5],哈达玛积, A_{m times n} circ B_{m times n}=C_{m times n}A_{m times n} odot B_{m times n}=C_{m times n} ,符号为 circodot ,矩阵对应元素相乘,要求矩阵维度相同。又称:逐元素积、element-wise product、entrywise product、Schur product等。

mathbf{A_{m times n}}circmathbf{B_{m times n}} = begin{bmatrix} a_{11} & a_{12} & a_{13}/ a_{21} & a_{22} & a_{23}/ a_{31} & a_{32} & a_{33} end{bmatrix} circ begin{bmatrix} b_{11} & b_{12} & b_{13}/ b_{21} & b_{22} & b_{23}/ b_{31} & b_{32} & b_{33} end{bmatrix} = begin{bmatrix} a_{11}, b_{11} & a_{12}, b_{12} & a_{13}, b_{13}/ a_{21}, b_{21} & a_{22}, b_{22} & a_{23}, b_{23}/ a_{31}, b_{31} & a_{32}, b_{32} & a_{33}, b_{33} end{bmatrix}/3.Kronecker product[6],克罗内克积, A_{m times n} otimes B_{p times q}=C_{pm times qn} ,符号为 otimes ,是上面的向量外积(out product)的推广,形成的是分块矩阵(block matrix),对矩阵维度没有要求。又称:matrix direct product等。

mathbf{A_{m times n}}otimesmathbf{B_{p times q}} = begin{bmatrix} a_{11} mathbf{B} & cdots & a_{1n}mathbf{B} / vdots & ddots & vdots / a_{m1} mathbf{B} & cdots & a_{mn} mathbf{B} end{bmatrix}= begin{bmatrix} a_{11} b_{11} & a_{11} b_{12} & cdots & a_{11} b_{1q} & cdots & cdots & a_{1n} b_{11} & a_{1n} b_{12} & cdots & a_{1n} b_{1q} / a_{11} b_{21} & a_{11} b_{22} & cdots & a_{11} b_{2q} & cdots & cdots & a_{1n} b_{21} & a_{1n} b_{22} & cdots & a_{1n} b_{2q} / vdots & vdots & ddots & vdots & & & vdots & vdots & ddots & vdots / a_{11} b_{p1} & a_{11} b_{p2} & cdots & a_{11} b_{pq} & cdots & cdots & a_{1n} b_{p1} & a_{1n} b_{p2} & cdots & a_{1n} b_{pq} / vdots & vdots & & vdots & ddots & & vdots & vdots & & vdots / vdots & vdots & & vdots & & ddots & vdots & vdots & & vdots / a_{m1} b_{11} & a_{m1} b_{12} & cdots & a_{m1} b_{1q} & cdots & cdots & a_{mn} b_{11} & a_{mn} b_{12} & cdots & a_{mn} b_{1q} / a_{m1} b_{21} & a_{m1} b_{22} & cdots & a_{m1} b_{2q} & cdots & cdots & a_{mn} b_{21} & a_{mn} b_{22} & cdots & a_{mn} b_{2q} / vdots & vdots & ddots & vdots & & & vdots & vdots & ddots & vdots / a_{m1} b_{p1} & a_{m1} b_{p2} & cdots & a_{m1} b_{pq} & cdots & cdots & a_{mn} b_{p1} & a_{mn} b_{p2} & cdots & a_{mn} b_{pq} end{bmatrix}/

参考

  1. ^[1] https://en.wikipedia.org/wiki/Dot_product
  2. ^[2] https://en.wikipedia.org/wiki/Outer_product
  3. ^[3] https://en.wikipedia.org/wiki/Cross_product
  4. ^[1] https://en.wikipedia.org/wiki/Matrix_multiplication
  5. ^[2] https://en.wikipedia.org/wiki/Hadamard_product_(matrices)
  6. ^[3] https://en.wikipedia.org/wiki/Kronecker_product

发表回复

相关推荐

對於“慈”,咱們知道多少?

“慈”的造字本義是表示父母對子女生長的關愛;父母、尤指母親憐愛自己生養的幼稚弱小的子女。解釋一下,這個“慈”的最原始的意...

· 19秒前

關於小鹿斑比2的介紹

小鹿斑比2 (也稱為 小鹿斑比和森林大王子,或稱小鹿斑比第二季)是2006年的美國動畫 戲劇電影 導演是 佈萊恩·皮門塔爾(Bria...

· 40秒前

一文看懂3D模型obj文件

你是否好奇那些3D游戏中复杂的角色、建筑、场景是怎么实现的,美工使用3D建模软件设计好角色模型之后,程序又是怎么让它们动 ...

· 4分钟前

品牌与用户体验-咖啡篇|M Stand

No. 001 早C午T,已经成为现在年轻人迎接每一天的生活打开方式。在家中给自己冲泡一杯咖啡,或者打开外卖软件订购一杯,这些 ...

· 15分钟前

遙控器有多少分類呢?

現今社會,需要用到遙控器的地方有很多,傢電,影音設備,甚至寵物行業,工業行業,都有需要用到遙控器。而遙控器的分類也繁...

· 16分钟前