関数 (数学)
表記の歴史
日本語としての関数はもともと「函数」（旧字体では函數）と書く。函数という語は中国語から輸入されたものであり、中国での初出は1859年に出版された李善蘭の『代微積拾級』といわれる。
微積分について日本語で書かれた最初の本、花井静校・福田半編『筆算微積入門』(1880年) では「函数」が用いられている。それに続く長澤龜之助訳『微分学』(1881年)、岡本則録訳『査氏微分積分学』(1883年) のいずれも用語を『代微積拾級』、『微積遡源』(1874年) などによっている。明治初期に東京數學會社で数学用語の日本語訳を検討する譯語會が毎月開催され、その結果が『東京數學會社雑誌』で逐次報告されている。この報告に function の訳語は第62号 (1884年) の「原數」と第64号 (1884年) の「三角法函數」の二種類が登場する。一方、同誌の本文では61号 (1884年) や63号 (1884年) で「函數」が用いられている。
「函」が漢字制限による当用漢字に含まれなかったことから、1950年代以降同音の「関」へと書き換えがすすめられた。この他、「干数」案もあった。学習指導要領に「関数」が登場するのは中学校で1958年、高等学校で1960年であり、それまでは「函数」が用いられている。「関数」表記は 1985 年頃までには日本の初等教育の段階でほぼ定着した。
「函数」の中国語における発音は(拼音: hánshù) であり、志賀浩二や小松勇作によればこれはfunctionの音訳であるという。一方、『代微積拾級』には「凡此變數中函彼變數則此為彼之函數」とあり、また変数に天、地などの文字を用いて「天 = 函(地)」という表記もある。片野善一郎によれば、「函」の字義はつつむ、つつみこむであるから、「天 = 函(地)」という表現は「天は地を函む」ようにみえ、従属変数（の表現）に独立変数が容れられているという意味であるという。
なお、現代の初等教育の場においてはしばしば関数をブラックボックスのたとえで説明することがある。この説明では、「函」を「はこ」と読むことと関連付けて説明されることもあるが、「函数」の語の初出は1859年なのに対し、「ブラックボックス」の語の初出は1945年ごろとされることに注意を要する。
記法について
函数を書き表すために標準的な方法がいくつかある。最もよく用いられるのが、函数名と引数を明示する式を用いて函数を定義するいわゆる函数記法で、これは函数の初等的な取り扱いにおいて「「函数」それ自身と、任意の引数における函数の「値」の区別ができない」という微妙な問題点を生じさせる。
函数記法
一般に、函数をイタリック体（斜体）字形の一文字（大抵は小文字の f, g, h あたり）で表すことはレオンハルト・オイラーが最初（1734年）とされる。いくつか著名な函数の中には複数の文字（大抵は 2,3 文字の、一般的にはその函数の呼称の省略形）をその函数を表す記号とするものもある。このように複数文字を使う場合には、規約として（イタリック）でなくローマン体（立体）にする。
さて、函数記法で （「f の x における値が y である」）と書けば、これは順序対 (x, y) が函数を定義する順序対の集合に属することを意味する（より具体的に函数 f の定義域を X とすれば、函数を定義する順序対の集合とは、集合の内包的記法で と書ける）。
しばしば、函数の定義は函数 f が明示された引数 x に対して何をするのかという形で行われる。例えば f を任意の実数 x に対して成り立つ等式  によって定義するものとすれば、これは x を平方して 1 を加えその正弦をとるというより単純な複数の手続きの合成として考えることができる。
複数文字の函数記号を用いる函数や誤解の虞のない場合など、函数記法において引数を明示する丸括弧は省略されることがある。例えば sin(x) でなく  と書いてもよい。
矢印記法
函数 f の定義域 X と終域 Y を明示する目的では、矢印記法  や （「f は X から Y への函数」「f は X の元を Y の元に写す」）が用いられる。これに重ねて、元の間の関係を示すため「f が x を f(x) に写す」ことを意味する x ↦ f(x) をしばしば書き加える。
例えば、積の定義された集合 X 上で各元を平方する函数 sqr を紛れ無く定義するには 
 のように書けばよい。元の対応は x ↦ x² と書いてもよい（この方がむしろ普通）。
