Applied PQC 首页 本书 在线演练 博客 @AppliedPQC English

线性代数基础

《应用后量子密码学》本章的全部代码:共 7 段,其中 7 段可在此运行。编辑任意单元格,然后点击运行。

书中的代码片段在一章之内层层相依,但 Sage Cell 内核每次只运行一个单元格,运行后不保留任何状态,因此每个单元格都会用 apqc_book 重放此前的代码。这一调用是在书中原有代码之外唯一添加的内容。

← 在线演练

代码 1:Sage 实验:创建向量

代码 2:向量加法与数乘

代码 3:Sage 实验:通过秩检测线性相关

线性相关可以借助秩(下文给出精确定义)在数值上检测:将这些向量作为行堆叠起来,秩就统计了其中真正线性无关的向量个数。

代码 4:Sage 实验:同一空间的两组基

代码 5:作为线性映射的矩阵

理解矩阵的最佳方式,不是把它看作一张数字网格,而是把它看作线性映射的坐标形式。

[线性映射] 若映射 T: 𝔽^n → 𝔽^m 保持两种运算,则称它是线性的:

一旦取定了基,每个线性映射都由一个 m× n 矩阵 A 通过 T(v)=Av 给出,而每个这样的矩阵也都定义了一个线性映射。

乘积 Av 本身就是一个线性组合:它是以 v 的各分量为权重、对 A 的各列所作的组合。具体地说,结果的第 i 个分量是 A 的第 i 行与 v 的内积,这恰好就是书中的算法中的双重循环。

代码 6:Sage 实验:秩决定可逆性

代码 7:实验