函数

函数（function）是数学描述对应关系的一种特殊集合；粗略地说，从集合formula_1到集合formula_2的函数将formula_2的一个元素恰好分配给formula_1的每个元素。集合formula_1称为函数的定义域，集合formula_2称为函数的到达域。
函数最初是一个变化的量如何依赖另一个量的理想化。例如，特定时间行星的位置可以视为是行星的位置对时间的函数。“函数”一词作为数学概念是由莱布尼茨首先引入的。从历史上看，这个概念是在17世纪末用无穷微积分来阐述的，直到19世纪，所考虑的函数都是可微的。函数的概念于19世纪末在集合论中被形式化，这大大扩展了这个概念的应用领域。
简介.
若formula_7是实数，以有序对formula_8为元素所构成的集合就是一个函数。直观上代表「输入」formula_7就可以得到唯一值formula_10的对应关系。
一般会以英文字母formula_11表示函数，并把formula_7依据函数formula_13的对应规则所得到的值写作formula_14，并读作「"f of x"」。函数的概念不限于数之间的对应关系，例定义函数formula_15为世界上所有国家跟它现在的首都的对应关系，那输入英国就会输出唯一值伦敦：formula_16。 
直观上的「多变数函数」其实也可以概括到一般函数的定义里。例如算式formula_17有两个实数参数formula_7和formula_19。可以将这两个参数看作一个实数有序对formula_20，然后定义一个以formula_21为元素所构成的函数formula_13，然后把formula_23简记成符合直观的formula_24。
数学中，对应、映射、变换通常都是函数的别称，但也可能有别的意思，如在拓扑学的映射有时代表的是连续函数。
在类型论的λ演算中，「对应关系」可以是作为一个原始概念（也就是无定义名词），而不像上述的定义把函数视为集合的衍伸物。
函数的值域或像是定义域中所有元素的像之集合。
历史.
函数（function）这个数学名词是莱布尼兹在1694年开始使用的，用来描述跟曲线相关的一个量，如曲线的斜率或者曲线上的某一点。莱布尼兹所指的函数现在被称作可导函数，数学家之外的普通人一般接触到的函数即属此类。对于可导函数可以讨论它的极限和导数，此两者描述了函数输出值的变化同输入值变化的关系，是微积分学的基础。中文的「函数」一词由清朝数学家李善兰译出。其《代数学》书中解释：「凡此变数中函（包含）彼变数者，则此为彼之函数」。
正式定义.
（为了避免formula_26的括弧与逻辑叙述的括弧混淆，也会用formula_27来表示有序对）
也就是直观上，有序对formula_26代表("输入值", "输出值")；而formula_13本身是以穷举所有("输入值", "输出值")来详尽定义的对应规则，且每个输入值只能对应一个输出值。
函数值的简记.
习惯上把formula_30「等价地」记为formula_31。但严谨来说，formula_14是在一阶逻辑公理化集合论下额外新增的双元函数符号（因为formula_7与formula_13各为一个变数），而它的「定义」就是以下连带额外增加的公理：
直观上，这个公理表示「若formula_13为一函数且formula_7在formula_13的输入值范围，则formula_38；否则规定formula_14为空集」。
这样根据函数符号与唯一性的定理(E)，就会有本节一开始所说的直观性质：
也就是「若formula_13为一函数且formula_7在formula_13的输入值范围，则对所有的formula_19，formula_45等价于formula_46」。
对于「n变数」的函数，也就是以
为元素的函数formula_48，习惯上会把以下的项
进一步简写为
定义域与值域.
如果能指出函数formula_13的「输入值范围」跟「输出值范围」，对数学的讨论是相当方便的；事实上公理化集合论中，分类公理确保对任意集合formula_52有唯一的集合formula_53和formula_54（严格来说，单元函数符号）分别满足
直观上，formula_53是搜集所有formula_52里所有有序对的第一个所构成的集合；formula_54是搜集所有formula_52里所有有序对的第二个所构成的集合。这样的话，如果formula_52本身就是函数的话，formula_53就是所谓的「输入值范围」，所以被称为定义域；类似地，formula_54就是所谓的「输出值范围」，所以被称为值域。
通常情况下，有以下惯用的记号
也就是直观上，formula_65表示「formula_13是函数且其定义域为formula_1，且值域包含于formula_2。」。这种情况下，formula_2通常被俗称为对应域。
属于定义域formula_70的元素formula_7常被俗称为自变量（independent variable），而项formula_14则被俗称为因变量（dependent variable），但是这跟实验上的自变量和因变量是稍有不同的，因为前者是现实得到的实验值之间的关联，但另一个是源于集合论的概念。
一对一.
直观上，若函数formula_13的输出值都只能被唯一个输入值对应，则称formula_13是一对一的。
若formula_13是单射，那（根据分类公理所取的）以下的集合：
也是一个函数，被称为formula_13的反函数。
满射.
formula_78这个简记只能指出「输出值不会超出formula_2」，为了弥补这个简记的缺陷，口语上会将满射（surjective function）定义为「formula_78且值域就是formula_2」的函数。
函数的简记.
除了正式定义一节所规范的集合论表示法，一般的数学书籍会采用比较通俗的函数表记方法，下面将一一介绍。
函数记号.
很多函数都是取实数为输出值和输入值，换句话说，都是formula_82（formula_83），这些函数很多都是以实数的四则运算去定义的。但考虑到实数加法可由皮亚诺公理里的单元函数符号formula_84（直观上解释成「formula_7的下一个」，或说「formula_86」）建构出来，或被视为实数公理系统里的双元函数符号formula_87（简记为formula_88），实数加法其实是一阶逻辑下的项；类似地，其他四则运算也可以此类推，而得出他们都是项的结论。所以直观上定义实数函数的时候，都希望一条项（直观上的运算式）能唯一决定一个函数，比如说，对于项：
以下的集合：
是一个函数。为了让这类函数的表示更加简洁，就衍伸出以下的表记方式：
这个表记方式被称为函数记号（functional notation），直观上表示「若从formula_91依序取出地formula_92代入formula_93里，都可以得到唯一的输出值，那可以定义一个formula_94的函数」。（formula_93有可能不满足前提，从而无法定义这样的一个函数，如取formula_96就无法得到唯一输出值）
像是取formula_97为formula_86的话，因为实数加法的性质而有：
因为单元对被规定成：
这样就可以把前面的函数formula_101简记为：
如果定义域可以从上下文推断出来，函数记号可以更不正式的写为：
比如说函数formula_101就可以进一步简记为：
这个记号是1734年第一次被莱昂哈德·欧拉所采用。但当时并没有清楚地区分函数、项与幂级数，因为当时并没有一阶逻辑这种清楚研究语言推理的系统；也并不知道有些物理应用的函数不能用幂级数展开。
箭号表示.
以上的函数记号也可以稍作修改，来明确的指出「输出值」的范围：
这个表记方式被称为箭号表示（arrow notation），直观上表示「若把从formula_91依序取出地formula_92代入formula_93里，都可以得到formula_2里的某唯一输出，那可以定义一个从formula_1到formula_2，对应规则为formula_112的函数formula_113」
上述符号也可以比较通俗地记为：
比如说，取formula_115为formula_86的话，因为实数加法的性质而有：
因为formula_118可以推出formula_119，所以可把函数formula_101表示成：
箭号表示常用来「固定」某个变数，来得到新的函数；假设formula_122是含有变数formula_7和formula_124的项，如果：
那根据：
若假设formula_128是将formula_122里的formula_130都代换成formula_131所形成的新项，那以下的符号简写也是可行的：
直观上来说，formula_133是把formula_13第二个变数formula_130「固定」成特定的formula_131所得到的新函数，英文上也可称为。
间隔号表示.
可以把箭号表示里的formula_7都取代成间隔号，变成更通俗直观的间隔号表示，比如说：
可以记为：
或是对于formula_140，作如下定义的话：
函数formula_142的定义亦可不正式的记为：
但这个表记方法的明显缺点是无法指出定义域，因为函数于哪个区间可积会决定以上的函数formula_142的定义可不可行。
函数图形.
如果函数formula_13的值域跟定义域都是实数集合（俗称formula_13为实函数），可以x轴代表定义域的范围；y轴代表值域的范围，把函数的每个元素标示在平面直角坐标上，这被称为实函数formula_13在平面上的函数图形。
对于「双变数」的实函数formula_142，也就是以(formula_149)
为元素的函数，可以取
然后以x轴为formula_153变化范围；y轴为formula_154变化范围；最后取z轴为formula_142的值域变化范围，这样就可以在三维直角坐标绘出formula_142的函数图形。
实函数的判别.
平面上的任意图形可用竖直判别法判断是否为实函数的图形，即图形与任何一条平行于y轴的直线不能有一个以上的交点。但实际上这仅仅是函数正式定义的一种应用，因为平行于y轴的直线代表的是形如 
的集合，也就是此直线交x轴于formula_158，那这样直线与实函数formula_13的交集就是 
而属于这个交集里的平面点最多只能有一个，否则就会跟每个formula_161只能对应一个formula_14的基本定义矛盾。
像和原像.
像可以指两种不同的概念
第一种是形如formula_14的项，直观上代表的是依照函数formula_13的对应规则，使formula_7能对应到的那个「值」。(严谨的意义请回去参考函数值的简记)
第二种指的是集合formula_52在函数formula_13下定义的集合formula_168
注意formula_13的值域就是定义域formula_70的像formula_172。在正式定义一节的最后例子中，formula_173在formula_13的像是formula_175，而formula_13的值域是formula_177。
类似的，集合formula_178在函数formula_13下的原像（或"逆像"）定义为：
沿用同一例子，可以看到formula_181的原像是formula_182，即空集。
以下是formula_13及formula_184的一些特性：
这些特性适合定义域的任意子集formula_191及formula_192和到达域的任意子集formula_193及formula_194，甚至可推广到任意子集群的交集和并集。
函数的限制及扩张.
若formula_195且formula_196，那以下定义的集合formula_197(注意到formula_198代表笛卡儿积)
显然为一函数，称为formula_13在formula_201的限制。
反之，若formula_202、formula_203、formula_204且formula_205，那formula_13称为formula_142的扩张。
点态运算.
设formula_208且formula_209且formula_210为环。这样可以定义「函数和」formula_211与「函数积」formula_212如下：
很容易证明以上两者也是函数，类似的对任意的formula_215可以定义下面这两个集合
也是函数，其中formula_218被称为常数函数。
范例.
常用的数学函数包括多项式函数、根式函数、幂函数、对数函数、有理函数、三角函数、反三角函数等。它们都是初等函数。非初等函数（或特殊函数）包括伽马函数和贝塞尔函数等。
分类.
函数可分为
范畴论观点.
在范畴论中，函数的槪念被推广为态射的槪念。
一个范畴包括一组物件与一组态射，每一个态射是个三元组("X", "Y", "f")，"X"称为源物件（定义域的类比），"Y"称为目标物件（到达域的类比），而源物件与目标物件是范畴内的物件。基于这种解释，可以把函数看作集合范畴里面的态射。