矩阵的内积、外积

矩阵外积

矩阵外积也就是矩阵的乘积,ABABABBABABA 结果不一定相乘,且前面可乘不代表后面可乘。
要求AAA的列等于BBB 的行的两个矩阵才可以做外积,外积乘法规则是:AAA 的行乘以BBB 的列,结果仍为矩阵。
例如:
A=[a11a12a21a22]A=\begin{bmatrix} a_{11}& a_{12} \\ a_{21} & a_{22} \end{bmatrix}A=[a11a21a12a22]B=[b11b12b21b22]B=\begin{bmatrix} b_{11}& b_{12} \\ b_{21} & b_{22} \end{bmatrix}B=[b11b21b12b22],则A⋅B=[a11b11+a12b21a11b12+a12b22a21b11+a22b21a21b12+a22b22]A\cdot B=\begin{bmatrix} a_{11} b_{11}+a_{12}b_{21}& a_{11} b_{12}+a_{12} b_{22} \\a_{21} b_{11}+a_{22} b_{21} & a_{21}b_{12}+a_{22} b_{22} \end{bmatrix}AB=[a11b11+a12b21a21b11+a22b21a11b12+a12b22a21b12+a22b22]

矩阵内积

矩阵内积(花书中叫做元素对应乘积)是矩阵对应元素乘积之和,结果是一个值。因此要求两矩阵AAABBB 的必须是同型矩阵
例如:
A=[a11a12a21a22]A=\begin{bmatrix} a_{11}& a_{12} \\ a_{21} & a_{22} \end{bmatrix}A=[a11a21a12a22]B=[b11b12b21b22]B=\begin{bmatrix} b_{11}& b_{12} \\ b_{21} & b_{22} \end{bmatrix}B=[b11b21b12b22],则A⊙B=a11×b11+a12×b12+a21×b21+a22×b22A\odot B=a_{11}\times b_{11}+a_{12}\times b_{12}+a_{21}\times b_{21}+a_{22}\times b_{22}AB=a11×b11+a12×b12+a21×b21+a22×b22

### 矩阵内积的定义与计算方法 矩阵内积通常指的是两个相同大小的矩阵对应位置元素相乘后再求和的操作。这种操作也被称为 **Frobenius 内积**,其形式化表达为: \[ A \cdot B = \sum_{i=1}^{m}\sum_{j=1}^{n} A[i,j] \times B[i,j] \] 其中 \(A\) 和 \(B\) 是形状相同的矩阵 (即均为 \(m \times n\))。 #### Python 实现矩阵内积 以下是基于 NumPy 的一种实现方式,能够高效完成矩阵内积运算: ```python import numpy as np def frobenius_inner_product(matrix_a, matrix_b): """ 计算两个矩阵的 Frobenius 内积 参数: matrix_a: 第一个输入矩阵 (NumPy 数组) matrix_b: 第二个输入矩阵 (NumPy 数组) 返回: float 类型的结果代表两者的 Frobenius 内积值 """ if matrix_a.shape != matrix_b.shape: raise ValueError("矩阵尺寸不匹配,无法进行内积运算") result = np.sum(matrix_a * matrix_b) # 对应元素相乘后求和 return result # 测试代码 matrix_a = np.array([[1, 2], [3, 4]]) matrix_b = np.array([[5, 6], [7, 8]]) inner_product_result = frobenius_inner_product(matrix_a, matrix_b) print(f"Frobenius 内积结果: {inner_product_result}") ``` 上述代码通过 `np.sum` 函数实现了逐元素相乘后的总和计算[^4]。这种方法适用于任意大小一致的二维数组,并且具有较高的数值稳定性。 另外需要注意的是,在处理大规模数据集时,内存消耗可能成为瓶颈之一。因此对于超大型稀疏矩阵场景下,则需考虑采用专门优化过的库或者算法来降低资源占用率[^2]。 ### 关于矩阵分解中的应用实例 在推荐系统等领域中经常需要用到低秩近似技术来进行预测评分等工作流程当中涉及到大量关于用户偏好建模方面的工作内容。此时会运用到 SVD(Singular Value Decomposition 单值分解)等相关理论知识去构建模型参数估计过程当中的核心部分—也就是寻找合适的 P,Q 权重向量组合使得最终重建出来的目标函数误差最小化从而达到较好的拟合效果[^3].
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值