矩阵和向量的点乘与叉乘

您所在的位置:网站首页 矩阵中向量 矩阵和向量的点乘与叉乘

矩阵和向量的点乘与叉乘

2024-07-06 02:15| 来源: 网络整理| 查看: 265

目录

一、矩阵

1)矩阵点乘——各个矩阵对应元素相乘

2)矩阵叉乘——矩阵乘法规则运算

二、向量

1)向量点乘——欧几里得空间的标准内积          

2)  向量叉乘

一、矩阵

在数学中,矩阵是一个按照长方阵列排列的复数或实数集合。由m×n个数a_i_j排成的m行n列的数表称为m行n列的矩阵,简称m×n矩阵。记作:

                                                  

矩阵对应二维数组(array)。

1)矩阵点乘——各个矩阵对应元素相乘

y = wx = \begin{bmatrix} w_{11}\\ w_{21} \end{bmatrix} \begin{bmatrix} x_{11} & x_{12} & x_{13}\\ x_{21}& x_{22} & x_{23} \end{bmatrix} = \begin{bmatrix} w_{11}x_{11} & w_{11}x_{12} & w_{11}x_{13}\\ w_{21}x_{21}& w_{21}x_{22} & w_{21}x_{23} \end{bmatrix}

  or:

y = wx = \begin{bmatrix} w_{11} & w_{12} &w_{13} \\ w_{21} & w_{22} & w_{23} \end{bmatrix} \begin{bmatrix} x_{11} &x_{12} & x_{13}\\ x_{21}& x_{22} & x_{23} \end{bmatrix} = \begin{bmatrix} w_{11}x_{11} & w_{12}x_{12} &w_{13}x_{13} \\ w_{21}x_{21} & w_{22}x_{22} & w_{23}x_{23} \end{bmatrix}

python代码示例:

A = np.array([[1],[2]]) B = np.array([[1,2,4],[1,4,5]]) C = np.array([[1,2,3],[4,5,6]]) X = A*B array([[ 1, 2, 4], [ 2, 8, 10]]) X == np.multiply(A,B) array([[ True, True, True], [ True, True, True]]) Y = B*C array([[ 1, 4, 12], [ 4, 20, 30]]) Y == np.multiply(B,C) array([[ True, True, True], [ True, True, True]])

要点:矩阵点乘中,点乘对象的行数必须相等,且前者的列数必须与后者相等,或为1。

          numpy库中可使用运算符*或multiply函数计算。

需要重点指出的是:

当矩阵A和矩阵B的维度相同时,矩阵点乘即为哈达玛积(Hadamard Product/Point-wise Product/Element-wise Product/Element-wise Multiplication),如下图所示:

preview

哈达玛积在书写时用\odot表示,向量可以看做是一维矩阵,也可进行哈达玛积。

2)矩阵叉乘——矩阵乘法规则运算

y = wx = \begin{bmatrix} w_{11} &w_{12} \\ w_{21} &w_{22} \\ w_{31} &w_{32} \end{bmatrix} \times \begin{bmatrix} x_{11} & x_{12}\\ x_{21}& x_{22} \end{bmatrix} = \begin{bmatrix} w_{11}x_{11}+w_{12}x_{21} &w_{11}x_{12}+w_{12}x_{22} \\ w_{21}x_{11}+w_{22}x_{21} &w_{21}x_{12}+w_{22}x_{22} \\ w_{31}x_{11}+w_{32}x_{21}&w_{31}x_{12}+w_{32}x_{22} \end{bmatrix}

python代码示例:

A = np.array([[1,2],[3,4],[1,5]]) B = np.array([[1,2],[2,1]]) A@B array([[ 5, 4], [11, 10], [11, 7]]) A@B == np.dot(A,B) array([[ True, True], [ True, True], [ True, True]])

小结:矩阵叉乘中,前者的列数必须和后者的行数相等。

           numpy库中可使用运算符 @或dot函数计算。

二、向量

向量是由N个实数组成的一行N列或N行一列的的数组。

向量对应一维数组。

1)向量点乘——欧几里得空间的标准内积          

\small \overrightarrow{a} \cdot \overrightarrow{b} = \displaystyle\sum_{i=1}^n a_i b_i = a_1 b_1 + a_2 b_2 +\dotsb+ a_nb_n = \left |\overrightarrow{a} \right |\left |\overrightarrow{b} \right |\cdot \cos \theta\qquad \theta(0\leqslant \theta\leqslant \pi)

向量点乘又称,点积、内积、数量积、标量积。                  

2)  向量叉乘

与向量点乘不同,向量叉乘的运算结果是一个向量而不是一个标量。两个向量叉乘所得向量与这两个向量垂直,如下图所示。

所得向量的模长:   

                        \left | \overrightarrow{a}\times \overrightarrow{b} \right | = \left | \overrightarrow{a} \right |\cdot \left | \overrightarrow{b} \right |\cdot \sin\theta (0\leqslant \theta\leqslant \pi)   

方向:与这两个向量所在的平面垂直,且遵循右手定则。

向量叉乘又称,向量积、矢积、外积、叉积。

学习总结,如有不妥之处,敬请指出。

参考:矩阵点乘和x乘---numpy和tensorflow_weixin_43901423的博客-CSDN博客_矩阵点乘运算法则

向量和矩阵的点乘和叉乘_小白一直白-CSDN博客_矩阵的点乘和叉乘

Hadamard Product | 云上小悟

https://www.youtube.com/watch?v=2GPZlRVhQWY



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3