> 技术文档 > CQF预备知识:二、线性代数 -- 2.2.2 矩阵乘法详解

CQF预备知识:二、线性代数 -- 2.2.2 矩阵乘法详解


文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。

📖 数学入门全解

本系列教程为CQF(国际量化金融分析师证书)认证所需的数学预备知识,涵盖所有需要了解的数学基础知识,旨在帮助读者熟悉核心课程所需的数学水平。

教程涵盖以下四个主题:

  • 微积分
  • 线性代数
  • 微分方程
  • 概率与统计

2.2.2 矩阵乘法详解

  1. 矩阵乘法定义

    两个矩阵 AAABBB 的乘积 C=ABC = ABC=AB 定义为:
    Cij=∑k=1NAikBkj C_{ij} = \\sum_{k=1}^{N} A_{ik} B_{kj} Cij=k=1NAikBkj
    其中:

    • CijC_{ij}Cij 是结果矩阵 CCC 的第 iii 行第 jjj 列元素
    • AikA_{ik}Aik 是矩阵 AAA 的第 iii 行第 kkk 列元素
    • BkjB_{kj}Bkj 是矩阵 BBB 的第 kkk 行第 jjj 列元素
    • 求和下标 kkk 遍历所有列(对 AAA)和行(对 BBB
  2. 几何解释

    矩阵乘法可理解为:

    结果矩阵 CCC 的第 iii 行第 jjj 列元素 = 矩阵 AAA 的第 iii 行向量 与 矩阵 BBB 的第 jjj 列向量的 点积

  3. 维度规则

    矩阵乘法的维度必须满足:

    Ap×n⋅Bn×m→Cp×m A_{p \\times n} \\cdot B_{n \\times m} \\rightarrow C_{p \\times m} Ap×nBn×mCp×m

    • 前矩阵的列数(nnn)必须等于后矩阵的行数(nnn
    • 结果矩阵的行数 = 前矩阵的行数(ppp
    • 结果矩阵的列数 = 后矩阵的列数(mmm
  4. 计算步骤(以 2×2 矩阵为例)

    (abcd)(efgh)=(ae+bgaf+bhce+dgcf+dh) \\begin{pmatrix} a & b \\\\ c & d \\end{pmatrix} \\begin{pmatrix} e & f \\\\ g & h \\end{pmatrix} \\\\ \\text{=} \\begin{pmatrix} \\color{red}{ae + bg} & \\color{blue}{af + bh} \\\\ \\color{green}{ce + dg} & \\color{purple}{cf + dh} \\end{pmatrix} (acbd)(egfh)=(ae+bgce+dgaf+bhcf+dh)

    • C11\\color{red}{C_{11}}C11AAA 的第1行 ⋅\\cdot BBB 的第1列 = a⋅e+b⋅ga·e + b·gae+bg
    • C12\\color{blue}{C_{12}}C12AAA 的第1行 ⋅\\cdot BBB 的第2列 = a⋅f+b⋅ha·f + b·haf+bh
    • C21\\color{green}{C_{21}}C21AAA 的第2行 ⋅\\cdot BBB 的第1列 = c⋅e+d⋅gc·e + d·gce+dg
    • C22\\color{purple}{C_{22}}C22AAA 的第2行 ⋅\\cdot BBB 的第2列 = c⋅f+d⋅hc·f + d·hcf+dh
  5. 非交换性

    矩阵乘法不满足交换律:

    AB≠BA AB \\neq BA AB=BA

    原因:

    1. 维度可能不匹配(如 A2×3A_{2×3}A2×3B3×2B_{3×2}B3×2 可乘,但 B3×2A2×3B_{3×2}A_{2×3}B3×2A2×3 不可乘)
    2. 即使维度匹配,元素计算结果也不同
  6. 计算示例

    给定:

    A=(210202),B=(120312) A = \\begin{pmatrix} 2 & 1 & 0 \\\\ 2 & 0 & 2 \\end{pmatrix}, \\quad B = \\begin{pmatrix} 1 & 2 \\\\ 0 & 3 \\\\ 1 & 2 \\end{pmatrix} A=(221002),B=101232

    计算 C11C_{11}C11

    C11=A1∗⋅B∗1=2×1+1×0+0×1=2 C_{11} = A_{1*} \\cdot B_{*1} = 2×1 + 1×0 + 0×1 = 2 C11=A1B1=2×1+1×0+0×1=2

    计算 C12C_{12}C12

    C12=A1∗⋅B∗2=2×2+1×3+0×2=7 C_{12} = A_{1*} \\cdot B_{*2} = 2×2 + 1×3 + 0×2 = 7 C12=A1B2=2×2+1×3+0×2=7

    计算 C21C_{21}C21

    C21=A2∗⋅B∗1=2×1+0×0+2×1=4 C_{21} = A_{2*} \\cdot B_{*1} = 2×1 + 0×0 + 2×1 = 4 C21=A2B1=2×1+0×0+2×1=4

    计算 C22C_{22}C22

    C22=A2∗⋅B∗2=2×2+0×3+2×2=8 C_{22} = A_{2*} \\cdot B_{*2} = 2×2 + 0×3 + 2×2 = 8 C22=A2B2=2×2+0×3+2×2=8

    最终结果:

    C=AB=(2748) C = AB = \\begin{pmatrix} 2 & 7 \\\\ 4 & 8 \\end{pmatrix} C=AB=(2478)

  7. 关键要点

    1. 点积本质:每个元素都是行向量与列向量的点积
    2. 维度匹配:前矩阵列数 = 后矩阵行数
    3. 顺序敏感ABABABBABABA 通常不同
    4. 非标量乘法:矩阵乘法包含求和操作,不是元素对应相乘

风险提示与免责声明
本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。