前言

新学期就要开始了,为了更好地迎接新学期,我决定在这段时间多看看数学基础。从我已有的知识出发,首先需要了解的就是抽象代数了,所以我去图书馆借了一本《抽象代数引论》(陈引兰 等 编著)作为参考教材进行学习。当然,我的学习途径不会仅限于教材,我将会以教材为框架,在网上查找各种相关资料进行学习。出于我并不是数学专业,而是抱着一个加强对数学了解,获得一个全新的视角的态度学习,因此我并不会钻研很深,仅仅是理解这些数学思想。所以,我将会整体性地概括一下知识点,便于了解这个领域的作用以及数学思想,专业性可就不能保证了。如果出现谬误还请多多指正。

抽象代数是什么?

从百科上可以查到,抽象代数(Abstract Algebra)又叫近世代数(Modern Algebra)。

抽象代数是把现有的代数系统,如我们知道的布尔代数、线性代数等通过一个统一的方法来描述。一个代数系统由它针对的数的集合和运算符决定。这里我们引入一个叫泛代数,简称代数的概念。我们知道,布尔代数系统针对的数的集合为 B = \lbrace 0, 1 \rbrace,并且存在三个运算符,也就是算子 \lbrace \vee, \wedge, ' \rbrace(或,与,取反)。因此我们就可以将这个代数表示为 (B, \vee, \wedge, ')。我们看到,通过集合和算子,我们就可以描述出一个代数系统。当然,这里我们仅仅是举一个例子引入,详细的讨论还请继续往下看。

总而言之,抽象代数以泛代数的概念为基础,研究几种不同的代数系统分支,如格论、群论、环论等。它提供了一种更抽象、更一般化的方式描述代数体系,带领我们一步步构建出各种代数系统。

格论

首先,我们从 “格” 这个代数系统出发。下面我先附上一个 Wiki 百科链接:格 (数学)

我们在学习线性代数(高等代数)时我们知道,一个向量空间需要满足线性运算,即向量和和向量数乘。下面我们也将通过定义算子的方式构建代数系统。

偏序集

简要来说,偏序集是一个可以比较元素大小的空间。下面我们将从定义一个关系开始,构建这样的一个代数系统。

这里,我们先定义一个二元关系 R 。设 R 是非空集合 A 上的一个二元关系,满足:

\forall x \in A, x R x \qquad \text{(自反性)}\\ x R y, y R x \Rightarrow x=y \qquad \text{(反对称性)}\\ x R y, y R z \Rightarrow x R z \qquad \text{(传递性)}

则关系 R 称为偏序关系。为了方便,我们可以将 R 写作 \le 。但请注意,这里的 \le 是我们为了构建代数系统自己定义的,所以请把之前关于这个小于等于号的记忆忘掉。

R 改为 \le 后,上面的条件可以改写为:

\forall x \in A, x \le x \qquad \text{(自反性)}\\ x \le y, y \le x \Rightarrow x=y \qquad \text{(反对称性)}\\ x \le y, y \le z \Rightarrow x \le z \qquad \text{(传递性)}

是不是看起来友好多了?为了方便理解,我们可以把偏序关系粗略理解为比大小的关系。

对于一个集合 S,我们可以定义一个偏序关系 \le,使得 (S, \le) 成为一个偏序集。下面举一个例子。

设集合 S=\R,定义关系 \le 为实数运算中的小于等于关系,我们可以轻松看出,关系 \le 满足上面的三个条件,因此其为偏序关系, (S, \le) 为偏序集。

但是注意,对于一个偏序集,并不是任意两个元素都可以比大小!特别地,我们将任意两个元素都能比大小的偏序集称为一个链(或有序集,全序集)。

以下图为例,我们可以看到可以根据偏序关系画出一个 Hasse 图。其中每个连接线表示两个元素之间的关系,如在图上,我们观察到上面的8和下面的4连接,代表 4 \le 8。当然,因为偏序关系的传递性,我们也可以得出 1 \le 6, 1 \le 8, 2 \le 8 等命题。其中,下面没有其他数连接的叫做极小元,即1;上面没有其他数连接的叫做极大元。即6与8。唯一的极小(大)元称为最小(大)元,若不唯一,则不存在。也就是说,该偏序集的最小元为1,无最大元。

格也可以理解为一个代数系统。它有两种等价的定义,分别是由偏序集定义和由抽象代数定义,下面着重介绍抽象代数定义。

偏序集定义:

考虑任意一个偏序集L,≤),如果对集合L中的任意元素 a,b,使得 a,b 在 L 中存在最大下界和最小上界,则 (L,≤) 是一个格。

可以看到,格定义两种运算。我们一般将 a, b 间的最大下界算子写作 \vee,最小下界算子写作 \wedge,注意这里箭头方向是反的。因此格可以记作 (L, \vee, \wedge)

抽象代数定义:

包含两个二元运算 \vee\wedge 的非空集合 L 称为格,并满足:

a \wedge a = a, a \vee a = a \qquad \text{(幂等律)}\\ a \wedge b = b \wedge a, a \vee b = b \vee a \qquad \text{(交换律)}\\ (a \wedge b) \wedge c = a \wedge (b \wedge c), (a \vee b) \vee c = a \vee (b \vee c) \qquad \text{(结合律)}\\ a \wedge (a \vee b) = a, a \vee (a \wedge b) = a \qquad \text{(吸收律)}

就这样,我们对一个集合定义了两个运算,这样的代数系统我们称为

还是以上面的 Hesse 图为例,我们举几个运算的例子。

最简单地,如果两个元素可以进行比较,那么它们的上确界 \vee (下确界 \wedge )就是更大(小)的那个元素。如上图中, 4 \vee 2 = 4, 1 \wedge 6 = 1

