1 函数的基本设定

函数(更一般地说,映射)用于把一个对象“送到”另一个地方:给定集合 \(A\) 与集合 \(B\),一条规则 \(f\) 会把 \(A\) 中的每个元素对应到 \(B\) 中的某个元素。这里的 \(A\) 被称为定义域,\(B\) 被称为陪域。陪域的引入,确保描述不仅回答“输出是什么”,还回答“输出允许属于哪里”。

1.1 映射与函数的符号化表达

常用记号是 \(f: A \to B\)。它表达了两层信息:其一,输入来自 \(A\);其二,输出被规定落在 \(B\) 中。对同一条规则,也可以因为不同研究目的而被写成不同的箭头形式,例如把输出限制在更小的集合,或把它视为从更大的集合中选取。

1.2 定义域与陪域在表述中的位置

在讨论性质时,定义域与陪域提供了“上下文边界”。同样一条公式可能适用于不同范围:有的输入被允许,有的输出被允许;如果不说明这些边界,诸如“复合是否可定义”“是否可逆”“是否同构”等判断就容易出现歧义

1.3 约定:从何处来、到何处去

一个实用的理解方式是把定义域看作“从哪里来”,把陪域看作“到哪里去(允许去哪里)”。值域则是“实际去了哪里”。这种区分在需要追问“允许性”和“发生性”时尤其重要,例如在构造函数、证明性质或讨论代数结构时。

2 定义域(Domain)

定义域指函数被允许取得输入的集合。它决定了哪些元素能被“送进”函数规则中,从而决定函数在何处是被定义的、在何处是不被要求回答的。

2.1 定义域的直观含义

从直观上说,如果把函数当作一台“处理器”,定义域就是这台处理器接收“合法输入”的范围。超出定义域的元素并不会被声称有输出;因此定义域的选择会直接影响“函数是否存在”“函数是否良定(well-defined)”。

2.2 定义域的构造方式

构造定义域通常有两种常见来源:从表达式本身推导,或由外加条件筛选。

2.2.1 以表达式确定的定义域

例如涉及除法、开方、对数等运算时,表达式往往在某些输入下没有意义。若考虑 \(f(x)=\frac{1}{x}\),那么 \(x=0\) 无法作为输入,因此自然定义域排除 \(0\)。这类定义域主要由“表达式可否被计算”决定。

2.2.2 以约束条件筛选的定义域

有些情形下表达式本身形式上可写,但研究者仍会要求输入满足额外条件,如“仅对整数讨论”“仅对正数讨论”“仅对满足某方程的变量讨论”等。此时定义域不是由算式可计算性单独决定,而是由约束条件共同筛出来。

2.3 定义域对函数良定性的影响

“良定性”强调:对每个定义域内的输入,函数都给出且仅给出一个输出。当定义域选得不当时,可能出现未定义的点,或出现输入落入区域但规则不再产生唯一结果。尤其在分段定义、含参数定义或涉及隐含条件的情形下,定义域说明得越明确,证明就越不容易被反例击穿。

3 陪域(Codomain)

陪域是函数被规定“允许输出落入”的集合。它不一定等于值域:函数可能实际只输出其中一部分元素,但陪域仍用于声明“输出不应超出这个范围”。

3.1 陪域的直观含义

直观地看,陪域像是输出的“目的地清单”。规则 \(f\) 在数学表述中不仅要说明“输出是什么”,还要说明“输出属于哪个集合体系”。当需要讨论是否“覆盖”陪域或是否可逆时,陪域的角色就凸显出来。

3.2 陪域的选择与数学意义

不同的数学问题会鼓励不同的陪域选择。陪域不是随意写的“背景”,而是会影响某些性质表述的真伪。

3.2.1 为研究需求调整陪域

例如研究“哪些元素能被函数命中”,会更关心值域;研究“函数是否把陪域整体覆盖”,则把陪域设为需要被覆盖的目标集合。再如讨论同态时,陪域往往与结构兼容性相关,需要匹配代数运算的封闭性要求。

3.2.2 陪域与“允许输出”的关系

陪域通过 \(f: A\to B\) 给出约束:对任意 \(a\in A\),必须存在某个 \(b\in B\) 满足 \(f(a)=b\)。因此如果某输入会产生落在 \(B\) 之外的结果,那么该箭头标注就不成立,函数本身在该陪域意义下就不被接受或需要重新选择陪域。

3.3 陪域变化导致的性质差异

改变陪域可能改变“满射/非满射”等性质的判定。例如一条规则输出总落在某个子集 \(C\subseteq B\)。若陪域取为 \(B\),函数就可能不是满射;若陪域改为 \(C\),它就可能成为满射。可逆性与同构也常依赖对陪域的精确规定:因为“反向映射”必须以陪域作为它的定义对象。

4 值域与像集:与陪域的区别

值域(range)与像集(image)用于刻画函数实际“落到哪里”。它们共同强调发生性,而陪域强调允许性。

4.1 值域(Range)与像集(Image)的定义

给定 \(f: A\to B\),函数的像集(也常称为值域)通常记为 \[ \operatorname{Im}(f)=\{f(a)\mid a\in A\}, \] 它是 \(B\) 中由函数实际得到的所有输出的集合。注意它自动是 \(B\) 的子集:\(\operatorname{Im}(f)\subseteq B\)。

4.2 为什么陪域不等于值域

陪域 \(B\) 是规则被“允许”使用的输出范围,值域是规则“实际用到”的输出。两者可以相同,也可以不同;当函数并未命中 \(B\) 的某些元素时,值域就会严格小于陪域。若忽略这一区别,容易把“没有发生”误当作“规则不允许”,从而在讨论满射、覆盖或同构时犯错。

