映射 f:A→B 与像、原像、复合、逆
映射(也叫函数)
给定义域 A 的每一个元素,指定陪域 B 中唯一一个去处。关键词是「每个」与「唯一」:A 里不能有元素没箭头,也不能一个元素射出两条箭头。由此展开四件事——子集的像 f(S) 与原像
、像与原像对并 / 交 / 补的保持性、把两个映射接起来的复合 g∘f、反向的逆映射
,最后数一数
一共有多少个映射。
1 · 箭头、像与原像
输入定义域 A 与陪域 B(自然数),再给 A 的每个元素填一个 B 里的去处,即定义了 f。在 S 框输入源子集,右侧像 f(S)(强调色)亮起;在 T 框输入目标子集,左侧原像
(绿色)亮起。
三个和「像 / 原像」紧扣的概念:
- 单射(injective)——不同的源去往不同的落点(没有两条箭头指向同一个落点)。
- 满射(surjective)——
B里每个元素都被命中,即像f(A) = B(此时B无「空位」)。 - 双射(bijective)——既单又满,
A与B恰好一一配对,这正是比较基数用的那种对应。
2 · 像与原像:谁保持并 / 交 / 补
映射把集合运算「搬」过去时并不对称:原像
完美保持并、交、补(三者一律取等号);而像 f 只保并、不保交——一般只有
。下表左列比较
与
,右列比较
与
(∘ 取该行的运算)。把 f 换成单射,像那列的交也会恢复等号——这正是「像保交 ⟺ f 单射」。
直觉:原像是「逆着箭头找来源」,每个源的去处唯一,故「先做运算再找来源」与「先各自找来源再做运算」结果一致——并、交、补都不走样。像是「顺着箭头看落点」,多个源可能挤到同一个落点;
与
即便无公共元素,它们的像仍可能相交,于是
(可能为空)撑不满
。唯有 f 单射、落点不再挤,等号才回来。
3 · 复合 g∘f:把两个映射接起来
给
与
,先用 f 再用 g,就得到复合映射
,其中 (g∘f)(x) = g(f(x))。点 A 中任一元素,追踪它经 f 落到 B、再经 g 落到 C 的两段路径。
复合对单 / 满的传递并不对称:两段都单射,合成必单射;两段都满射,合成必满射。但反过来只能推出「靠近输出的一半」——g∘f 单射只能保证 f 单射,g∘f 满射只能保证 g 满射。用「g∘f 满,但 f 非满」那个预设可直接观察:合成已铺满
C,f 却漏了 B 中的元素。
4 · 逆映射 f⁻¹:把箭头反过来
把 f 的箭头整体反向,得到从 B 回 A 的对应。它能否成为一个合格的映射
,取决于 f 是不是双射:非单射 → 某落点反向后一对多(违反「唯一」);非满射 → 某 B 元素反向后没有来源(违反「每个」)。切换正向 / 反向对照观察。
只有双射才有逆映射,且此时
、——来回一趟回到原点。注意区分:这里的
(逆映射,只在双射时存在)与上文原像
是两回事——原像对任意映射都有定义,它作用在子集上、返回一个子集,不要求 f 可逆。
5 · 数一数:A→B 有多少个映射
设 m = |A|、n = |B|。定义一个映射,就是给 A 的每个元素独立挑一个 B 中去处,故全体映射共
个。再按单 / 满 / 双加约束,个数分别落到下降阶乘、Stirling 第二类数 S(m,n)(见枚举划分)乘 n!、以及 n! 上。拖动滑块改 m、n,公式与个数即时重算。
三条线索都在这张表里:全体映射
增长最快;单射要求去处互不相同,可选数逐个递减,得下降阶乘
(m > n 时为 0,鸽巢原理);满射数
里,S(m,n) 先把 m 个源分成 n 个非空组(对应 B 的 n 个像),n! 再把这些组配到 B 的具体元素上;双射只在 m = n 时存在,恰 n! 个,正是单射与满射在 m = n 处的交汇。
6 · 相关链接
- Function (mathematics) — en.wikipedia.org — 映射的严格定义(定义域 / 陪域 / 值域),以及它作为 特殊子集的观点。
-
Image & preimage — en.wikipedia.org — 像
f(S)与原像 的定义,及其对并 / 交 / 补的保持性质。 - Function composition — en.wikipedia.org — 复合
g∘f的定义、结合律,以及单 / 满 / 双在复合下的传递。 - Injection, surjection, bijection — en.wikipedia.org — 单射 / 满射 / 双射的判定与互相关系,以及逆映射的存在条件。
- Twelvefold way — en.wikipedia.org — 从「把球放进盒子」统一数各类映射(全体 / 单射 / 满射)的计数框架。