单射与满射
一个函数把输入送到输出。若两个不同输入得到同一个结果,观察结果就不能反推是哪一个输入;若有些允许的输出永远到不了,函数就没有覆盖整个目标集合。单射与满射分别把这两件事说清楚,而双射要求两者同时成立。判断之前必须写明函数的定义域和陪域;只给公式 还不够。
两种“没有遗漏”不是一回事
设 。单射(一对一)要求 即不同输入不会撞到同一输出。与它等价的逆否表述是 。若要证明一个函数不单射,只需找两个不同输入有相同输出。
满射(映上)要求对每个 ,至少存在一个 使 。换言之,实际像集 恰等于陪域 。单射看的是每个输出至多有几个原像,满射看的是每个陪域元素至少有几个原像;两者一起才让每个输出恰有一个原像。
图中 、,规定 。 都被达到,所以满射; 却有 ,所以不单射。反过来,若只把两个输入 分别送到三个输出 中的 ,它单射,但由于 没有原像而不满射。
同一个公式,换范围就换性质
平方函数给出很好的对照。需要把每一行的定义域与陪域一起读:
| 函数 | 单射? | 满射? | 核对 |
|---|---|---|---|
| 否 | 否 | ;负数到不了 | |
| 否 | 是 | 每个非负数有平方根,但正数有正负两个原像 | |
| 是 | 是 | 非负区间上 严格递增,每个非负数恰有一个原像 |
第一行改成第二行,公式和实际取到的值都没有变,只把陪域缩到像集,满射性就改变了。第二行改成第三行,则把定义域限制到非负部分,碰撞 消失。此时函数成为双射,其逆函数是 ;若仍允许负输入,不能把“”当作通常意义下的单值逆函数。
有限集合的计数限制
若有限集合 有 个元素、 有 个元素,单射 必须满足 。证明只需数像:单射让 个输入有 个互不相同的输出,而 只有 个位置。满射则必须满足 ,因为要覆盖 个目标,至少需要 个输入。这是抽屉原理的一种函数表达。
特别当 时,单射必满射,满射也必单射;从 个位置中选出 个不同位置,就已经占满了所有位置。有限二字不能漏:自然数上的 对自然数集单射,却不是满射,因为起始的那个自然数没有原像。
可逆性与模型辨识
函数 有一个定义在整个 上的双侧逆 ,满足 和 ,当且仅当 是双射。若有双侧逆, 时左右作用 得 ,故单射;对每个 又有 ,故满射。反过来,双射确保每个 恰有一个原像,把它定义为 即得逆函数。
在逆问题与可辨识性里,前向模型 的单射性决定理想观测能否唯一确定参数。这里通常更关心对实际可能观测集合是否单射,而不是强求所有数学上写出的 都能由模型产生。若有测量噪声,即使映射单射,还需用条件数检查反演稳定性。
参考资料与相关词条
- MIT 6.042J《Mathematics for Computer Science》,§13.1,单射、满射、双射与有限集合计数。
- OpenStax《Precalculus 2e》§1.7,限制定义域与逆函数。
- 先修:集合、函数、函数的定义域与值域;相关:双射、反函数、抽屉原理。