Learning 群论 (Group Theory) 基础与抽象思维 Course index

第二课:组合与“恒等函数”

你说的非常棒!在群论中,我们不关心动作的过程,只关心动作引发的状态变化。如果转360度和什么都不做导致的结果完全一样,那它们在数学上就是相等的。

用程序员的话说,这有点像两个纯函数虽然内部实现不同,但只要对所有相同的输入都产生相同的输出,我们就认为这两个函数在功能上是等价的。

第一公理:单位元 (Identity)

在我们的正方形旋转集合 { I, R, R², R³ } 中,存在一个特殊的动作 I(什么都不做)。

无论你把 I 和其他什么动作结合,都不会改变那个动作的结果:
R 接着做 I = R
I 接着做 R² = R²

在编程中,这对应着恒等函数 (Identity Function) const I = x => x,或者是数字加法中的 0,乘法中的 1,字符串拼接中的空字符串 ""

任何一个“群”,都必须拥有一个单位元。

第二公理:封闭性 (Closure)

群论研究的不仅仅是单个动作,更是动作的组合。当我们说“组合”时,意思是先执行一个动作,再执行另一个动作。

R (转90°)
+
R² (转180°)
=
?

如果你先转了 90度,接着再转 180度,总共转了 270度。也就是说 R + R² = R³

如果你先转了 180度,再转 180度,总共转了 360度,也就是回到了起点。所以 R² + R² = I

你会发现一个神奇的现象:在这个集合里,你任选两个动作进行组合,得到的新动作,依然在这个集合 { I, R, R², R³ } 里面! 你永远不可能通过旋转组合出一个“平移”或者“翻转”来。

这种性质,在数学上被称为封闭性 (Closure)。就像你在强类型语言中,把两个整数相加,结果肯定还是整数,不会突然跑出一个布尔值。

小测试

假设我们有一个集合,里面包含了所有的奇数 {..., -3, -1, 1, 3, 5, ...}
我们的组合操作是“加法”。请问,这个集合在“加法”操作下,满足群论的封闭性吗?

导师寄语:群的定义只有四条规则,现在我们已经搞定了两小条:有单位元、封闭。做完上面的测试,去和导师聊聊吧!