本文属于「离散数学」系列文章之一。这一系列着重于离散数学的学习和应用。由于内容随时可能发生更新变动,欢迎关注和收藏离散数学系列文章汇总目录一文以作备忘。此外,在本系列学习文章中,为了透彻理解数学知识,本人参考了诸多博客、教程、文档、书籍等资料。以下是本文的不完全参考目录,在后续学习中还会逐渐补充:
- (国外经典教材)离散数学及其应用 第七版
Discrete Mathematics and Its Applications 7th
,作者是Kenneth H.Rosen
,袁崇义译,机械工业出版社- 离散数学 第二版,武波等编著,西安电子科技大学出版社,2006年
- 离散数学 第三版,方世昌等编著,西安电子科技大学出版社,2013年
- (经典参考书及其题解)离散数学/离散数学——理论•分析•题解,左孝凌、李为鉴、刘永才编著,上海科学技术文献出版社
- 离散数学习题集:数理逻辑与集合论分册,耿素云;图论分册,耿素云;抽象代数分册, 张立昂。北京大学出版社
5. 集合的笛卡尔积
5.1 序偶/二元组、 n n n 元组、笛卡尔积的定义
定义5.1 由两个元素 a a a 和 b b b 组成的具有固定次序的序列称为序偶 ordered pair
或二元组 ordered 2-tuples
,记为 ⟨ a , b ⟩ \lang a, b\rang ⟨a,b⟩ 。对于序偶 ⟨ a , b ⟩ \lang a, b\rang ⟨a,b⟩ , a a a 称为第1元素, b b b 称为第2元素。
在生活中许多事物是成对出现的,事物出现的不同顺序所表示的意义往往是不同的。有了序偶的概念,我们就可以表达出这样的含义。比如将一趟列车的运行区间用一个序偶的形式表示,如 K126 = <西安,长春>
。同样,平面上横坐标为 x x x 、纵坐标为 y y y 的点可以表示为 ⟨ x , y ⟩ \lang x, y\rang ⟨x,y⟩ , ⟨ 2 , 4 ⟩ \lang 2, 4\rang ⟨2,4⟩ 、 ⟨ 4 , 2 ⟩ \lang 4, 2 \rang ⟨4,2⟩ 就表示了平面上两个不同的点。
定义5.2 两个序偶 ⟨ a , b ⟩ \lang a, b\rang ⟨a,b⟩ 和 ⟨ c , d ⟩ \lang c, d\rang ⟨c,d⟩ 相等,即为 ⟨ a , b ⟩ = ⟨ c , d ⟩ \lang a, b\rang = \lang c, d\rang ⟨a,b⟩=⟨c,d⟩ ,当且仅当 a = c ∧ b = d a = c \land b = d a=c∧b=d 。
定义5.3 设 A A A 和 B B B 是两个集合,称集合 A × B = { ⟨ a , b ⟩ ∣ a ∈ A , b ∈ B } A \times B = \{ \lang a, b\rang\ | \ a \in A, b \in B\} A×B={ ⟨a,b⟩ ∣ a∈A,b∈B}
为 A A A 和 B B B 的笛卡尔积 Cartesian product
或叉集 product set
。
例如, R × R \R \times \R R×R 表示实平面。任取 ⟨ x , y ⟩ ∈ R × R \lang x, y\rang \in \R \times \R ⟨x,y⟩∈R×R , ⟨ x , y ⟩ \lang x, y\rang ⟨x,y⟩ 表示实平面中的一个点。
例1 设 A = ⟨ a , b ⟩ A = \lang a, b\rang A=⟨a,b⟩ , B = ⟨ 0 , 1 , 2 ⟩ B = \lang 0, 1, 2\rang B=⟨0,1,2⟩ , C = ∅ C= \varnothing C=∅ 。求 A × B A\times B A×B、 A × A A\times A A×A、 B × A B\times A B×A、 A × C A\times C A×C 。
解: A × B = { ⟨ a , 0 ⟩ , ⟨ a , 1 ⟩ , ⟨ a , 2 ⟩ , ⟨ b , 0 ⟩ , ⟨ b , 1 ⟩ , ⟨ b , 2 ⟩ } A × A = { ⟨ a , a ⟩ , ⟨ a , b ⟩ , ⟨ b , a ⟩ , ⟨ b , b ⟩ } B × A = { ⟨ 0 , a ⟩ , ⟨ 0 , b ⟩ , ⟨ 1 , a ⟩ , ⟨ 1 , b ⟩ , ⟨ 2 , a ⟩ , ⟨ 2 , b ⟩ } A × C = ∅ \begin{aligned} &A \times B = \{ \lang a, 0\rang , \lang a, 1\rang, \lang a, 2\rang, \lang b, 0\rang , \lang b, 1\rang, \lang b, 2\rang\} \\ &A\times A = \{\lang a, a\rang , \lang a, b\rang , \lang b, a\rang, \lang b, b\rang \} \\ &B\times A = \{ \lang 0, a\rang, \lang 0, b\rang , \lang 1, a\rang , \lang 1, b\rang , \lang 2, a\rang , \lang 2, b\rang \} \\ &A \times C = \varnothing \end{aligned} A×B={
⟨a,0⟩,⟨a,1⟩,⟨a,2⟩,⟨b,0⟩,⟨b,1⟩,⟨b,2⟩}A×A={
⟨a,a⟩,⟨a,b⟩,⟨b,a⟩,⟨b,b⟩}B×A={
⟨0,a⟩,⟨0,b⟩,⟨1,a⟩,⟨1,b⟩,⟨2,a⟩,⟨2,b⟩}A×C=∅
注意,以上序偶和笛卡尔积的概念,可以推广到任意 n n n 个元素和 n n n 个集合上。
定义5.4 由 n n n 个元素 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,…,an 组成的、具有固定次序的序列称为 n n n 元组 ordered n-tuples
,记为 ⟨ a 1 , a 2 , … , a n ⟩ \lang a_1, a_2, \dots, a_n\rang ⟨a1,a2,…,an⟩ 。对于 n n n 元组 ⟨ a 1 , a 2 , … , a n ⟩ \lang a_1, a_2, \dots, a_n\rang ⟨a1,a2,…,an⟩ , a 1 a_1 a1 称为第1元素, a 2 a_2 a2 称为第2元素,依次类推, a i ( 1 ≤ i ≤ n ) a_i\ (1\le i\le n) ai (1≤i≤n) 是该 n n n 元组的第 i i i 个元素。
n n n 元组可以看成是一个二元组(类似于元组的递归定义),规定 ⟨ a 1 , a 2 , … , a n ⟩ = ⟨ ⟨ a 1 , a 2 , … , a n − 1 ⟩ , a n ⟩ \lang a_1, a_2, \dots, a_n\rang = \lang \lang a_1, a_2, \dots, a_{n - 1}\rang, a_n\rang ⟨a1,a2,…,an⟩=⟨⟨a1,a2,…,an−1⟩,an⟩ ,其中第一元素是 n − 1 n - 1 n−1 元组。例如 ⟨ x , y , z ⟩ \lang x, y, z\rang ⟨x,y,z⟩ 代表 ⟨ ⟨ x , y ⟩ , z ⟩ \lang \lang x, y\rang, z\rang ⟨⟨x,y⟩,z⟩ 、而不代表 ⟨ x , ⟨ y