奇数相加变偶数,打破了封闭性,所以不能成群。你掌握得很快!现在,我们来补齐构成“群”的最后两块拼图。
在写代码或者用文本编辑器时,你最常用的快捷键是什么?很大概率是 Ctrl+Z(撤销)。
在群论中,每一个动作,都必须有一个“反动作”能将它撤销,使系统回到原来的状态。 这个“反动作”就叫逆元 (Inverse)。
在正方形旋转的例子中:
如果动作是 R (顺时针转90°),我要怎么撤销它呢?你可以“逆时针转90°”。
但等等!我们之前的集合 { I, R, R², R³ } 里没有定义“逆时针”。那我们在集合里能找到 R 的逆元吗?
当然可以:你只需要继续顺时针转 270° (R³)!
因为 R 组合 R³ = R⁴ = I (回到了原点)。
所以,在我们的集合中,R 的逆元就是 R³;R² 的逆元是它自己 (R²);I 的逆元也是它自己。
任何一个“群”,集合内的每一个元素都必须能在集合内找到自己的逆元。
这是最后一条,也是数学家最觉得理所当然、初学者最容易懵的一条。它讨论的是三个以上动作组合时的“括号”问题。
如果你有三个动作:A,然后 B,然后 C。结合律规定:
在编程的纯函数中,这就相当于:f(g(h(x)))。不管你是先合并函数 g 和 h,还是先合并 f 和 g,只要它们按这个从里到外的顺序执行,结果总是一样的。
注意:结合律并不代表可以交换位置(A组合B 不一定等于 B组合A)。就像在代码里,先排序再取前十名,和先取前十名再排序,结果是不一样的!
现在,你已经集齐了构成“群”的四大公理:
终极拷问:
我们考虑所有整数 {..., -2, -1, 0, 1, 2, ...} 的集合。
如果在整数集合上使用“乘法”作为组合操作。请问,这能构成一个群吗?(提示:从撤销的角度思考,如果乘了一个数,怎么通过乘法撤销回单位元?)