数学表达式: 从恐惧到单挑 (2. 集合的表示与运算)

2. 集合的表示与运算

  • 集合论是数学的基础, 更是计算机的基础.
  • 这次不玩集合悖论.
  • 集合元素无序.
  • 默认情况下, 集合元素不可重 (组合数学中有可重集的概念).

2.1 集合的表示

  • 枚举法
    A = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } \mathbf{A} = \{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\} A={0,1,2,3,4,5,6,7,8,9} 是阿拉伯数字的集合.
    N = { 0 , 1 , 2 , …   } \mathbb{N} = \{0, 1, 2, \dots \} N={0,1,2,} 是自然数的集合.
    Ω = { a , b , … , z } \mathbf{\Omega} = \{\textrm{a}, \textrm{b}, \dots, \textrm{z}\} Ω={a,b,,z} 是英文字母表, 我故意把字母写成非斜体的, 表示不是变量. 未加 $ 符号的表达式为 \mathbf{\Omega} = {\textrm{a}, \textrm{b}, \dots, \textrm{z}}. 有时 \Omega 之外没有加 \mathbf, 作为希腊字母影响没有英文字母的大.

  • 向量、集合等,可以用粗体 \mathbf{x} ( x \mathbf{x} x), \bm{x} ( x \bm{x} x), \boldsymbol{x} ( x \boldsymbol{x} x). 全文统一即可. 西瓜书用的应该是 mathbf.

  • 枚举法的几种简记

    • 如果是两个整数之间的枚举集合, 可以使用简记 [ 1..10 ] = { 1 , 2 , … , 10 } [1..10] = \{1, 2, \dots, 10\} [1..10]={1,2,,10}, 也可以使用变量如 [ i . . j ] [i..j] [i..j]. 注意这里是两个点, 而不是 3 个点的 \dots. 注意, 这里两个点多见于 Pascal 语言. 更多内容见 https://baike.baidu.com/item/区间/1273117.
    • 开区间 (3, 5) 表示大于 3, 小于 5 的所有实数. 闭区间 [3, 5] 表示大于或等于 3, 小于或等于 5 的所有实数. 这是基础数学的内容, 不仅限于离散数学的范畴.
    • X = { x i } i = 1 n = { x 1 , x 2 , … , x n } \mathbf{X} = \{x_i\}_{i = 1}^n = \{x_1, x_2, \dots, x_n\} X={xi}i=1n={x1,x2,,xn} 表示集合有 n n n 个元素. 式子源码为 \mathbf{X} = \{x_i\}_{i = 1}^n = \{x_1, x_2, \dots, x_n\}. 不写 x_2 其实也没有影响.
  • 谓词法
    奇数的集合可表示为
    O = { x ∣ x ∈ N , x m o d    2 = 1 } = { x ∈ N ∣ x m o d    2 = 1 } \mathbf{O} = \{x | x \in \mathbb{N}, x \mod 2 = 1\} = \{x \in \mathbb{N}∣x \mod 2 = 1\} O={xxN,xmod2=1}={xNxmod2=1}.
    第一种表示法最基础, 将元素形式放在竖线左边, 元素满足的条件放在竖线右边. 第二种表示法较常用, 将基本限制放在竖线左边, 提升颜值.

  • 常用集合
    实数 R \mathbb{R} R: 源码 \mathbb{R}. 有的地方也写成 R \mathcal{R} R \mathcal{R}, 总觉得没这个好看.
    有理数 Q \mathbf{Q} Q: 源码 \mathbf{Q}.

  • 平凡子集
    空集 ∅ \emptyset , 源码: \emptyset. 如果写成 ϕ \phi ϕ (源码: \phi) 就错了.
    全集 (universe) U \mathbf{U} U, 这个一般在离散数学中使用.

2.2 元素与子集

  • x ∈ X x \in \mathbf{X} xX 表示元素与集合的关系. 源码: x \in \mathbf{X}.
  • A ⊆ B \mathbf{A} \subseteq \mathbf{B} AB 表示集合与集合之间的关系. 源码: \mathbf{A} \subseteq \mathbf{B}.

2.3 集合的运算

  • 集合的基数
    ∣ X ∣ \vert \mathbf{X} \vert X 是指 X \mathbf{X} X 中元素个数, 其源码为 \vert \mathbf{X} \vert 或者 |\mathbf{X}|, 其实我也不清楚 \vert 和竖线的效果有什么区别. ∣ ∅ ∣ = 0 \vert \emptyset \vert = 0 =0.

  • X ∪ Y \mathbf{X} \cup \mathbf{Y} XY 表示两个集合的并. 源码为 \mathbf{X} \cup \mathbf{Y}.
    ⋃ i = 1 n X i \bigcup_{i = 1}^n \mathbf{X}_i i=1nXi 表示 n n n 个集合的并. 源码为 \bigcup_{i = 1}^n \mathbf{X}_i.
    其方式与 ∑ i = 1 n i = 1 + 2 + ⋯ + n = n ( n + 1 ) 2 \sum_{i = 1}^n i = 1 + 2 + \dots + n = \frac{n (n + 1)}{2} i=1ni=1+2++n=2n(n+1) 一致. 源码为 \sum_{i = 1}^n i = 1 + 2 + \dots + n = \frac{n (n + 1)}{2}.

  • X ∩ Y \mathbf{X} \cap \mathbf{Y} XY 表示两个集合的交. 源码为 \mathbf{X} \cap \mathbf{Y}. cup (杯子) 与 cap (帽子), 果然很形象.
    ⋂ i = 1 n X i \bigcap_{i = 1}^n \mathbf{X}_i i=1nXi 表示 n n n 个集合的交. 源码为 \bigcap_{i = 1}^n \mathbf{X}_i.

  • X ∖ Y \mathbf{X} \setminus \mathbf{Y} XY 表示两个集合的差. 源码为 \mathbf{X} \setminus \mathbf{Y}. 一看 setminus 就知道是专门为集合设计的. 有些人喜欢用减号, 就显得不够专业了.

  • X ‾ = U ∖ X \overline{\mathbf{X}} = \mathbf{U} \setminus \mathbf{X} X=UX 表示 X \mathbf{X} X 的补集, 这里 U \mathbf{U} U 为全集. 源码为 \overline{\mathbf{X}} = \mathbf{U} \setminus \mathbf{X}.
    有时候式子复杂了用 overline 比较难看, 也可以使用 ¬ X \neg \mathbf{X} ¬X, 源码 \neg \mathbf{X}. 但 \neg 是逻辑运算的符号, 表示"非", 只能是凑合用吧.

