関数 (数学)

数学における関数とは、かつてはある変数に依存して決まる値あるいはその対応を表す式のことであった。この言葉はライプニッツによって導入された。その後定義が一般化され、現代では数の集合に値をとる写像の一種であると理解されるものとなった。

1. 名称表記の歴史
----------

日本語としての関数はもともと「函数」と書いた。函数という語は中国語から輸入されたものであり、中国での初出は1859年に出版された李善蘭の『代微積拾級}}』といわれる。既にオランダを通じて西洋数学を勉強していた神田孝平らが翻訳の際に参考にしたとされる。

微積分について日本語で書かれた最初の本、花井静校・福田半編『筆算微積入門』 では「函数」が用いられている。それに続く長澤龜之助訳『微分学』、岡本則録訳『査氏微分積分学』 のいずれも用語を『代微積拾級}}』、『微積遡源}}』 などによっている。明治初期に東京數學會社で数学用語の日本語訳を検討する譯語會が毎月開催され、その結果が『東京數學會社雑誌』で逐次報告されている。この報告に function}} の訳語は第62号  の「原數」と第64号  の「三角法函數」の二種類が登場する。一方、同誌の本文では61号  や63号  で「函數」が用いられている。

「函」が漢字制限による当用漢字に含まれなかったことから、1950年代以降同音の「関」へと書き換えがすすめられた。この他、「干数」案もあった。学習指導要領に「関数」が登場するのは中学校で1958年、高等学校で1960年であり、それまでは「函数」が用いられている但し、1958年の中学校学習指導要領では用語として「一次関数数)」と併記しており、「関数」のみになるのは1969年の中学校学習指導要領である。}}。「関数」表記は 1985 年頃までには日本の初等教育の段階でほぼ定着した。

「函数」の中国語における発音は であり、志賀浩二や小松勇作によればこれはfunctionの音訳であるという。一方、『代微積拾級』には「凡此變數中函彼變數則此爲彼之函數}}」とあり、これは変数を包む、含む式という意味で定義されていると解釈できる。また変数に天、地などの文字を用いて「天 = 函」という表記もある。片野善一郎によれば、「函」の字義はつつむ、つつみこむであるから、「天 = 函」という表現は「天は地を函む」ようにみえ、従属変数に独立変数が容れられているという意味であるという。

なお、現代の初等教育の場においてはしばしば関数をブラックボックスのたとえで説明することがある。この説明では、「函」を「はこ」と読むことと関連付けて説明されることもあるが、「函数」の語の初出は1859年なのに対し、「ブラックボックス」の語の初出は1945年ごろとされることに注意を要する。

2. 概要
-----

2.1. 素朴な定式化
-----------

二つの変数 x}} と y}} があり、入力 //x}}// に対して、出力 //y}}// の値を決定する規則が与えられているとき、変数 //y}}// を「//x}}// を独立変数  とする関数」或いは簡単に「//x}}// の関数」という。対応規則を明示するときは、適当な文字列を使って 1=//y// = //f//   }} と書いて、1=//x// = //a//}} を代入したときに決まる関数の値を //f//   }} と表す。しかしここで、定数関数の例に示されるように、個々の //y}}// の値について対応する //x}}// の値が一つに決まるとは限らない事に注意しなければならない。この //f//   }} という表記法は18世紀の数学者オイラーによるものである。オイラーは、変数や定数を組み合わせてできた数式のを関数と定義していたが、コーシーは、上に述べたように //y}}// という変数を関数と定義した。

//y}}// が //x}}// の関数であることの別の表現として、変数 //y}}// は変数 //x}}// に従属するとも言い、//y}}// を従属変数  と言い表す。独立変数がとりうる値の全体を、この関数の定義域  といい、独立変数が定義域のあらゆる値をとるときに、従属変数がとりうる値を、この関数の値域  という。

関数の終域は実数体 や複素数体 の部分集合であることが多い。終域が実数の集合となる関数を実数値関数  といい、終域が複素数の集合となる関数を複素数値関数  という。それぞれ定義域がどのような集合であるかは問わないが、定義域も終域も実数の集合であるような関数を実関数  といい、定義域も終域も複素数の集合であるような関数を複素関数  という。

2.2. 現代的解釈
----------

ディリクレは、//x}}// と //f//   }} の対応関係に対して一定の法則性を持たせる必要はないとした。つまり、個々の独立変数と従属変数の対応そのものが関数であり、その対応は数式などで表す必要はないという、オイラーとは異なる立場をとっている。

集合論的立場に立つ現代数学では、ディリクレのように関数を対応規則 f}} のことであると解釈する。それは二項関係の特別の場合として関数を定義するということであり、その意味で関数は写像の同義語である数学の多くの文脈では函数  と写像  は同じ意味で用いられる。sfn。より細かく、「数」の集合への写像に限る場合もある例えば Serge Lang。