如果两个元素不能进行比较,但是存在共同上(下)界,那么上(下)确界为最小上界(最大下界)。如 2 \vee 3 = 6, 8 \wedge 7 = 1

如果两个元素不能进行比较,也不存在共同上(下)界,那么上(下)确界不存在。如 6 \vee 8, 5 \vee 7 都不存在。

格之间的关系

下面介绍两种关于格的关系,同构与子格。

同构

和图论类似,同构的定义如下:

L_1L_2 是格,若存在双射 \alpha: L_1 \rightarrow L_2 满足 \alpha(a \vee b) = \alpha(a) \vee \alpha(b), \quad \alpha(a \wedge b) = \alpha(a) \wedge \alpha(b),则 L_1, L_2 同构,记作 L_1 \cong L_2,同时 \alpha同构映射

可以看出,上面 \alpha 满足的条件描述了格的一个整体的偏序关系。并且需要注意的是, \alpha 是一个双射,也就是一一对应。

子格

同样与图论类似,子格的定义如下:

(L, \vee, \wedge) 是一个格, L'L 的非空子集且满足 \forall a, b \in L'a \vee ba \wedge b 与在 L 中是一致的,则 L'L 的一个子格

简单来理解,其实就是从 L 中抽出一部分元素,让这些元素之间保持一致的偏序关系,就是 L 的子格。

几种特殊的格

有界格

有界格的定义如下:

如果一个格具有最大元和最小元,则这个格为有界格。一般我们用 0 表示最小元,用 1 表示最大元。

有界格的一个非常直观的性质如下:

\forall a \in L, \quad a \vee 0 = a, \quad a \wedge 0 = 0, \quad a \vee 1 = 1, \quad a \wedge 1 = a

有补格

\forall a \in L, \exist b \in L, a \vee b = 1, a \wedge b = 0

则 b 为 a 的补元,当然,补元不一定存在,也不一定唯一。可以轻松看出,最大元与最小元一定互补。

如果一个格中每个元素都存在补元,则这个格为有补格

分配格

废话不多说,上公式:

L 为分配格,若满足:

\forall x,y,z \in L, \\ x \wedge (y \vee z) = (x \wedge y) \vee (x \wedge z), \\ x \vee (y \wedge z) = (x \vee y) \wedge (x \vee z).

可以证明,其中上面两个条件等价,但是为了对称性我们还是写两个。

下面有个重要的定理:分配格的元素若有补元,则一定唯一

布尔格

有补分配格称为布尔代数或布尔格。

我们可以轻松想到,布尔格的每个元素都有唯一补元。我们一般使用 a' 来表示 a 的补元。

因此布尔代数我们可以表示为: (L, \vee, \wedge, ')

布尔代数有非常好的性质:

1' = 0, 0' = 1 \\ (a')' = a \qquad \text{(对合性)}\\ a \le b \Rightarrow a' \ge b' \qquad \text{(逆序性)}\\ (a \vee b)' = a' \wedge b', (a \wedge b)' = a' \vee b' \qquad \text{(摩根律)}\\ a \wedge b = 0 \Leftrightarrow a \le b'

泛代数基础

到了现在,我们终于进入了抽象代数的核心:泛代数。

算子

算子是一个代数系统非常重要的要素,下面对算子进行一个叙述。

算子可以理解为一个函数,一个运算等。举个例子,“+” 就是一个算子,“ \vee ” 也是一个算子,一个映射也可以是算子。

如果算子有 n 个自变量,我们称为 n 变元算子。如 ”2 + 3“,这个 “+” 就是一个二变元算子, f(x, y, z) 中的 f 是一个三变元算子。

泛代数

我们通常使用一个数集 A 和一个算子集 F = \{f_1,f_2,...\} 描述一个代数系统 (A, F),其中 (A, F) 是一个泛代数,简称代数。另外,我们把算子集 F 中的所有算子的变元数列出来,称为代数的

举一个例子,对于一个布尔代数 (B, F)F = \{ \vee, \wedge, ', 0, 1 \}。其中 F\vee, \wedge 分别为二元算子, ' 为一元算子, 0, 1 均为零元算子。因此布尔代数 (B,F) 是型 (2, 2, 1, 0, 0) 的代数。

几个代数例子

现在,我们再使用泛代数工具定义一下几个代数系统:

一个格是一个代数 (L, \vee, \wedge) ,其中 \vee, \wedge 都是二元运算且满足:

\begin{align} & x \vee y = y \vee x \\ & x \wedge y = y \wedge x \\ & x \vee (y \vee z) = (x \vee y) \vee z \\ & x \wedge (y \wedge z) = (x \wedge y) \wedge z \\ & x \vee x = x \\ & x \wedge x = x \\ & x = x \vee (x \wedge y) \\ & x = x \wedge (x \vee y). \end{align}

布尔代数

一个布尔代数是一个 (2, 2, 1, 0, 0) 代数 (B, \vee, \wedge, ', 0, 1) ,且满足:

(B, \vee, \wedge) \; \text{是一个分配格} \\ x \wedge 0 = 0, x \vee 1 = 1 \\ x \wedge x' = 0, x \vee x' = 1.

Heyting 代数

一个布尔代数是一个 (2, 2, 2, 0, 0) 代数 (H, \vee, \wedge, \rightarrow, 0, 1) ,且满足:

(H, \vee, \wedge) \; \text{是一个分配格} \\ x \wedge 0 = 0, x \vee 1 = 1 \\ x \rightarrow x = 1 \\ (x \rightarrow y) \wedge y = y, x \wedge (x \rightarrow y) = x \wedge y \\ x \rightarrow (y \wedge z) = (x \rightarrow y) \wedge (x \rightarrow z), (x \vee y) \rightarrow z = (x \rightarrow z) \wedge (y \rightarrow z)