第 1 章讲述了欧拉如何在 1734 年发明 $f(x)$,函数又如何变成一个带空格的句子(欧拉与函数)。这一篇看的是给函数命名的各种方式,以及每一种带来的混淆。

函数与它的值

比较两句话:

  • “函数 $f$ 是递增的”;
  • “当 $x>0$ 时,$f(x)$ 是正的”。

在第一句里,$f$ 是整个函数,是规则,是可以求导、复合、画图的对象。在第二句里,$f(x)$ 是一个数:输入为 $x$ 时函数给出的值。两者的区别,就像“计算器”和“屏幕上显示的数”的区别。

实际上大家都写“函数 $f(x)=x^2$”,几乎从不出问题。但有些情况下这个区别很重要。函数 $f$ 的导数是另一个函数 $f'$,而 $f'(3)=2\cdot3=6$。如果先算出 $f(3)=9$,再“对 $9$ 求导”,就会得到 $0$,因为常数的导数是零。错误在于顺序:求导的是一个数,即值 $f(3)$,而不是函数 $f$。

三种写法

“平方”这同一个函数,至少有三种记号:

记号 读法 来源
$f(x)=x^2$ $f$ 在 $x$ 处的值是 $x^2$ 欧拉,1734 年
$f:x\mapsto x^2$ $f$ 把每个 $x$ 送到 $x^2$ 二十世纪由布尔巴基学派推广
$\lambda x.\,x^2$ 接受 $x$、返回 $x^2$ 的那个函数 阿隆佐·丘奇,1930 年代

箭头 $\mapsto$ 有一个优点:它把函数表现为从输入到输出的移动,不会让人觉得 $x$ 是某个特定的数。丘奇的 $\lambda$ 走得更远:它给函数一个不需要名字的名字。表达式 $\lambda x.\,x^2$ 就是函数本身,正如 $5$ 就是数本身。函数式编程语言正是从这个想法诞生的,在其中可以写出,例如,lambda x: x**2。

复合:从右往左

两个函数的复合写作 $f\circ g$,读作“先 $g$ 后 $f$”:

$$(f\circ g)(x)=f(g(x)).$$

书写的顺序与运算的顺序相反:先作用的是右边的 $g$。取 $f(x)=x^2$、$g(x)=x+1$:

$$(f\circ g)(x)=(x+1)^2,\qquad(g\circ f)(x)=x^2+1.$$

这是两个不同的函数。和伽罗瓦三角形的对称一样,函数不可交换,记号必须保留顺序。

改变意思的指数

三角学保留了一个奇怪的约定。我们写

$$\sin^2x=(\sin x)^2,$$

指数的意思是“把值平方”。但自从英国天文学家约翰·赫歇尔在 1813 年提出这个记号以来,

$$\sin^{-1}x=\arcsin x,$$

指数 $-1$ 的意思是“反函数”,而不是 $\frac1{\sin x}$。同一个位置,函数名的右上方,承载着两条不同的规则,只有记忆能告诉你哪一条有效。这是记号暗示错误步骤的一个明显例子:把指数法则用在 $\sin^{-1}$ 上,就会得到错误的答案。

练习:空格里放什么?

取 $f(x)=x^2$,计算 $f(x+1)$、$f(x)+1$、$f(2x)$ 和 $2f(x)$。把整个输入放进空格:$f(x+1)=(x+1)^2=x^2+2x+1$;$f(x)+1=x^2+1$;$f(2x)=(2x)^2=4x^2$;$2f(x)=2x^2$。四个式子各不相同。$+1$ 和 $2$ 的位置,在括号里还是括号外,决定了它们作用于输入还是输出。

练习:sin⁻¹ 与 1/sin

计算 $\sin^{-1}\frac12$ 和 $\frac1{\sin(\pi/6)}$。第一个是正弦为 $\frac12$ 的角:$\frac\pi6$,即 $30°$。第二个是 $\frac1{1/2}=2$。相似的记号隐藏着两个完全不同的对象:一个角,和一个连任何角的正弦都不是的数,因为它大于 $1$。


本章目录 · ← 参数:别的字母移动时保持不动的字母 · 哑字母:求和里的 k 与积分里的 t →