向量/矩阵的特殊乘法运算

向量乘法

  • 标量积(inner product)

        标量积(又称内积、点乘、点积、数量积):两个向量相乘得到一个标量。

        几何意义:

        代数定义: 

  • 向量积(cross product)

        向量积(又称叉乘、叉积、矢量积):两个向量相乘得到一个向量。

        向量积定义:

        其中t向量大小:

  • 外积(outer product)

        下文克罗内克积的一种特殊情况,也称张量积。

        两个向量a,b维度分别为(n,1),(1,n),外积结果为一个矩阵,维度为(n,n)

\begin{bmatrix} a_{1}\\a_{2} \end{bmatrix} \otimes \begin{bmatrix} b_{1} & b_{2} \end{bmatrix} = \begin{bmatrix} a_{1}\cdot b_{1} &a_{1}\cdot b_{2} \\ a_{2}\cdot b_{1} &a_{2}\cdot b_{2} \end{bmatrix}

 矩阵乘法

  • matmul product(内积)

        线性代数学学的,左行乘以右列:

preview

  •  Hadamard product (哈达马积)

        哈达马积其元素定义为两个矩阵对应元素的乘积。

preview

  • Kronecker product(克罗内克积) 

        克罗内克积是两个任意大小的矩阵间的运算,以德国数学家利奥波德·克罗内克命名。

        如果A是一个m×n的矩阵,而B是一个p×q的矩阵,克罗内克积则是一个mp×nq分块矩阵.

preview
克罗内克积
preview
克罗内克积的例子
  •  Khatri-Rao积

        两个具有相同列数的矩阵 G_{p\times n} 和 F_{q\times n} 的KhatriRao积记作:

它由两个矩阵对应的列向量的Kronecker积排列而成。因此,KhatriRao积又叫做对应列Kronecker积。  

 其他乘法

  •  笛卡尔积

        笛卡尔乘积是指在数学中,两个集合XY的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

        举个栗子:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

百度百科的案例

参考:

[1] 向量:向量乘法(标量积、向量积)和向量插值

[2] 几种矩阵乘法总结

[3] 笛卡尔乘积

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对称矩阵乘法运算可以使用NumPy库中的dot函数实现。由于对称矩阵特殊性质,我们可以只计算其中一个三角形部分的值,然后将结果镜像对称得到完整的对称矩阵。 以下是一个示例代码: ```python import numpy as np # 生成对称矩阵A和向量x A = np.array([[1, 2, 3], [2, 4, 5], [3, 5, 6]], dtype=np.float) x = np.array([1, 2, 3], dtype=np.float) # 计算A*x并得到对称矩阵 B = np.dot(A, x) C = np.triu(B) + np.triu(B, 1).T print('A*x:\n', B) print('对称矩阵:\n', C) ``` 输出结果: ``` A*x: [14. 24. 32.] 对称矩阵: [[14. 24. 32.] [24. 24. 37.] [32. 37. 32.]] ``` 其中,`np.triu(B)`表示取出B矩阵的上三角部分,`np.triu(B, 1).T`表示取出B矩阵的上三角部分(不包括对角线)的转置,相加得到对称矩阵C。 ### 回答2: 对称矩阵乘法是一种特殊矩阵乘法运算,在Python中可以通过使用numpy库来实现。步骤如下: 1. 导入numpy库: ```Python import numpy as np ``` 2. 创建对称矩阵: 对称矩阵是指矩阵的转置与自身相等。可以使用numpy的`array`函数来创建对称矩阵。例如,创建一个3x3的对称矩阵`A`: ```Python A = np.array([[1, 2, 3], [2, 4, 5], [3, 5, 6]]) ``` 3. 进行矩阵乘法运算: 对称矩阵乘法运算可以通过使用numpy的`dot`函数来实现。例如,将矩阵`A`与自身相乘: ```Python result = np.dot(A, A) ``` 4. 输出结果: 可以使用`print`函数打印出乘法运算结果。例如,打印出结果矩阵`result`: ```Python print(result) ``` 完整代码如下所示: ```Python import numpy as np A = np.array([[1, 2, 3], [2, 4, 5], [3, 5, 6]]) result = np.dot(A, A) print(result) ``` 以上就是使用Python进行对称矩阵乘法运算的方法。 ### 回答3: 对称矩阵是指其转置矩阵与本身相等的矩阵矩阵乘法运算是指将两个矩阵相乘得到一个新的矩阵。 对称矩阵乘法运算可以通过Python进行实现。首先,我们需要定义两个对称矩阵。可以使用NumPy库来创建矩阵并进行矩阵乘法运算。 以下是一个简单的Python代码示例: ```python import numpy as np # 定义两个对称矩阵 A = np.array([[1, 2, 3], [2, 4, 5], [3, 5, 6]]) B = np.array([[7, 8, 9], [8, 10, 11], [9, 11, 12]]) # 矩阵乘法 C = np.dot(A, B) print("结果矩阵C:") print(C) ``` 以上代码中,我们首先导入NumPy库。然后,我们定义了两个对称矩阵A和B。接下来,我们使用`np.dot()`函数将矩阵A和矩阵B进行乘法运算,得到结果矩阵C。最后,我们打印结果矩阵C。 运行上述代码,将输出矩阵C的结果: ``` 结果矩阵C: [[ 34 41 45] [ 74 92 101] [ 86 107 117]] ``` 通过以上示例,我们可以看到,对称矩阵乘法运算结果仍然是一个矩阵,且结果也是一个对称矩阵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值