しばしば函数記号や定義域および終域については省略される。そのような記法は、函数の任意の引数における値だけが等式で与えられている状況がよくあるので、その際に特別な函数記号を用意しなくてよいため有用である。たとえば、二変数の函数  が与えられていて、第二引数を値 t₀ に固定して得られる偏函数  に言及したいとき、この函数に新たに名前を付けなくても、 という元の対応を表す矢印記法を用いれば扱うことができる。
点記法
矢印記法 x ↦ f(x) において、記号 x は何の値を表すものでもなくむしろ単にプレースホルダとしての意味しか持っていない。つまり、左辺の x を任意の値で置き換えたとき、右辺の x も同じ値で置き換えなければならないことを示すものである。したがって、x の代わりにどんな記号を使ってもよいのであって、そのためによく中黒 "•" が用いられる。こうすると、函数自身を f(•) と書いて、任意の点 x における函数の値 f(x) と区別をつけることができる。
たとえば x ↦ ax² を表すのに  と書いたり、上の限界が変数である定積分  を  と書いたりもできる。
特殊化された記法
数学の特定の分野では、その他の特別な記法が使われたりもする。例えば線型代数学や函数解析学では線型形式をベクトルに作用させるときに、それらの間に成り立つ双対性を明らかにするために内積の記法が用いられる（量子力学でも同様のブラケット記法が用いられる）。数理論理学や計算理論ではラムダ計算の記法が、函数の抽象化や適用などの基本概念を明示的に表すために用いられる。圏論やホモロジー代数では、上で見た函数の矢印記法を延長あるいは一般化するように、函数からなる図式およびそれらの合成が可換図式を満たすという意味でどのような可換性を持つかという形で記述される。
函数を特定するには
函数 f が与えられたとき、定義により、f の定義域の各点 x に対して f の x における値 f(x) がただ一つ割り当てられる。x を f(x) に（陰に陽に）関係付ける方法を特定あるいは記述するやり方は様々である。場合によっては、（函数が具体的にどのような姿かたちをしているかについては一切言及せずに）適当な性質を持つ函数の存在を定理や公理によって保証することもあるが、大抵は函数 f の定義の一部としてその特定法や記述法は言及される。
値を書き並べる
有限集合上で定義された函数の場合には、定義域の各点に割り当てられる終域の元をすべて書き並べることで函数を定義することができる。例えば  のとき函数  を  として与えることができる。
逆函数や陰伏函数として定める
函数  が全単射とは、Y の各元 y に対し、X の元 x がちょうど一つ（少なくとも一つ、かつ、高々一つ）存在して y = f(x) と書けることであった。この場合、f の逆函数  が、任意の y ∈ Y を y = f(x) を満たす x ∈ X に写す函数として定まる。例えば自然対数函数は正の実数全体の成す集合から実数全体の成す集合への全単射であるから、逆を持ち、それは指数函数と呼ばれる実数全体から正の実数全体への函数である。
函数  が全単射でなくとも、適当な部分集合  および  を選んで、f の E への制限が E から F への全単射となり、その意味での逆函数を持つということは起こり得る。逆三角函数はこのような仕方で定義される。
より一般に、ふたつの集合 X, Y の間の二項関係 R が与えられ、X の部分集合 E は各元 x ∈ E に対して適当な y ∈ Y が存在して x R y とできるものとする。どの x ∈ E に対してそのような y ∈ Y をひとつ選び出す判定法がわかっているものとすれば、函数  を定義することができ、関係 R から陰伏的に定まるとの意味で陰函数と呼ぶ。
陰函数定理は点の近傍における陰函数の存在と一意性を保証する緩やかな可微分性条件を提供するものである。
微積分学的な条件によって指定する
適当な函数の原始函数としてたくさんの函数が定義できる。たとえば自然対数函数は逆数函数 1/x の原始函数で x = 1 における値が 0 となるものとして定義される。誤差函数 erf もこのような方法で定義される函数の例である。
より一般に、ほとんどの特殊函数を含めた多くの函数は微分方程式の解として定義される。もっとも単純な例として、指数函数はその微分が自分自身に等しいような函数のなかで x = 0 における値が 1 となる唯一の函数として定義することができる。
冪級数はその収束域を定義域として函数を定義することに利用できる。例えば指数函数は  と定義できる。しかし、冪級数の係数列は極めて任意に決めることができるから、「収束冪級数の和として書ける函数」は大抵既にどこか別の場所で定義されていたり、係数列もその別な定義に基づく何らかの計算できまるなどしているものである。冪級数はそのような函数の定義域を拡大することに利用できる。典型的には、実変数の函数が適当な区間上でテイラー級数の和と等しいとき、その級数を用いて直ちに適当な複素領域（つまり、級数の収束円板）上の複素変数函数に定義域を拡大することができる。これはさらに解析接続を用いて複素数平面上のさらに大きな領域へ拡大できる。この方法は、複素変数の指数函数・対数函数および三角函数の定義に一般的に用いられる方法である。
漸化式を与える
定義域が非負整数であるような函数（つまり数列）はしばしば漸化式によって定義される。
基本的な例として、非負整数にその階乗を対応させる函数  は漸化式  と初期条件  によって決まる。
表示法
函数のグラフは函数の直観的描像を与えるために広く用いられる。グラフからは、例えば函数がどのように増減するかといった函数の性質を読み取ることができて、函数の理解に役立つ。函数によっては、その表現に棒グラフなども利用できる。
グラフ
与えられた函数  のグラフとは、形式的な集合  のことである。
よくある場合として X および Y が実数全体（あるいはその特定の部分集合、例えば区間など）の部分集合となっているとき、実数の組  を二次元の座標系（例えばデカルト平面において座標 (x, y) を持つ点と同一視することができる。このような函数（の一部分）の表示法の一環として、プロット図を書くことができる（こういったプロット図もまた「函数のグラフ」として至る所で良く用いられる）。また違った座標系を使って函数の図示をすることもできる。例えば平方函数 x ↦ x² のグラフは座標 (x, x²) (x ∈ ℝ) を持つ点の全体で、直交座標系に表せばよく知られたように抛物線になる。これをもし極座標系を用いて、極座標 (r, θ) = (x. x²) を持つ点をプロットしたならば、この場合のグラフはフェルマー螺旋になる。
棒グラフ
有限集合、あるいは自然数または整数全体で定義された函数を表示するのに、棒グラフもまたよく用いられる。この場合、各元 x は x-軸上の区間を表しており、函数の値は x の表す区間を底辺とする高さ f(x) の長方形として表現できる。
解析学
17世紀にはじまった函数の概念は、新しい無限小解析の基礎付けとなった（函数概念の歴史を参照）。当時は、実変数の実数値函数しか考えられておらず、どの函数も滑らかな函数であることが仮定されていたが、直に多変数函数や複素変数函数に定義が拡張されていった。19世紀後半には数学的に厳密な函数の定義が導入され、任意の定義域および終域を持つ函数も扱われ始めた。
いまや函数は数学のあらゆる分野において用いられる。初歩の基礎解析学では単に「函数」といえば一変数の実数値函数の意味である。より一般の定義が導入され厳密な設定のもとで函数を扱うようになるのは実解析や複素解析においてであろう。
実函数
実函数とは「実変数」「実数値」の函数、つまり実数全体の成す集合を終域とし実数からなる適当な区間を含む部分集合を定義域とする函数を言う。以下本節では、そのような函数を単に函数と呼ぶことにする。
数学及びその応用分野において最もよく扱われる函数はさらに適当な正則性条件（連続性や微分可能性あるいは解析性など）が課せられる。このような正則性があることによって、函数はそのグラフを用いてよく視覚化することができる。以下、適当な区間上で微分可能であるような函数だけを扱う。
函数は点ごとの演算が備わっている。つまり、函数 f, g に対して、それらの和・差・積を 
 で定義すれば、f, g の定義域の交わりを定義域とする函数が得られる。同様にこれらの商を 
 と定義することができるが、この場合定義域は f, g の定義域の交わりから g の零点を除いたものになる。
