在数学中,函数为指定集合中的每个输入赋予唯一的输出。函数记作 (f:A\to B),将 (A) 中的每个元素 (x) 对应到 (B) 中的一个元素 (f(x))。输入和输出不必是数,也可以是任意数学对象。函数的定义要求每个输入的输出唯一,而不要求产生某个输出的输入唯一。因此,多个输入可以对应同一个值。(cs.cornell.edu)
定义与记号
集合 (A) 是函数的定义域,(B) 是其陪域。记号 (x\mapsto f(x)) 表明各个输入如何对应到输出。例如, [ f:\mathbb R\to\mathbb R,\qquad x\mapsto x^2 ] 定义了实数上的平方函数。这里,(f) 表示函数本身,而 (f(x)) 表示函数在 (x) 处的值。明确指定定义域和陪域很重要:当这两个集合改变时,同一个公式可以描述性质不同的映射。(cs.cornell.edu)
函数的像也称值域,是函数实际取得的所有输出组成的集合: [ f(A)={f(x):x\in A}. ] 它是陪域的子集,但不一定等于陪域。对于上面的平方函数,陪域为 (\mathbb R),而像为 ([0,\infty))。负实数属于指定的目标集合,但永远不会成为函数的输出。(leanprover-community.github.io)
在集合论中,函数可以用二元关系表示,即由有序对 ((x,y)) 组成的集合,其中定义域的每个元素都恰好出现一次,作为有序对的第一坐标。对应的函数图像为 [ \Gamma_f={(x,f(x)):x\in A}. ] 即使函数没有便于使用的公式,也无法画成直观的曲线,这一定义仍然适用。(cs.cornell.edu)
表示方法与示例
函数可以用公式、表格、示意图、图像或文字规则来描述。只有当表格中列出的每个输入都对应唯一的输出时,表格才确定了一个函数。对于一元实值函数,竖线检验法从几何角度表达了同一条件:任何一条竖线与函数图像的交点都不超过一个。例如,圆不是某个单一函数 (y=f(x)) 的图像,因为某些横坐标对应两个纵坐标。(openstax.org)
常见的例子包括常函数 (f(x)=c)、如 (x^3-2x+1) 这样的多项式函数,以及有理函数。有理函数是两个多项式的商,在分母不为零的地方有定义。单看公式可能会忽略定义域的限制:(1/x) 在零处没有定义,而实数平方根函数要求输入非负。(openstax.org)
分段函数在定义域的不同部分使用不同的公式。例如, [ |x|=\begin{cases} x,&x\geq0,\ -x,&x<0. \end{cases} ] 这是一个函数,而不是两个函数:各个分段合在一起,为每个实数输入赋予唯一的值。函数不必用一个统一的代数表达式表示。(openstax.org)
单射、满射与反函数
单射函数也称一一函数,将不同的输入对应到不同的输出。等价地,若 (f(x_1)=f(x_2)),则 (x_1=x_2)。满射函数的输出覆盖陪域中的每个元素。双射函数同时具有这两种性质,使定义域和陪域中的元素一一对应。这些分类取决于指定的集合,而不仅仅取决于公式。(cs.cornell.edu)
因此,将 (x\mapsto x^2) 视为映射 (\mathbb R\to\mathbb R) 时,它既不是单射,也不是满射。将它视为映射 (\mathbb R\to[0,\infty)) 时,它是满射,但不是单射。若将定义域和陪域都限制为 ([0,\infty)),它就是双射。这些结论都可以直接从定义得出。(cs.cornell.edu)
双射 (f:A\to B) 具有反函数 (f^{-1}:B\to A),满足 [ f^{-1}(f(x))=x,\qquad f(f^{-1}(y))=y. ] 将单射函数的目标集合限制为其像后,它也具有反函数。([0,\infty)) 上平方函数的反函数是非负平方根函数。记号 (f^{-1}) 表示反函数,而不是倒数 (1/f)。(openstax.org)
复合与限制
函数复合将一个函数的输出作为另一个函数的输入,从而把函数组合起来。若 (f:A\to B),(g:B\to C),则 [ (g\circ f)(x)=g(f(x)). ] 复合的结果通常与顺序有关。对于 (f(x)=x+1) 和 (g(x)=x^2),两种复合顺序分别得到 ((x+1)^2) 和 (x^2+1)。(cs.cornell.edu)
对函数作限制,是指只保留它在定义域某个子集上的对应关系。从 (A) 到 (B) 的偏函数允许 (A) 中的某些元素没有输出;等价地,它是在 (A) 的某个子集上定义的普通函数。在计算机科学中,这一区别可以用来表示并非对每个可能输入都会返回结果的计算。(cs.cornell.edu)
连续性与求导
在数学分析和微积分中,还有一些性质用于描述函数在某个输入附近的行为。对于在 (a) 附近有定义的实函数,在 (a) 处具有连续性要求 [ \lim_{x\to a}f(x)=f(a). ] 这一极限必须存在,并且等于函数在该点的值。这一条件将邻近输入与邻近输出之间的关系形式化。(openstax.org)
导数通过下式衡量局部变化率: [ f'(a)=\lim_{h\to0}\frac{f(a+h)-f(a)}{h}, ] 前提是这个极限存在。可导必然连续,但连续不一定可导:绝对值函数在零处连续,却在该点没有导数。导数本身也可以视为一个函数,其定义域由原函数可导的点组成。(openstax.org)