1. 拓扑空间的定义¶
1.1. 集合的结构¶
当我们有一个集合 \(X\) ,里面有元素 \(x_1, x_2, \dots, x_n\) . 我们可以研究这个集合的什么性质呢?在集合论中提到,我们可以研究这个集合的基数,即元素的个数。然后呢?我们还要研究什么?
我们往往还想了解元素之间的关系,哪些元素关系近,哪些元素关系远。比如我们把全校所有学生作为一个集合,我们知道其中一些学生是同一专业的,这些学生关系比较近。我们应该如何形式化表达这样的结构。
一种思路是定义一个距离函数 \(d\) , 距离函数输入是集合中的两个元素,输出可以是一个实数,实数的大小表示两个元素距离的远近。
对于距离函数,我们马上发现有很多不方便的地方。假如集合中的元素不是数;我们如何定义输出实数的值,等等问题。
拓扑找到了一种更一般的方法定义集合上的结构。如果 \(x_1, x_2\) 有关系,我们可以再定义一个集合 \(\{x_1, x_2\}\) . 这个集合是全集 \(X\) 的子集。同理, \(X\) 的其他子集表现了其他元素的关系,如 \(\{x_2, x_3, x_4\}\) 表示 \(x_2, x_3, x_4\) 这三个元素是有关系的。这样,我们合理地选择 \(X\) 的一部分子集,就能把 \(X\) 上的结构表达清楚。对于这些子集,我们可以让它们组成一个集合,成为 子集族 ,记作 \(\tau\) . 如 \(\tau = \{\{x_1, x_2\}, \{x_2, x_3, x_4\}, \dots\}\)
这样我们仅通过集合就定义了 \(X\) 上的结构。在上述的构造过程中,我们发现我们能随便选择子集作为 \(\tau\) 中的元素。但对于拓扑结构,我们要求选择的子集具有一定的性质。即对于拓扑学,我们只研究全集 \(X\) 的一部分结构。下面我们看看拓扑结构是什么样的。
1.2. 拓扑的定义¶
设 \(X\) 是一个非空集合,记 \(2^X\) 是 \(X\) 的 幂集 ,即以 \(X\) 的所有子集(包含空集 \(\phi\) 和 \(X\) 自己)为成员的集合。把 \(2^X\) 的子集(即以X的一部分子集为成员的集合)成为 \(X\) 的子集族。
- 定义
设 \(X\) 是一非空集合, \(X\) 的一个子集族 \(\tau\) 称为 \(X\) 的一个拓扑,如果它满足:
- \(X, \phi\) 都包含在 \(\tau\) 中;
- \(\tau\) 中任意多个成员的并集仍在 \(\tau\) 中;
3. \(\tau\) 中有限多个成员的交集仍在 \(\tau\) 中。 集合 \(X\) 和它的一个拓扑 \(\tau\) 一起称为一个 拓扑空间 ,记作 \((X, \tau)\) .称 \(\tau\) 中的成员为这个拓扑空间的 开集 。
初学者肯定疑问这三个条件是如何得到的。这里只能说,对于数学的发展,很多概念是反反复复确定下来的。可能存在另外的条件,但是那些条件要么不是很有趣,得不到有用的结论,要么就是人类还没发现。总之,对于这个定义,我们只能先暂时接收,看看这样的条件可以得到哪些结论。
1.3. 开集与闭集¶
读者可能已经发现,在这个定义中,我们定义的开集。没错,我们熟悉的开集就是这里定义的。对于一维欧几里得空间,开集就是开区间的并集,当然,一个开区间也是开集。那么自然会问,欧式空间是拓扑空间,答案是肯定。(欧式空间是很复杂的,我们之后再详细介绍)。
有了开集,那我们如何定义闭集呢。很简单,开集的补集就是闭集。这里求补集是对于全空间X求补集。
Note
开集和闭集相交并不是空的,有些集合既属于开集也属于闭集,如空集,由条件1,空集是开集。同时由条件1,全集是开集,全集的补集空集为闭集。故空集既是开集也是闭集。同理全集既开也闭。
这里我们简单地用开区间理解一下条件2和条件3. 为什么条件2是任意并,条件3是可数交。 首先对于开集,我们发现开集的任意并还是开区间的并,仍然是开集。可是,开区间的任意交可能交出闭集。如 \(\bigcup_{n=1}^\infty (-\frac{1}{n}, 1) = [0, 1)\) .当可数交则不会产生这样的问题。其实对于条件3,可数交是开集等价于任意两个开集的交仍是开集。
Note
对于拓扑空间的性质和结论,我们可以将欧式空间作为一个例子直观地感受一下。但拓扑空间是一种一般化的空间,在学习过程中应该更关注自身的逻辑。
1.4. 总结¶
拓扑空间 子集族 幂集 开集 闭集