2.3. 函数記法
---------

函数記法で と書けば、これは順序対 }} が函数を定義する順序対の集合に属することを意味する。

しばしば函数の定義は、函数 f}} が明示された引数 x}} に対して何をするのかという形で行われる。例えば f}} を任意の実数 x}} に対して成り立つ等式 によって定義するものとすれば、これは x}} を平方して 1 を加えその正弦をとるというより単純な複数の手続きの合成として考えることができる。

誤解のおそれのない場合、例えば複数文字の函数記号を用いる函数について、引数を明示する丸括弧は省略してよい。つまり と書く代わりに と書いてもよい。

函数記法を用いたのはレオンハルト・オイラーが最初とされる。

2.4. 矢印記法
---------

函数 f}} の定義域 //X//}} と終域 //Y//}} を明示する目的では、矢印記法 や が用いられる。これに重ねて、元の間の関係を示すため「//f//}} が //x//}} を //f//   }} に写す」ことを意味する //x// mapsto}} //f//   }} をしばしば書き加える。

例えば、積の定義された集合 X}} 上で各元を平方する函数 sqr}} を紛れなく定義するには のように書けばよい。元の対応は //x// mapsto}} //x//exp と書いても良い。

しばしば函数記号や定義域および終域については省略される。そのような記法は、函数の任意の引数における値だけが等式で与えられている状況がよくあるので、その際に特別な函数記号を用意しなくてよいため有用である。例えば、二変数の函数 が与えられていて、第二引数を値 //t//sub に固定して得られる部分適用 に言及したいとき、この函数に新たに名前を付けなくても、 という元の対応を表す矢印記法を用いれば扱うことができる。

2.5. 添字記法
---------

添字記法も函数記法と並んでよく用いられる記法で、函数記法の //f//   }} は添字記法では //fsubのように書かれる。//

定義域が自然数の場合には添字記法を使うのが典型的で、各値 fsub は数列の n}} 番目の項と呼ばれる。
複数の引数を持つ函数において、それら引数が「真の変数」と助変数に分けられるとき、真の変数ではないことを区別するために助変数を添字にすることがしばしば行われる。例えば、先の例でもみた二変数函数の偏函数 //x// mapsto}} //f//}} を添字記法で と書けば、定義式 によって一変数函数の族 が定義される。

2.6. 点記法
--------

矢印記法 //x// mapsto}} //f//}} において、記号 x}} は特定の値を表さず、単なるプレースホルダとして、左辺の x}} を任意の値に置き換えた際に右辺の x}} も同じ値で置き換える必要があることを示すために、用いられている。したがって、x}} の代わりにどんな記号を使ってもよく、数式中の特定の値を表す文字との混同を避けるため、中黒 "⋅}}" がよく用いられる。中黒を使用することで、例えば函数自身 //f//   }} と任意の点 x}} における函数の値 //f//   }} とを区別することができる。

その他の例として、//x// mapsto}} //ax//exp を表すのに と書く場合や、上の限界が変数である定積分 を と書く場合などが挙げられる。

2.7. 特殊化された記法
-------------

数学の特定の分野では、その他の特別な記法が使われたりもする。例えば線型代数学や函数解析学では線型形式をベクトルdate=2021年7月}}に作用させるときに、それらの間に成り立つ双対性を明らかにするために内積の記法が用いられる。数理論理学や計算理論ではラムダ計算の記法が、函数の抽象化や函数適用などの基本概念を明示的に表すために用いられる。圏論やホモロジー代数では、上で見た函数の矢印記法を延長あるいは一般化するように、函数からなる図式およびそれらの合成が可換図式を満たすという意味でどのような可換性を持つかという形で記述される。

3. 関数を特定するには
------------

函数 f}} が与えられたとき、定義により、f}} の定義域の各点 x}} に対して f}} の x}} における値 //f//}} がただ一つ割り当てられる。x}} を //f//}} に関係付ける方法を特定あるいは記述するやり方は様々である。場合によっては、適当な性質を持つ函数の存在を定理や公理によって保証することもあるが、大抵は函数 f}} の定義の一部としてその特定法や記述法は言及される。

3.1. 値を書き並べる
------------

有限集合上で定義された函数の場合には、定義域の各点に割り当てられる終域の元を全て書き並べることで函数を定義することができる。例えば のとき函数 を として与えることができる。

3.2. 式を与える
----------

四則演算やその他既知の函数を組み合わせた式によって函数が与えられることも多い。そのような式からは、定義域の任意の元の値から函数の値を計算することができる。例えば、一つ前の例の f}} は とも定義できる。