多項式からは実数全体で定義された多項式函数が定まる。これには定数函数・一次函数・二次函数などが含まれる。ふたつの多項式函数の商である有理函数は（零除算が起きないように）有限個の例外を除くすべての実数を定義域とする。もっとも単純な有理函数 x ↦  のグラフは双曲線で 0 を除く実数直線全体を定義域に持つ。
実可微分函数の導函数もまた実函数である。実連続函数の原始函数はもとの函数が連続となる任意の開区間上で可微分な実函数を与える。例えば逆数函数 x ↦ 1/x は正の実数全体の成す集合上で連続（さらに微分可能）であるから、その原始函数で x = 1 において零となるもの（自然対数函数）は正の実数全体の成す集合上で微分可能である。
実函数 f がある区間上で単調となるのは、平均の変化率  の符号が、その区間内の点 x, y の選び方に依らず一定であるときである。その函数がその区間で微分可能ならば、その区間上で微分係数の符号が一定であるときに単調となる。実函数 f が区間 I において単調であるならば、f の逆函数が f(I) から I への函数として定まる。このような方法で、逆三角函数は三角函数が単調となる区間上で三角函数の逆函数として与えられる。あるいはまた、自然対数函数は正の実軸上で単調で値域は実数直線全体となるから、その逆函数である指数函数は実数全体から正の実数全体への全単射であることが分かる。
他にも多くの実函数が陰函数定理（逆函数は陰函数の特別の場合）から、あるいは微分方程式の解として、定義される。例えば正弦函数 sin や余弦函数 cos は線型微分方程式  の解として初期条件 
 から定まる。
