矩阵乘积的由来推导笔记
A(m × n 阶), B(t × m 阶), C:(t × n 阶)
α:Rn->Rm, β:Rm->Rt, β·α:Rn->Rt 是三个线性映射,分别对应于矩阵 A、B 和 C
X=[x1,...,xn], Y=[y1,...,ym], Z=[z1,...,zt]
α(X) = XA = x1A(1)+...+xnA(n) = Y
β·α(X) = β(α(X)) = β(Y) = YB = (XA)B = (x1A(1)+...+xnA(n))B = x1A(1)B+...+xnA(n)B
= XC = x1C(1)+...+xnC(n) = Z
C(1) = [c11,c21,...,ct1] = A(1)B = [a11,a21,...,am1]B = a11B(1)+a21B(2)+...+am1B(m)
= a11[b11,b21,...,bt1] + a21[b21,b22,...,bt2] + ... + am1[b1m,b2m,...,btm]
c11 = a11·b11+a21·b12+...+am1b1m = A(1) · B(1)
c21 = a11·b21+a21·b22+...+am1b2m = A(1) · B(2)
cij = A(j) · B(i) ①
上面的推导里有 (XA)B = XC。 如果定义 (XA)B := X(AB),则有
AB = C,即矩阵A(m × n 阶)× 矩阵B(t × m 阶)= 矩阵C(t × n 阶),规则为①
但是翻看教科书会发现,对应上面推导过程的实际定义是 (XA)B := X(BA),即
BA = C,即矩阵B(t × m 阶)× 矩阵A(m × n 阶)= 矩阵C(t × n 阶),规则为①
这时,把①写成下式,更符合习惯:
cij = B(i)· A(j) ②
当然,教科书上为了更加符合习惯,使用的定义实际上 (XB)A := X(AB),就是说讨论的是 α·β(X),而不是上面的 β·α(X)。前者的结论是 φA·φB = φAB,后者的结论是 φB·φA = φBA,尽管本质上是一样的,但是前者更符合引入 A·B 定义的习惯。