Skip to content

定义Definition

双射

施工中 · 内容逐步修订

Bijective function · One-to-one correspondence

让每个陪域元素恰有一个原像、等价于存在唯一双侧逆函数的映射。

形式陈述 ​

设 f:A→B 是函数。若它同时是单射和满射,就称 f 为双射,也称一一对应。两项要求合并后可写成

∀b∈B∃!a∈A: f(a)=b.

符号 ∃! 表示“存在且唯一”。也就是说,每个声明的输出位置都恰好有一个输入与之配对:满射保证至少一个,单射保证至多一个。等价地,每个纤维 f−1[{b}] 都是单元素集。

双射还可以用往返操作刻画。记 idA(a)=a 为恒等函数,g∘f 表示先 f 后 g 的复合。双射等价于存在函数 g:B→A,使

g∘f=idA,f∘g=idB.

此时 g 唯一,称为 f 的逆函数,记作 f−1。这里是同一个函数在两个方向上都把复合还原成恒等映射;只验证一个等式还不够。

直觉

想象将两组对象配对。单射禁止两个输入挤到同一个输出,满射禁止某个输出无人对应;双射则让两边每个对象恰好出现在一对中。因此,双射建立的不只是“可以从左边走到右边”,还有“到右边以后知道唯一应该怎样回来”。

例如 f:Z→2Z,f(n)=2n,把每个整数配给唯一的偶数;反向规则是 f−1(m)=m/2。虽然偶数是整数的真子集,两者仍能一一配对。这说明无限集合的“相同大小”不能只靠是否真包含来判断,而可以由双射精确表达。

双射依赖整个映射的定义域和陪域。x↦ex 从 R 到 R 不是满射;把陪域换成 (0,∞),它就成为以 log 为逆的双射。改变陪域不是修改同一个结论的说法,而是在改变所讨论的带类型映射。

例子与边界

逆函数为什么恰好刻画双射 ​

先设 f 是双射。对每个 b∈B,把唯一满足 f(a)=b 的 a 定为 g(b)。唯一性使这个规则确实定义一个函数。按构造,f(g(b))=b;而 f(a) 的唯一原像就是 a,所以 g(f(a))=a。

反过来,若 g 满足两个复合等式,当 f(a)=f(a′) 时,对两边应用 g 即得 a=a′,因此 f 单射;对任意 b∈B,等式 f(g(b))=b 又给出了一个原像,因此 f 满射。若 h 也是逆,则

g=g∘(f∘h)=(g∘f)∘h=h,

所以逆不可能有两个。

这里不需要选择公理:每个 b 对应的原像已经唯一,不存在“从若干候选中任选一个”的步骤。

单侧可逆还不够 ​

取 N0={0,1,2,…},令

f(n)=n+1,g(n)=max{n−1,0}.

有 g(f(n))=n,但 f(g(0))=1≠0。因此 g 是 f 的左逆,却不是双侧逆。这个例子同时显示:自映射即使能够无损地撤销一次前向操作,也可能漏掉陪域中的某些值。

若 A,B 都有 n 个元素,单射使 n 个输入占据 n 个不同输出,因而不会剩下未覆盖的目标。反过来,若满射却有两个输入碰撞,n 个输入最多占据 n−1 个输出,与覆盖全部 n 个目标矛盾。因此,同样大小的有限集之间,单射与满射等价。空集情形两者都成立;无限集则不能使用上述有限位置计数,后继映射就是反例。

从 ∅ 到 ∅ 的唯一函数是双射。若仅一边为空,另一边非空,则不可能有双射;这与“每个成员都恰好配对一次”完全一致。

双射不自动保留额外结构 ​

f:R→R,f(x)=x3 是双射,但 f(1+1)=8≠f(1)+f(1)=2,所以它不是加法群的同构。对某种结构谈同构,还要检查映射和逆映射是否满足该结构要求。

这种双向检查在拓扑中特别清楚。映射

f:[0,2π)→S1,f(t)=(cos⁡t,sin⁡t)

连续且双射,却不是同胚:取 tn=2π−1/n(n≥1),则 f(tn)→(1,0)=f(0),但逆像序列 tn 不趋于 0。集合层面的唯一配对,没有保证反向映射连续。

另一个较细的基础区别是:“已有一个单射 A→B,另有一个满射 A→B”不等于“同一个映射同时满足两项性质”。在采用选择公理的通常背景下,可以从那个满射选出右逆 B→A,再用Cantor–Schröder–Bernstein 定理得到双射;不采用选择公理时,这一步不能不加说明地使用。双射自身的逆则始终由唯一性直接决定。

推论与应用

若 f:A→B 与 g:B→C 都是双射,则 g∘f 也是双射,并且

(g∘f)−1=f−1∘g−1.

撤销组合操作时顺序反转:先撤销最后一步 g,再撤销 f。把这个候选逆分别放在复合两侧,就能用结合性和单位律验证结论。

在有限计数中,双射把“直接数起来困难的对象”变成“容易计数的编码”。例如先给一个 n 元集的元素固定顺序 a1,…,an,再把子集编码成长为 n 的 0–1 串:第 i 位为 1 当且仅当选入 ai。若顺序为“红、绿、蓝”,子集 {红,蓝} 编为 101;从 101 又恰好选回红和蓝。

一般地,编码后再解码保留了每个元素是否属于子集的信息,解码后再编码也逐位恢复原串。这两次往返证明了双射。每一位独立有两个选择,串数为 2n,故子集数也是 2n。当 n=0 时,空集只有一个子集,对应唯一的空串,公式仍给出 20=1。

更一般地,双射可以把定义或结构从一组对象搬到另一组对象上。例如通过双射 f:A→B,可以把 A 上的运算 ∗ 搬成 b⋆c=f(f−1(b)∗f−1(c))。这样得到的结构保留相应代数规律,是因为它按双向还原的方式被定义;任意已有的 B 上运算则未必与之相容。

参考资料
  • Oscar Levin,Discrete Mathematics: An Open Introduction,第 3 版,2019,§0.4 Functions:一一对应、可逆性及有限计数。
  • Daniel J. Velleman,How to Prove It: A Structured Approach,第 3 版,Cambridge University Press,2019,第 5–6 章:逆函数、双射与无限集合的基数。
  • James R. Munkres,Topology,第 2 版,Prentice Hall,2000,§18:连续函数与同胚,特别是连续双射和同胚的区别。
关系图谱316 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置
类型化关系