咨询:matrix cxr与vector左右相乘的结果是否始终相等
矩阵与向量左右乘法的结果是否一致?
结论:这两种乘法的结果几乎不可能相等,甚至很多情况下其中一种在数学上根本不合法。
核心原因:矩阵乘法的维度匹配规则
矩阵乘法要求左操作数的列数必须等于右操作数的行数,否则乘法无意义:
- 对于
矩阵(c×r) × 向量:只有当向量是r维列向量(维度r×1)时,乘法才合法,结果是一个c维列向量(维度c×1)。 - 对于
向量 × 矩阵(c×r):只有当向量是c维行向量(维度1×c)时,乘法才合法,结果是一个r维行向量(维度1×r)。
仅从结果维度就能看出:除非c=r且忽略向量的行/列属性,否则两者结果的维度完全不同,不可能相等。
实例验证
举个具体例子:
设矩阵 A 为2×3(c=2,r=3):
A = [[1, 2, 3], [4, 5, 6]]
- 合法的矩阵×向量:
A × [1; 2; 3](3维列向量),计算结果为[14; 32](2维列向量)。 - 合法的向量×矩阵:
[1, 2] × A(2维行向量),计算结果为[9, 12, 15](3维行向量)。
两者维度不同,显然不相等。
再看方阵的特殊情况:
设矩阵 A 为2×2:
A = [[1, 2], [3, 4]]
A × [5; 6]的结果是[17; 39](2维列向量)。[5, 6] × A的结果是[23, 34](2维行向量)。
即使将列向量转置为行向量,[17, 39] 和 [23, 34] 的数值也完全不同。
补充说明
只有在极端特殊的场景下(比如矩阵是零矩阵,或向量是零向量),两者结果可能都是零向量,但这只是个例,不具备普遍性。
内容的提问来源于stack exchange,提问作者Alphapage
相关产品推荐
相关产品推荐