ベクトル値函数
終域の元がベクトルとなっているような函数はベクトル値函数と呼ばれる。ベクトル値函数は、（例えば物理的性質をモデル化するような）応用において特に有用で、例えば流束の各点においてその点での速度ベクトルを割り当てる函数はベクトル値函数になる。
ℝⁿ（あるいは多様体のように ℝⁿ と似た幾何学的または位相的性質を持つ空間）上で定義されたベクトル値函数を考えることもできて、そのようなベクトル値函数はベクトル場と呼ばれる。
函数空間
解析学あるいはより具体的に函数解析学において、特定の性質を共有するスカラー値またはベクトル値の函数からなり位相線型空間を成すような集合を函数空間と呼ぶ。例えば、コンパクト台付き（つまり、適当なコンパクト集合の外側では常に零となる）滑らかな実函数全体の成す集合は、シュヴァルツ超函数論の基盤となる函数空間を成す。
函数空間ではその代数的および位相的性質を利用して函数の性質を調べることができるようになるから、より進んだ解析学において函数空間は基本的な役割を果たすことになる。例えば、常微分方程式や偏微分方程式における解の存在や一意性を言うすべての定理は函数空間を調べることで得られた結果である。
超関数
シュワルツの超関数（分布、英: distribution）の理論は、汎関数の一種（コンパクトな台を持つ無限階微分可能関数の作る空間上の連続線型汎関数）として超関数を定義する。通常の局所可積分関数に測度を掛けて積分作用素として見ると、この意味で超関数と見なされる。
この様な連続線型汎関数を用いた定式化の方向で distribution よりも大きいクラスとしては、超分布 (ultradistribution) が知られている。
一方、佐藤の超関数（英: hyperfunction）は層係数コホモロジー等の代数的手法を用いて定義される。この代数的手法の解析学への導入により、線型微分方程式系の代数化である D 加群の理論等、代数解析学と呼ばれる分野が開かれた。以上の超関数のクラスは局所化可能、言い換えれば層を成すという事が重要である。