この方法で函数を定義したとき、その函数がどのような集合上で定義されているかの決定が難しい場合がときどき生じる。例えば定義式が割り算を含む場合には、分母が零になるような変数の値は定義域から除かなければならない。同様に、実函数の定義に平方根が含まれる場合には、平方根の引数が非負となるような変数の値の集合に定義域が収まるようにしなければならない。

式によって函数を定義する場合、それらの式が持つ性質・特性によって函数を分類することもしばしば行われる

二次函数は の形と書ける函数を言う。
より一般に、多項式函数は加法・減法・乗法と非負整数冪のみを含む式で定義することができる函数である。例えば や など。
有理函数は多項式函数と同じ条件からさらに除法を許すようなものである。例えば や など。
代数函数はさらに冪根や多項式の根をとる操作が許される。
上記をすべて含む初等函数ここでいう「初等的」は必ずしも日常会話的な意味で初等的とは限らない。初等的な数学において遭遇するほとんどの函数は初等函数だが、例えば高次多項式の根を含むなどして日常的な意味で初等的ではないような初等函数も存在する。}}には、さらに対数函数や指数函数などが含まれる。

3.3. 逆函数や陰伏函数として定める
-------------------

函数 が全単射とは、Y}} の各元 y}} に対し、X}} の元 x}} がちょうど一つ存在して 1=//y// = //f//}} と書けることであった。この場合、f}} の逆函数 が、任意の //y// ∈ //Y//}} を 1=//y// = //f//}} を満たす //x// ∈ //X//}} に写す函数として定まる。例えば自然対数函数は正の実数全体の成す集合から実数全体の成す集合への全単射であるから、逆を持ち、それは指数函数と呼ばれる実数全体から正の実数全体への函数である。

函数 が全単射でなくとも、適当な部分集合 および を選んで、f}} の E}} への制限が E}} から F}} への全単射となり、その意味での逆函数を持つということは起こり得る。逆三角函数はこのような仕方で定義される。

より一般に、ふたつの集合 X, Y}} の間の二項関係 R}} が与えられ、X}} の部分集合 E}} は各元 //x// ∈ //E//}} に対して適当な //y// ∈ //Y//}} が存在して //x R y//}} とできるものとする。どの //x// ∈ //E//}} に対してそのような //y// ∈ //Y//}} をひとつ選び出す判定法がわかっているものとすれば、函数 を定義することができ、関係 R}} から陰伏的に定まるとの意味で陰函数と呼ぶ。

陰函数定理は点の近傍における陰函数の存在と一意性を保証する緩やかな可微分性条件を提供するものである。

3.4. 微積分学的な条件によって指定する
---------------------

適当な函数の原始函数として沢山の函数が定義できる。例えば自然対数函数は逆数函数 1///x//}} の原始函数で 1=//x// = 1}} における値が 0}} となるものとして定義される。誤差函数 erf}} もこのような方法で定義される函数の例である。

より一般に、ほとんどの特殊函数を含めた多くの函数は微分方程式の解として定義される。最も単純な例として、指数函数はその微分が自分自身に等しいような函数の中で 1=//x// = 0}} における値が 1}} となる唯一の函数として定義することができる。

冪級数はその収束域を定義域として函数を定義することに利用できる。例えば指数函数は と定義できる。しかし、冪級数の係数列は極めて任意に決めることができるから、「収束冪級数の和として書ける函数」は大抵既にどこか別の場所で定義されていたり、係数列もその別な定義に基づく何らかの計算できまるなどしているものである。冪級数はそのような函数の定義域を拡大することに利用できる。典型的には、実変数の函数が適当な区間上でテイラー級数の和と等しいとき、その級数を用いて直ちに適当な複素領域上の複素変数函数に定義域を拡大することができる。これはさらに解析接続を用いて複素数平面上のさらに大きな領域へ拡大できる。この方法は、複素変数の指数函数・対数函数及び三角函数の定義に一般的に用いられる方法である。

3.5. 漸化式を与える
------------

定義域が非負整数であるような函数はしばしば漸化式によって定義される。

基本的な例として、非負整数にその階乗を対応させる函数 は漸化式 と初期条件 によって決まる。

4. 表示法
------

函数のグラフは函数の直観的描像を与えるために広く用いられる。グラフからは、例えば函数がどのように増減するかといった函数の性質を読み取ることができて、函数の理解に役立つ。函数によっては、その表現に棒グラフなども利用できる。

4.1. グラフ
--------

与えられた函数 のグラフとは、形式的な集合 のことである。

よくある場合として X}} および Y}} が実数全体の部分集合となっているとき、実数の組 を二次元の座標系