4.3 典型例子:同一规则,不同陪域

设规则 \(f(x)=x^2\)。若把它看作 \(f:\mathbb{R}\to\mathbb{R}\),那么值域是 \([0,\infty)\),陪域是 \(\mathbb{R}\),因此它不满射。若改写为 \(f:\mathbb{R}\to[0,\infty)\),陪域变小,值域恰好等于陪域,此时它就可以表现为满射。规则本身没有变,性质结论因陪域设定而不同。

4.4 满射与非满射的语言基础(概念层面)

从概念上,满射对应“值域等于陪域”。若 \(\operatorname{Im}(f)=B\),则每个陪域元素都被实际命中;若 \(\operatorname{Im}(f)\ne B\),则存在陪域中的元素没有被任何输入产生。这里的“等于谁”必须清楚:比较对象是陪域,不是输入集合,也不是原始公式中隐含的某个直觉范围。

5 与代数结构的关系(代数语境下的映射)

在代数中讨论映射时,定义域与陪域不仅是集合层面的边界,还会影响结构运算能否被保持,以及复合、可逆、同态等性质是否成立。

5.1 集合映射到集合:从一般到代数

最一般的映射只关心从 \(A\) 到 \(B\) 的对应关系。但一旦 \(A\) 与 \(B\) 还带有额外代数结构(如群、环、向量空间等),映射往往需要满足与运算相关的兼容条件。此时陪域通常要与结构类型匹配,否则“保持运算”的要求无法表达或不可能成立。

5.2 代数同态中的陪域确定

以同态为例,若讨论的是群同态 \(f:G\to H\),那么陪域必须是某个群 \(H\),以便 \(f\) 能在结构意义下满足关系(例如保持群运算)。更换陪域为不具备同等结构的集合,即使逐点赋值形式上存在,也不再是同态意义下的对象。

5.3 复合映射中的定义域与陪域匹配

复合 \(g\circ f\) 的可定义性依赖匹配:若 \(f:A\to B\) 且 \(g:B\to C\),则复合自然是 \(g\circ f:A\to C\)。若陪域不匹配,例如 \(g\) 的定义域不是 \(B\),复合就无法直接写出,或者需要先进行限制/调整。对复合的严谨表达往往就体现在这一点上。

5.4 可逆映射:定义域、陪域与双射

若存在逆映射 \(f^{-1}\),则它的定义域与陪域会互换:从 \(B\) 回到 \(A\)。因此可逆性常要求 \(f\) 是双射,即既单射又满射。这里“满射到哪里”就是满射到陪域 \(B\),而不是到值域或某个直觉子集。明确陪域能保证双射与可逆的表述不发生偏移。

6 常见误区与澄清

许多混淆来自把“允许性”和“实际性”相互替代,以及在复合或限制时忘记更新边界。

6.1 “定义域=能取到的输入”但忽略约束

有些人会把定义域理解成“某些输入确实会出现”。然而函数描述中定义域应来源于规则被规定的范围与约束条件,而不是来自使用场景的偶然情况。若缺少约束说明,可能导致把未定义的点当作已定义,从而影响证明。

6.2 “陪域=实际输出”造成概念混淆

把陪域当成值域会让“满射”这类性质失去准确含义。因为满射比较的是值域与陪域,而不是与某种直觉范围比较。为了避免误解,通常在表述时应明确写出 \(f:A\to B\) 并区分 \(\operatorname{Im}(f)\subseteq B\)。

6.3 复合与限制时的定义域忘记更新

在构造限制函数时,例如把 \(f:A\to B\) 限制到 \(A'\subseteq A\),得到 \(f_{A'}:A'\to B\)。不少错误来自于把陪域或复合链条中的边界沿用原样,导致“该元素是否允许作为输出”这一点变得模糊。复合同理:\(g\circ f\) 的前提是映射之间的定义域与陪域能对上。

6.4 记号使用的规范(例如 f: A→B)

规范记号可以减少歧义。至少应做到:写出 \(f: A\to B\) 来声明输入与允许输出的集合;在需要时单独讨论值域/像集 \(\operatorname{Im}(f)\)。若只写公式而不写箭头范围,在严谨论证中往往会被要求补全这些信息。

7 相关术语与延伸方向

在更广的视角里,“受限/扩张”“陪域选择”“对象与态射的类比”等概念能帮助理解定义域与陪域为何重要。

7.1 受限函数与扩张函数(限制/延拓思想)

限制(restriction)把定义域缩小;延拓(extension)通常把定义域变大或把映射视为在更大范围上定义。对应地,陪域也可能需要相应调整,以保持输出仍落在允许集合中。此类操作常用来研究“在某范围内成立的性质是否能推广”。

7.2 选择适当陪域的策略

实践中,选择陪域往往服从目标:若目标是研究实际输出范围,通常在语言上强调像集;若目标是验证满射、同构或可逆,需要把陪域设定为性质要对比的对象。合理选择能使命题表述更贴切,也能避免“看起来错了其实是陪域设错了”的情况。

7.3 与范畴论中对象、态射的类比(入门式概念连接)

范畴论把“对象”与“态射”抽象化,态射可以看作保结构的映射。在这个框架里,态射的源(对象)相当于定义域,态射的目标(对象)相当于陪域。尽管范畴论的语境更抽象,入门层面的对应关系依然能帮助理解:为什么复合要匹配源与目标、为什么对象类型决定了态射能否存在。