函数为何不只是“公式”?¶
先备知识¶
需要会使用集合、元素、子集与量词,也会做多项式的基本运算,并能从平面直角坐标系读取图像。高等代数所需的是多项式的基本运算;解析几何所需的是平面直角坐标系与图像读取;Python 没有先备要求。这里的重点不是画出漂亮的曲线,而是把“输入什么、输出落在哪里”说完整。
学习目标¶
完成本单元后,你应能:
- 区分函数、公式、定义域、陪域和值域;
- 写出复合函数并确定它真正的定义域;
- 用定义判定单射、满射与可逆性。
牵引问题¶
同一条公式为什么有时不能定义函数?
公式 \(x\mapsto1/x\) 看起来只有一种写法,但它在 \(\mathbb R\) 上不能给 \(0\) 指定输出,因此不是从 \(\mathbb R\) 到 \(\mathbb R\) 的函数;在 \(\mathbb R\setminus\{0\}\) 上却能定义函数。更进一步,若把它写成
它仍不是满射,因为 \(0\) 没有原像;若陪域改成 \(\mathbb R\setminus\{0\}\),它就成为双射。函数因此不是孤立的公式,而是一条明确的映射:它必须说明允许的输入和承诺的输出范围。
探索与猜想¶
比较下面三个写法:
它们用的是同一公式,但不是同一个函数。\(f\) 不是单射,因为 \(f(1)=f(-1)\);\(g\) 在其定义域上是单射;\(h\) 还是满射,因为每个非负实数 \(y\) 都有原像 \(\sqrt y\)。这说明“公式相同”不足以决定函数的性质,定义域和陪域同样是定义的一部分。
图像也只能记录某个坐标系中已经画出的点,不能替代函数定义。例如图像 \(y=x^2\) 本身没有告诉我们 \(x\) 是全体实数,还是只允许 \(x\ge0\);这两种选择给出不同的函数,且单射性不同。
概念与理论¶
映射、定义域、陪域和值域¶
函数(或映射)\(f:A\to B\) 是一条规则:对定义域 \(A\) 中的每个 \(x\),恰好指定一个 \(B\) 中的元素 \(f(x)\)。\(B\) 称为陪域。实际能够取得的输出组成
称为 \(f\) 的值域或像集。定义域、陪域和对应规则三者缺一不可。公式只是描述规则的一种简洁方式;它还必须在全部定义域上有意义,并且输出属于陪域。
复合函数与可用输入¶
若 \(f:A\to B\)、\(g:B\to C\),则复合函数 \(g\circ f:A\to C\) 定义为
在以公式给出的情形,不能只把符号机械代入;应先把两个映射的定义域和值域写成能复合的形式,再定义复合。例如若公式只在一部分输入上有意义,就先把该部分选为函数的定义域;不能把两个未满足箭头条件的映射直接称为复合函数。
单射、满射与反函数¶
函数 \(f:A\to B\) 是单射,若
它是满射,若对每个 \(y\in B\) 都存在 \(x\in A\) 使 \(f(x)=y\)。既单又满的函数称为双射。只有双射 \(f:A\to B\) 才能定义反函数 \(f^{-1}:B\to A\):每个 \(y\in B\) 恰有一个原像 \(x\),令 \(f^{-1}(y)=x\)。这里 \(f^{-1}\) 不是倒数 \(1/f\)。
例题与迁移¶
例:复合的单射性¶
若 \(f:A\to B\) 与 \(g:B\to C\) 都是单射,证明 \(g\circ f:A\to C\) 是单射。
证明。 任取 \(x_1,x_2\in A\),并设
于是 \(g(f(x_1))=g(f(x_2))\)。由 \(g\) 是单射,得到 \(f(x_1)=f(x_2)\);再由 \(f\) 是单射,得到 \(x_1=x_2\)。这正是 \(g\circ f\) 为单射的定义。\(\square\)
迁移:同一公式,三个不同问题¶
公式 \(x\mapsto1/x\) 在不同的定义域或陪域下代表不同映射:
时它是双射,且自身就是反函数;若改为 \(\mathbb R\setminus\{0\}\to\mathbb R\),它仍是单射却不满射;若写为 \(\mathbb R\to\mathbb R\),则根本不是函数,因为 \(x=0\) 没有输出。处理函数问题的第一步应当是读清箭头两端,而不是马上操作公式。
即时检验与回望¶
- 为什么 \(f:\mathbb R\to\mathbb R\),\(f(x)=\sqrt{x}\) 不是函数?
答案
定义域包含负数,但 \(\sqrt{x}\) 对负实数没有实数值。若把定义域改为 \([0,\infty)\),它才是到 \(\mathbb R\) 的函数。
- 设 \(f:\mathbb R\to[0,\infty)\),\(f(x)=x^2\),\(g:[0,\infty)\to\mathbb R\),\(g(t)=\sqrt t\)。写出 \(g\circ f\) 与 \(f\circ g\) 各自的定义域。
答案
\(f\) 的陪域正是 \(g\) 的定义域,因此 \(g\circ f:\mathbb R\to\mathbb R\),其定义域为 \(\mathbb R\)。另一方面,\(g\) 的定义域为 \([0,\infty)\),所以 \(f\circ g\) 的定义域为 \([0,\infty)\),不能写成以 \(\mathbb R\) 为定义域的复合函数。
- \(x\mapsto x^3\) 作为 \(\mathbb R\to\mathbb R\) 是双射吗?
答案
是。它严格递增,故为单射;对任意 \(y\in\mathbb R\),\(x=\sqrt[3]{y}\) 满足 \(x^3=y\),故为满射。其反函数是 \(y\mapsto\sqrt[3]{y}\)。
回看牵引问题:公式只有在给定定义域与陪域后才构成函数;它们还会改变单射、满射和是否存在反函数这些性质。
习题与答案¶
ex-u-01-01-04-01¶
判断 \(p:\mathbb R\to\mathbb R\),\(p(x)=1/(x-2)\) 是否为函数;若不是,给出最小的定义域修正。
答案
不是,因为 \(x=2\) 时公式没有实数值。把定义域改为 \(\mathbb R\setminus\{2\}\) 后,\(p:\mathbb R\setminus\{2\}\to\mathbb R\) 是函数。
ex-u-01-01-04-02¶
设 \(f:(1,\infty)\to(0,\infty)\),\(f(x)=x-1\),\(g:(0,\infty)\to\mathbb R\),\(g(t)=\ln t\)。写出 \(g\circ f\) 的公式和定义域。
答案
因为 \(f\) 的陪域是 \(g\) 的定义域,复合函数类型为 \(g\circ f:(1,\infty)\to\mathbb R\),且 \((g\circ f)(x)=\ln(x-1)\)。它的定义域已经由 \(f\) 指定为 \((1,\infty)\)。
ex-u-01-01-04-03¶
证明 \(q:[0,\infty)\to[0,\infty)\),\(q(x)=x^2\) 是双射,并写出反函数。
答案
完整解答。 若 \(q(x_1)=q(x_2)\),即 \(x_1^2=x_2^2\),且 \(x_1,x_2\ge0\),则 \(x_1=x_2\),故 \(q\) 单射。任取 \(y\in[0,\infty)\),取 \(x=\sqrt y\in[0,\infty)\),就有 \(q(x)=y\),故 \(q\) 满射。因此 \(q\) 是双射,其反函数为 \(q^{-1}(y)=\sqrt y\)。
ex-u-01-01-04-04¶
给出反例说明:仅给出图像 \(y=x^2\),不能替代函数定义中的定义域。
答案
取 \(f:\mathbb R\to\mathbb R\),\(f(x)=x^2\) 与 \(g:[0,\infty)\to\mathbb R\),\(g(x)=x^2\)。它们在 \(x\ge0\) 的图像部分相同,都可以被口头称作“\(y=x^2\)”,但 \(f\) 不是单射(\(f(1)=f(-1)\)),\(g\) 是单射。因此图像公式不能说明定义域,也不能代替完整函数定义。