2.4 幂集

幂集 (power set) 表示为: 2 A = { B ∣ B ⊆ A } 2^{\mathbf{A}} = \{\mathbf{B} \vert \mathbf{B} \subseteq \mathbf{A}\} 2A={BBA}, 源码: 2^{\mathbf{A}} = \{\mathbf{B} \vert \mathbf{B} \subseteq \mathbf{A}\}.
例: A = { 0 , 1 , 2 } \mathbf{A} = \{0, 1, 2\} A={0,1,2}, 则 2 A = { ∅ , { 0 } , { 1 } , { 2 } , { 0 , 1 } , { 0 , 2 } , { 1 , 2 } , { 0 , 1 , 2 } } 2^{\mathbf{A}} = \{\emptyset, \{0\}, \{1\}, \{2\}, \{0, 1\}, \{0, 2\}, \{1, 2\}, \{0, 1, 2\}\} 2A={,{0},{1},{2},{0,1},{0,2},{1,2},{0,1,2}}.
可以数一下
∣ 2 A ∣ = 2 ∣ A ∣ = 2 3 = 8 \vert 2^{\mathbf{A}} \vert = 2^{\vert \mathbf{A} \vert} = 2^3 = 8 2A=2A=23=8. 源码: \vert 2^{\mathbf{A}} \vert = 2^{\vert \mathbf{A} \vert} = 2^3 = 8. 从基本的组合数学知识可知, 一个集合元素 n n n 个元素要么选, 要么不选, 相当于 n n n 位二进制数, 所以有 2 n 2^n 2n 种可能. 这也是幂集的来由.

  • B ⊆ A \mathbf{B} \subseteq \mathbf{A} BA B ∈ 2 A \mathbf{B} \in 2^{\mathbf{A}} B2A 等价, 后者看起来把简单问题复杂化, 但在一些特殊情况下有用.
  • 一般而言, 只讨论有穷集的幂集. 如果你闲得慌, 可以思考下
    ∣ 2 N ∣ = ∣ R ∣ \vert 2^{\mathbb{N}} \vert = \vert \mathbb{R} \vert 2N=R, 即 2 的可数无穷次方为一阶不可数无穷.

2.5 笛卡尔积

笛卡尔积表示为
A × B = { ( a , b ) ∣ a ∈ A , b ∈ B } \mathbf{A} \times \mathbf{B} = \{(a, b) \vert a \in \mathbf{A}, b \in \mathbf{B}\} A×B={(a,b)aA,bB}.
源码 \mathbf{A} \times \mathbf{B} = \{(a, b) \vert a \in \mathbf{A}, b \in \mathbf{B}\}.

  • 相当于一个集合出一个元素, 组成一个新的元素对.
  • 元素对是有序的, ( a , b ) ≠ ( b , a ) (a, b) \ne (b, a) (a,b)=(b,a), 因此 A × B ≠ B × A \mathbf{A} \times \mathbf{B} \ne \mathbf{B} \times \mathbf{A} A×B=B×A. 源码 \mathbf{A} \times \mathbf{B} \ne \mathbf{B} \times \mathbf{A}. 其中, \ne 是 not equal 的简写, 也可写成 \neq.
  • ∅ × B = ∅ \emptyset \times \mathbf{B} = \emptyset ×B=, 因为空集没法出元素.
  • 对于有穷集合 (咱们做计算的就别再去想无穷了) ∣ A × B ∣ = ∣ A ∣ × ∣ B ∣ \vert \mathbf{A} \times \mathbf{B} \vert = \vert \mathbf{A} \vert \times \vert \mathbf{B} \vert A×B=A×B. 当这两个元素有一个为空集是, 本式也成立.
  • 一维数据所在的空间为 R \mathbb{R} R, 二维数据的空间为 R × R = R 2 \mathbb{R} \times \mathbb{R} = \mathbb{R}^2 R×R=R2, 三维数据的空间为 R 3 \mathbb{R}^3 R3, n n n 维数据的 R n \mathbb{R}^n Rn.

2.6 作业

  • A = { 3 , 5 } \mathbf{A} = \{3, 5\} A={3,5}, 写出 2 A 2^{\mathbf{A}} 2A.
  • 展开 2 ∅ 2^{\emptyset} 2.
  • A = { 5 , 6 , 7 , 8 , 9 } \mathbf{A} = \{5, 6, 7, 8, 9\} A={5,6,7,8,9}, 写出 A \mathbf{A} A 的其它两种表示法.
  • 使用 markdown 模式写 CSDN 贴子, 根据提供的源码将相应表达式写出来.
    提示: markdown 模式写表达式的源码与 Latex 比较一致 (估计就是从后者学习的), 仅在少数地方不同. 这里抄会了, 就为以后写论文就扫除了重要障碍.
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值