首页 > 其他分享 >矩阵 — 点乘与叉乘

矩阵 — 点乘与叉乘

时间:2023-02-13 10:55:45浏览次数:57  
标签:11 12 21 22 矩阵 bmatrix True

点乘

基本概念

  • 简而言之就是矩阵各对应元素相乘。
  • 需满足乘数矩阵和被乘数矩阵的行向量或列向量相等,或两者同时相等。

数学公式

S1 矩阵尺寸不完全相同

\[C=AB= \begin{bmatrix} a_{11} \\ a_{21} \end{bmatrix} \begin{bmatrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \end{bmatrix}= \begin{bmatrix} a_{11}b_{11} & a_{11}b_{12} & a_{11}b_{13} \\ a_{21}b_{21} & a_{21}b_{22} & a_{21}b_{23} \end{bmatrix} \]

S2 矩阵尺寸完全相同

\[C=AB= \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{bmatrix} \begin{bmatrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \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} \end{bmatrix} \]

Python测试代码

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

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]])

需要点出的是:
当矩阵A和矩阵B的维度相同时,矩阵点乘即为哈达玛积(Hadamard Product),如下图所示:
image

叉乘

基本概念

  • 就是我们熟知的矩阵乘法。
  • 中间相同留两边。

S1 示例

\[C=A \times B= \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix}\times \begin{bmatrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \end{bmatrix}= \begin{bmatrix} a_{11}b_{11}+a_{12}b_{21} & a_{11}b_{12}+a_{12}b_{22} & a_{11}b_{13}+a_{12}b_{23} \\ a_{21}b_{11}+a_{22}b_{21} & a_{21}b_{12}+a_{22}b_{22} & a_{21}b_{11}+a_{22}b_{23} \end{bmatrix} \]

Python测试代码

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

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]])

Reference

矩阵点乘/叉乘

标签:11,12,21,22,矩阵,bmatrix,True
From: https://www.cnblogs.com/uestc-mm/p/16848023.html

相关文章

  • 756. 蛇形矩阵
    好久没写算法题了,先写个语法题练练手https://www.acwing.com/problem/content/description/758/#include<iostream>usingnamespacestd;constintN=105;intmap[N......
  • 「矩阵求逆」P4783 【模板】矩阵求逆
    知识点:线性代数Link:Luogu大家好啊,我不会线代,下学期才开,所以这题抄的,只是简单记录做法,等到学了线代再回来更深一步理解。但是这做法又易懂又好记又牛逼。主要抄袭对象:ht......
  • 矩阵树定理、BEST 定理
    说句闲话。今天翻到一篇博客上来给放了个公式:\[\sum_{i=0}^n\binom{2i}i\binom{2n-2i}{2i}=4^i\]看起来就很不对劲。然后爆算了一波确实是错的。敬请注意。然后不知道为......
  • 「解题报告」[省选联考 2021 A 卷] 矩阵游戏
    啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会了!啥都不会......
  • 重塑矩阵(力扣简单题)
    题目:在MATLAB中,有一个非常有用的函数reshape,它可以将一个mxn矩阵重塑为另一个大小不同(rxc)的新矩阵,但保留其原始数据。给你一个由二维数组mat表示的mxn矩......
  • 【数组】——螺旋矩阵
    【数组】——螺旋矩阵模拟顺时针画矩阵的过程:1.填充上行从左到右2.填充右列从上到下3.填充下行从右到左4.填充左列从下到上由外向内一圈一圈这么画下去。每一条边都......
  • 用行列式求4阶逆矩阵
    矩阵M的逆矩阵等于MT的C*1/detMC=Cofactory第一步转置 第二步就是求每个位置的代数余子式的值(举个例子M的a11就变为C11的值 ) 当前位置i+j奇偶决定正负4阶的Cij......
  • 在VSCode中的markdown里插入混淆矩阵HTML源码
    最近在看论文的时候习惯用markdown记录笔记,就有了如题的需求。由于原生的markdown不能合并表格的单元格(或者我不知道,OS:真菜),但是markdown支持HTML,直接写一段代码扔进去就......
  • Numpy中数组和矩阵操作的数学函数
    Numpy是一个强大的Python计算库。它提供了广泛的数学函数,可以对数组和矩阵执行各种操作。本文中将整理一些基本和常用的数学操作。基本数学运算:Numpy提供了许多基本......
  • 三种方法用Fortran求逆矩阵
    三种方法用Fortran求四阶矩阵的逆矩阵数值计算Crefertohttps://fortranwiki.org/fortran/show/Matrix+inversionSUBROUTINEMATINV(A,B)DIMENSION......