数学において、集合Xから集合Yへの関数は、 Xの各要素にYの要素をちょうど 1 つ対応させます。[ 1 ]集合Xは関数の定義域と呼ばれ[ 2 ]、集合Yは関数の値域と呼ばれます。 [ 3 ]
関数はもともと、変化する量が別の量にどのように依存するかを理想化したものです。例えば、惑星の位置は時間の関数です。歴史的には、この概念は17世紀末に微積分学によって発展し、19世紀までは、考慮される関数は微分可能(つまり、高い正則性を持つ)でした。関数の概念は19世紀末に集合論の観点から形式化され、これにより、この概念の応用範囲が大幅に拡大しました。
関数は、f、g、hなどの文字で表されることが多い。定義域の要素xにおける関数fの値(つまり、xに関連付けられた終域の要素) はf ( x )で表される。例えば、x = 4におけるfの値はf (4)で表される。一般的に、特定の関数は、 xに依存する式によって定義される。例えば、この場合、特定の値における関数の値を推測するために、関数評価と呼ばれる計算が必要になる場合があります。たとえば、それから
定義域と値域が与えられた場合、関数はすべてのペア( x , f ( x ))の集合によって一意に表現され、これは関数のグラフと呼ばれ、関数を図示する一般的な手段です。[注 1 ] [ 4 ]定義域と値域が実数の集合である場合、そのような各ペアは平面上の点のデカルト座標と考えることができます。
関数は科学、工学、そしてほとんどの数学分野で広く用いられています。関数はほとんどの数学分野において「研究の中心対象」であると言われています。[ 5 ]
関数の概念は、古代数学における非公式な起源から19世紀における形式化に至るまで、数世紀にわたって大きく進化してきた。詳細は「関数概念の歴史」を参照のこと。


集合Xから集合Yへの関数fとは、Xの各要素にYの要素を1つずつ対応させる関数のことである。集合Xは関数の定義域、集合Yは関数の値域と呼ばれる。
Yの要素yが関数fによってXのxに代入される場合、 f はx をyに写像すると言われ、これは一般的に次のように書かれます。この表記法では、xは関数の引数または変数です。
Xの特定の要素xは変数 の値であり、 Yの対応する要素はxにおける関数の値、つまり関数によるxの像です。関数 の像(時には値域とも呼ばれる) は、定義域内のすべての要素の像の集合です。[ 6 ] [ 7 ] [ 8 ] [ 9 ]
関数f、その定義域X、および値域Yは、しばしば次の表記で指定されます。次のように書くことができるの代わりに記号(「マッピングする」と読みます)は、定義域内の特定の要素xがfによってどこにマッピングされるかを指定するために使用されます。これにより、名前を付けずに関数を定義できます。たとえば、二乗関数は関数です。
関数が定義されるとき、定義域と値域が必ずしも明示的に与えられるとは限りません。特に、特定の関数の定義域がより大きな集合に含まれていることだけが、何らかの(場合によっては困難な)計算なしにわかる場合がよくあります。たとえば、は実関数であり、関数の定義域を決定する。fの零点を知る必要がある。これが、数学解析において「 XからYへの関数」が、 Xの真部分集合を定義域とする関数を指すことがある理由の 1 つです。 [注 2 ]例えば、「実数から実数への関数」は、定義域が実数の真部分集合である実変数の実数値関数、通常は空でない開区間を含む部分集合を指すことがあります。このような関数は部分関数と呼ばれます。
集合S上の関数fは、定義域Sからの関数であり、値域は指定しません。ただし、一部の著者は、関数がf : S → Sであることを示す略記法として使用しています。


上記の関数の定義は、本質的には微積分学の創始者であるライプニッツ、ニュートン、オイラーの定義に相当します。しかし、「代入」の数学的な定義がないため、形式化することはできません。関数の最初の形式的な定義が集合論の観点から与えられたのは、19世紀末になってからのことです。この集合論的な定義は、関数が定義域の要素と値域の要素の一部(場合によってはすべて)との間に関係を確立するという事実に基づいています。数学的には、 2つの集合XとYの間の二項関係は、すべての順序対の集合の部分集合です。そのためそしてこれらのペアの集合は、XとYのデカルト積と呼ばれ、次のように表されます。したがって、上記の定義は次のように形式化できる。
定義域Xと値域Yを持つ関数は、次の 2 つの条件を満たすXとYの間の二項関係Rである。 [ 10 ]
この定義は、関係の概念を明示的に参照することなく、より多くの表記法(集合構成表記法を含む)を用いて、より形式的に書き直すことができる。
関数は、3 つの集合 (多くの場合、順序付き 3 つ組)、定義域、および定義域によって構成されます。値域そしてグラフ以下の3つの条件を満たすもの。
これらの条件を満たす関係を関数関係と呼ぶ。
より一般的な用語と表記法は、この形式的な定義から次のように導き出すことができる。関数関係によって定義される関数である。すべてのの領域において、 に関連するコドメインの固有要素はと表記される . もしこれは、一般的に書かれている要素です。代わりにまたは、そしてある人はこう言います「 地図から ", " は、 による画像ですの」、または「適用オン与える "、など。
部分関数は、通常の関数と同様に定義されますが、「全体」条件は除外されます。つまり、XからYへの部分関数は、 XとYの間の二項関係Rであり、すべてのに対して、Yには、以下を満たすy が最大で 1 つ 存在する。
関数表記法を用いると、これは、与えられたどちらかYに含まれるか、未定義です。
Xの要素の集合であって、定義され、Yに属する関数の定義域を、関数の定義域と呼びます。したがって、 XからYへの部分関数は、定義域としてXの部分集合(関数の定義域と呼ばれる)を持つ通常の関数です。定義域がXと等しい場合、部分関数は全関数であると言われることがよくあります。
数学のいくつかの分野では、「関数」という用語は、通常の(全)関数ではなく、部分関数を指すことがあります。これは通常、関数の定義方法が、その定義域を決定することを困難、あるいは不可能にする場合に当てはまります。
微積分学において、実変数の実数値関数または実関数は、集合からの部分関数である。実数からそれ自身への関数。その乗法逆数も実関数です。部分関数の乗法逆関数の定義域を決定するには、関数の零点、つまり関数は定義されているが乗法逆関数は定義されていない値を計算することに相当します。
同様に、複素変数の関数は一般に部分関数であり、その定義域は複素数の部分集合である。複素関数の定義域を決定することの難しさは、リーマンゼータ関数の乗法逆関数によって示されます。これは、数学における主要な未解決問題の一つであるリーマン予想の証明または反証とほぼ同等である。
計算可能性理論において、一般再帰関数とは、整数から整数への部分関数であり、その値はアルゴリズムによって計算可能である(大まかに言えば)。このような関数の定義域とは、アルゴリズムが無限に実行されない入力の集合である。計算可能性理論の基本定理の一つは、任意の一般再帰関数を入力として受け取り、 0がその定義域に含まれるかどうかを判定するアルゴリズムは存在しないということである(停止問題を参照)。

多変数関数、または複数変数関数とは、複数の引数に依存する関数のことです。このような関数はよく見られます。例えば、道路上の車の位置は、走行時間と平均速度の関数です。
形式的には、 n変数の関数とは、定義域がn組の集合である関数のことです。[注 3 ]例えば、整数の乗算は 2 変数の関数、つまり二変数関数であり、定義域はすべての整数の順序対(2 組) の集合、終域は整数の集合です。すべての二項演算についても同様です。2 次元実数領域上の二変数曲面のグラフは、例えば二変数補間で使用されるようなパラメトリック曲面を定義するものとして解釈できます。
一般的に、nタプルは括弧で囲んで表されます。例えば、関数表記法 を用いる場合、通常はタプルを囲む括弧を省略し、次のように記述する。 の代わりに
n個の集合が与えられた場合n個のタプルの集合そのためは、そして、
したがって、多変数関数とは、定義域がデカルト積またはデカルト積の真部分集合である関数のことである。
ここで、ドメインUは次の形式をとる。
もしすべてがセットと等しい実数または集合複素数については、それぞれ複数の実変数の関数または複数の複素変数の関数について話す。
関数を表す標準的な方法はいくつか存在する。最も一般的に用いられる表記法は関数表記法であり、以下で最初に説明する表記法である。
関数表記では、関数に名前を付ける必要があり、指定されていない関数の場合は、多くの場合文字fが用いられます。次に、関数を引数に適用する場合、関数名に続いて引数(多変数関数の場合は引数)を括弧で囲んで表記します。例えば、
括弧内の引数は、関数の定義域の任意の要素、定義域の特定の要素 (上記の例では 3 )、または定義域の要素(上記の例では)。括弧内に未指定の変数を使用することは、「let」のように関数を明示的に定義する場合に便利です。「。
関数を表す記号が複数の文字で構成され、曖昧さが生じない場合、関数表記の括弧は省略されることがあります。たとえば、sin( x )の代わりにsin xと書くのが一般的です。
関数表記法は、 1734 年にレオンハルト・オイラーによって初めて使用されました。[ 11 ]広く使用されている関数の中には、複数の文字(通常は 2 文字または 3 文字、一般的には関数名の略語)で構成される記号で表されるものがあります。この場合、 1 文字の記号にはイタリック体フォントが使用されるのに対し、正弦関数には「 sin」のように、慣習的にローマン体フォントが使用されます。
関数表記は、関数を参照すると同時に引数の名前を指定するために口語的によく使われます。例えば、「let」のように。「関数である」。これは表記法の濫用ですが、より単純な定式化に役立ちます。
矢印表記は、関数に名前を付ける必要なく、関数のルールをインラインで定義します。これは、↦ 矢印記号を使用し、「は にマッピングされる」と読みます。たとえば、は、実数を入力として受け取り、その数に 1 を加えた値を出力する関数です。また、の定義域と値域は、暗黙のうちに示されている。
定義域と値域は明示的に指定することもできます。例えば、次のようになります。
これは、整数から整数への関数sqrを定義し、入力された値の二乗を返します。
矢印表記の一般的な応用例として、これは2変数関数であり、部分的に適用された関数を参照したい。新しい関数名を導入せずに、2 番目の引数を値t 0に固定することによって生成されます。問題のマップは次のように表すことができます。矢印表記法を使用する。(「 xをfのxとt 0に写像する」と読みます)は、この新しい関数を引数 1 つだけで表しますが、式f ( x 0 , t 0 )は、点( x 0 , t 0 )における関数fの値を参照します。
関数表記の代わりにインデックス表記を使用できます。つまり、f ( x )と書く代わりに、次のように書きます。
これは通常、定義域が自然数の集合である関数に当てはまります。このような関数は数列と呼ばれ、この場合、要素はこれは数列のn番目の要素と呼ばれます。
インデックス表記は、パラメータと呼ばれる変数と「真の変数」を区別するためにも使用できます。実際、パラメータとは、問題の研究中に固定されていると考えられる特定の変数です。たとえば、マップ(上記参照)は次のように表記されますインデックス表記法を使用してマップのコレクションを定義すると、式によりすべての人々のために。
表記法では 記号x は値を表すものではなく、単なるプレースホルダーです。つまり、矢印の左側でx が何らかの値に置き換えられた場合、矢印の右側でも同じ値に置き換えられます。したがって、矢印の右側の式では、x はプレースホルダー記号(多くの場合、中点" ⋅ " またはダッシュ " – ")に置き換えられ、このプレースホルダー記号を含む新しい式は、関数自体の省略形として使用できます。矢印表記の場合と同様に、これは関数にfやsinなどの明示的な名前が付けられていない場合に役立ちます。
例えば、または機能を表す可能性がある、 そしてまたはは、可変上限を持つ積分によって定義される関数を表す場合がある。。
数学の分野によっては、関数を表すための特殊な表記法が他にも存在します。例えば、線形代数や関数解析では、線形形式とその作用するベクトルは、双対性を表すために双対ペアを用いて表記されます。これは量子力学におけるブラケット表記法に似ています。論理学や計算理論では、ラムダ計算の関数表記法を用いて、関数の抽象化と適用という基本的な概念を明示的に表現します。圏論やホモロジー代数では、関数のネットワークは、それら自身とその合成が互いにどのように可換であるかという観点から記述され、上記の関数の矢印表記法を拡張・一般化した可換図式が用いられます。
場合によっては、関数の引数は、ある集合または複数の集合から取られた要素の順序対になることがあります。たとえば、関数fは、任意の実数のペアを写像するものとして定義できます。それらの二乗の和に、このような関数は一般的に次のように記述されます。そして「2変数関数」と呼ばれます。同様に、3つ以上の変数を持つ関数もあり、次のような表記があります。、。
A function may also be called a map or a mapping, but some authors make a distinction between the term "map" and "function". For example, the term "map" is often reserved for a "function" with some sort of special structure (e.g. maps of manifolds). In particular map may be used in place of homomorphism for the sake of succinctness (e.g., linear map or map from G to H instead of group homomorphism from G to H). Some authors[14] reserve the word mapping for the case where the structure of the codomain belongs explicitly to the definition of the function.
Some authors, such as Serge Lang,[13] use "function" only to refer to maps for which the codomain is a subset of the real or complex numbers, and use the term mapping for more general functions.
In the theory of dynamical systems, a map denotes an evolution function used to create discrete dynamical systems. See also Poincaré map.
Whichever definition of map is used, related terms like domain, codomain, injective, continuous have the same meaning as for a function.
Given a function , by definition, to each element of the domain of the function , there is a unique element associated to it, the value of at . There are several ways to specify or describe how is related to , both explicitly and implicitly. Sometimes, a theorem or an axiom asserts the existence of a function having some properties, without describing it more precisely. Often, the specification or description is referred to as the definition of the function .
On a finite set a function may be defined by listing the elements of the codomain that are associated to the elements of the domain. For example, if , then one can define a function by
Functions are often defined by an expression that describes a combination of arithmetic operations and previously defined functions; such a formula allows computing the value of the function from the value of any element of the domain. For example, in the above example, can be defined by the formula , for .
このように関数が定義される場合、その定義域の決定は時に困難になります。関数を定義する式に除算が含まれる場合、分母がゼロとなる変数の値は定義域から除外する必要があります。したがって、複雑な関数の場合、定義域の決定は補助関数の零点の計算を経由します。同様に、関数の定義に平方根が含まれる場合、に定義域は、平方根の引数が非負となるような変数の値の集合に含まれる。
例えば、関数を定義するそのドメインはなぜならxが実数の場合、常に正の値になります。一方、実数から実数への関数を定義する。その定義域は区間[ −1, 1 ]に限定される。(古い文献では、このような定義域は関数の定義域と呼ばれていた。)
関数は、それを定義する数式の性質によって分類することができる。
関数定義域Xと終域Yを持つ関数f は、Yの任意のyに対して、 y = f ( x )となるXの要素xがただ 1 つ存在する場合に全単射である。この場合、fの逆関数は関数 f である。その地図要素へy = f ( x )となるように。例えば、自然対数は正の実数から実数への全単射関数です。したがって、自然対数には指数関数と呼ばれる逆関数があり、実数を正の数に写像します。
関数が全単射ではないため、部分集合を選択できる場合がある。そしてfのEへの制限がEからFへの全単射となり、したがって逆関数が存在する。逆三角関数はこのように定義される。例えば、コサイン関数は制限によって区間[ 0 , π ]から区間[ −1, 1 ]への全単射を誘導し、その逆関数である逆コサインは[ −1, 1 ]を[ 0, π ]に写像する。他の逆三角関数も同様に定義される。
より一般的に、2 つの集合XとYの間の二項関係Rが与えられたとき、E をXの部分集合とし、すべての に対して、いくつかありますx R yとなるような。もし、すべての y に対してそのようなyを選択できる基準があれば、これは関数を定義しますこれは暗黙関数と呼ばれます。なぜなら、関係Rによって暗黙的に定義されているからです。
例えば、単位円の方程式実数上の関係を定義します。−1 < x < 1の場合、 yには正と負の2 つの値があります。x = ± 1の場合、これらの 2 つの値は両方とも 0 になります。それ以外の場合、 yの値はありません。これは、この方程式が定義域[ −1, 1 ]とそれぞれの終域[ 0, +∞)および(−∞, 0 ]を持つ 2 つの陰関数を定義することを意味します。
この例では、方程式をyで解くと、次のようになります。しかし、より複雑な例では、これは不可能です。たとえば、関係y をxの陰関数として定義し、Bring 根号と呼ばれるものがあり、定義域と値域として。Bring の根号は、4 つの算術演算とn乗根で表すことはできません。
多くの関数は、別の関数の原始関数として定義できます。自然対数もその例で、これは1/ xの原始関数であり、 x = 1のとき 0 になります。もう 1 つの一般的な例は誤差関数です。
より一般的には、多くの関数、特にほとんどの特殊関数は、微分方程式の解として定義できます。最も単純な例はおそらく指数関数で、これは導関数に等しく、 x = 0のときに値 1 を取る唯一の関数として定義できます。
べき級数は、収束する定義域上で関数を定義するために使用できます。たとえば、指数関数は次のように表されます。しかし、級数の係数は任意であるため、収束級数の和である関数は一般に別の方法で定義され、係数の列は別の定義に基づく何らかの計算の結果となります。次に、べき級数を使用して関数の定義域を拡大することができます。通常、実変数の関数が、ある区間におけるテイラー級数の和である場合、このべき級数によって定義域を複素数の部分集合、すなわち級数の収束円盤に直ちに拡大することができます。次に、解析接続によって定義域をさらに拡大し、ほぼ複素平面全体を含むようにすることができます。このプロセスは、複素数の対数関数、指数関数、三角関数を定義するために一般に用いられる方法です。
定義域が非負整数である関数は、数列として知られており、漸化式によって定義されることがあります。
非負整数の階乗関数()は基本的な例であり、漸化式で定義できる。
そして初期条件
グラフは、関数を直感的に理解するためによく用いられます。グラフが関数の理解に役立つ例として、関数が増加傾向にあるのか減少傾向にあるのかをグラフから容易に判断できることが挙げられます。また、関数によっては棒グラフで表すこともできます。


関数が与えられた場合そのグラフは、形式的には集合である。
XとYが実数の部分集合である場合(または、区間などの部分集合と同一視できる場合)、要素関数は、例えばデカルト座標系における座標x、yを持つ点として表すことができます。この図の一部から、関数を表すグラフを作成できます。グラフの使用は非常に一般的であるため、グラフ自体も関数のグラフと呼ばれます。関数のグラフ表現は、他の座標系でも可能です。例えば、2乗関数のグラフなどです。
座標を持つすべての点から構成されるのためにデカルト座標で描くと、よく知られた放物線が得られる。同じ二次関数同じ形式的なグラフ(数値のペアで構成されている)が、代わりに極座標でプロットされる。得られたグラフはフェルマーの螺旋である。
関数は値の表として表現できます。関数の定義域が有限であれば、この方法で関数を完全に指定できます。例えば、乗算関数定義されるは、おなじみの九九表で表すことができる。
一方、関数の定義域が連続である場合、表によって定義域の特定の値における関数の値を求めることができます。中間値が必要な場合は、補間を用いて関数の値を推定することができます。[注5 ] 例えば、正弦関数の表の一部は、小数点以下6桁に丸めた値で、次のように表すことができます。
携帯型電卓やパーソナルコンピュータが登場する以前は、対数や三角関数などの関数について、このような表がしばしば作成され、出版されていた。[注6 ]
棒グラフは、定義域が有限集合、自然数、または整数である関数を表すことができます。この場合、定義域の要素xはx軸の区間で表され、対応する関数の値f ( x )は、底辺がxに対応する区間で高さがf ( x )である長方形で表されます(負の値の場合は、棒グラフはx軸より下に伸びます)。
このセクションでは、定義域と値域の特定の性質に依存しない、関数の一般的な性質について説明します。
頻繁に発生する標準的な機能がいくつかあります。
2つの関数が与えられた場合そしてgの定義域がfの値域であるとき、それらの合成関数は定義される
つまり、は、まずxにfを適用してy = f ( x )を得て、次にその結果yにgを適用してg ( y ) = g ( f ( x ))を得ることによって得られます。この表記では、最初に適用される関数は常に右側に記述されます。
構成これは、最初の関数の終域が2番目の関数の定義域である場合にのみ定義される関数に対する演算です。そしてこれらの条件を満たす場合、合成は必ずしも可換ではない、つまり関数はそして必ずしも等しい必要はなく、同じ引数に対して異なる値を返す可能性があります。たとえば、f ( x ) = x² 、g ( x ) = x + 1とすると、そして同意する
関数合成は、次の意味で結合的である。そしてが定義されれば、もう一方もまた定義され、それらは等しい、つまり、したがって、単に次のように書くのが一般的です
恒等関数そしてはそれぞれ、XからYへの関数に対する右恒等式と左恒等式です。つまり、f が定義域X、値域Yの関数である場合、次のようになります。
させて領域Xの要素xのfによる像はf ( x )である。[ 6 ] A がXの任意の部分集合である場合、fによるAの像( f ( A )と表記) は、 Aの要素のすべての像からなる終域Yの部分集合である。[ 6 ]すなわち、
fの像は定義域全体の像、つまりf ( X )です。[ 17 ]また、 fの値域とも呼ばれますが、[ 6 ] [ 7 ] [ 8 ] [ 9 ]値域という用語は終域を指す場合もあります。[ 9 ] [ 17 ] [ 18 ]
一方、終域Yの要素yのfによる逆像または逆像は、 fによる像がyと等しい定義域Xのすべての要素の集合である。[ 6 ]記号では、 yの逆像は次のように表される。そして、それは次の式で与えられる。
同様に、終域Yの部分集合Bの逆像は、 Bの要素の逆像の集合、すなわち、像がBに属するXのすべての要素からなる領域Xの部分集合である。[ 6 ]これは次のように表される。そして、それは次の式で与えられる。
例えば、二乗関数の下にあるのは、。
関数の定義により、定義域の要素xの像は常に値域の単一の要素になります。しかし、逆像は終域の要素yは空であるか、任意の数の要素を含む可能性があります。たとえば、fが整数から整数自身への関数であり、すべての整数を 0 に写像する場合、。
もしが関数であり、AとBがXの部分集合であり、CとDがYの部分集合である場合、次の性質が成り立つ。
終域の要素yのfによる逆像は、文脈によっては、fによるyのファイバーと呼ばれることがあります。
関数fに逆関数が存在する場合 (下記参照)、この逆関数は次のように表されます。この場合画像を示す場合またはCのfによる逆像。これらの集合は等しいので、これは問題ありません。表記法そして要素としていくつかの部分集合を含む集合の場合、曖昧になる可能性がある。この場合、例えば角括弧を使うなど、注意が必要になる場合があります。部分集合の像と逆像には通常の括弧を使用し、要素の像と逆像には通常の括弧を使用します。
させて関数である。
関数fは、Xの任意の異なる 2 つの要素aとbに対してf ( a ) ≠ f ( b )である場合に単射(または一対一、または単射である)である。[ 17 ] [ 19 ]同様に、fは、すべての に対して、原像要素は最大で 1 つしか含まない。空関数は常に単射である。Xが空集合でない場合、fが単射であるのは、関数が存在する場合に限る。そのためすなわち、f が左逆関数を持つ場合。[ 19 ]証明:fが単射である場合、g を定義するために、要素を選択します。X ( Xは空でないと想定されるため存在する)において、 [注8 ]、gは次のように定義される。もしそしてもし逆に、そして それからそしてこうして
関数fは、その値域が である場合に全射(またはへの上、または全射である)である。その値域に等しいつまり、各要素について終域の要素が存在するドメインの(言い換えれば、原像あらゆるは空でない)。[ 17 ] [ 20 ]現代数学で通常行われるように選択公理を仮定すると、fが全射であるのは、関数が存在する場合に限る。そのためすなわち、f が右逆関数を持つ場合。[ 20 ]選択公理が必要となるのは、fが全射である場合、g を次のように定義するからである。どこは任意に選択された要素です
関数fは、単射かつ全射である場合に全単射(または全単射または一対一対応)である。 [ 17 ] [ 21 ]つまり、すべての に対して、 が成り立つ場合にfは全単射である。原像ちょうど 1 つの要素を含みます。関数fが全単射であるのは、逆関数、つまり関数f が 1 個存在する場合に限ります。そのためそして[ 21 ](全射の場合とは異なり、これは選択公理を必要としない。証明は簡単である)。
すべての機能合成として因数分解できる全射とそれに続く単射の式で、s はXからf ( X )への標準的な全射であり、i はf ( X )からYへの標準的な単射である。これはfの標準的な因数分解である。
「One-to-one」と「onto」は、古い英語文献でより一般的だった用語です。「injective」、「surjective」、「bijective」は、もともと20世紀第2四半期にブルバキグループによってフランス語で造語され、英語に取り入れられました。[ 22 ]注意すべき点として、「1対1関数」は単射関数であり、「1対1対応」は全単射関数を指します。また、「fはXをYに 写像する」という記述は、「 fはXをBに 写像する」という記述とは異なり、前者はfが全射であることを示唆していますが、後者はfの性質について何も主張していません。複雑な推論では、1文字の違いを見落としやすいです。この古い用語の紛らわしさから、これらの用語は、より対称的であるという利点もあるブルバキアンの用語に比べて人気が低下しています。
もしは関数であり、SはXの部分集合であるとき、Sへ、と表記されるは、 SからYへの関数であり、次のように定義されます。
Sのすべてのxに対して。制限を使用して部分逆関数を定義できます。関数の定義域に部分集合Sが存在する場合そのためが単射である場合、そのイメージには全単射であり、したがって からの逆関数を持つ。Sへ。 1 つの応用例は、逆三角関数の定義です。 例えば、コサイン関数は区間[ 0, π ]に制限すると単射になります。 この制限の像は区間[ −1, 1 ]であり、したがって制限には[ −1, 1 ]から[ 0, π ]への逆関数があり、これは逆コサインと呼ばれ、 arccos と表記されます。
関数制限は、関数同士を「つなぎ合わせる」ためにも使用できます。Xを部分集合の和集合として分解したものとし、関数が各各ペアに対して指標の制限そしてに等しい。すると、これは一意の関数を定義する。そのためすべてのiに対して。これが多様体上の関数が定義される方法です。
関数fの拡張とは、 f がgの制限となるような関数gのことである。この概念の典型的な使用例は解析接続であり、これにより、定義域が複素平面のごく一部である関数を、定義域が複素平面のほぼ全体である関数に拡張することができる。
実数直線のホモグラフィを研究する際に遭遇する関数拡張のもう一つの古典的な例を以下に示します。ホモグラフィとは関数です。ad − bc ≠ 0となるような。定義域は、以下の値と異なるすべての実数の集合である。そしてその像は、実数直線を∞ を含めて射影的に拡張した実数直線に拡張すると、 h を拡張した実数直線からそれ自身への全単射に拡張することができる。そして。
17世紀に始まった関数の概念は、新しい微積分学の基礎となった。当時は、実変数の実数値関数のみが考慮され、すべての関数は滑らかであると仮定されていた。しかし、その定義はすぐに多変数関数や複素変数関数へと拡張された。19世紀後半には、関数の数学的に厳密な定義が導入され、任意の定義域と終域を持つ関数が定義された。
関数は現在、数学のあらゆる分野で用いられています。初歩的な微積分では、特に断りなく「関数」という言葉を用いる場合、それは単一の実変数の実数値関数を意味します。より一般的な関数の定義は、通常、理系分野の大学2年生または3年生に導入され、4年生になると、実解析や複素解析といった科目を通して、より大規模で厳密な微積分を学ぶことになります。



実関数とは、実変数の実数値 関数、すなわち、終域が実数体であり、定義域が区間を含む実数の集合である関数のことです。このセクションでは、これらの関数を単に関数と呼びます。
数学とその応用において最も一般的に扱われる関数は、連続性、微分可能性、さらには解析性といった一定の規則性を持っています。この規則性によって、これらの関数はグラフによって視覚化することができます。このセクションでは、すべての関数は何らかの区間で微分可能であるものとします。
関数は点ごとの演算を享受する。つまり、fとg が関数である場合、それらの和、差、積は次のように定義される関数である。
結果として得られる関数の定義域は、fとgの定義域の共通部分である。2 つの関数の商は、同様に次のように定義される。
しかし、結果として得られる関数の定義域は、fとgの定義域の交点からgの零点を取り除くことによって得られます。
多項式関数は多項式によって定義され、その定義域は実数全体です。これには定数関数、線形関数、二次関数が含まれます。有理関数は2つの多項式関数の商であり、その定義域はゼロ除算を避けるために有限個の実数を除いた実数です。最も単純な有理関数は関数です。そのグラフは双曲線であり、定義域は0を除く実数全体である。
実微分可能な関数の導関数は実関数です。連続実関数の原始関数は、元の関数を導関数として持つ実関数です。例えば、関数は正の実数上で連続であり、微分も可能です。したがって、 x = 1のときに値がゼロになる原始関数は、自然対数と呼ばれる微分可能な関数です。
実関数fは、ある区間において、その符号が区間内のxとyの選択には依存しません。関数が区間内で微分可能であれば、導関数の符号が区間内で一定であれば、関数は単調です。実関数fが区間Iで単調であれば、逆関数を持ちます。これは、定義域がf ( I )で像がIである実関数です。このようにして、三角関数を用いて逆三角関数が定義されます。ここで、三角関数は単調です。別の例: 自然対数は正の実数で単調であり、その像は実数全体です。したがって、実数と正の実数の間の全単射である逆関数を持ちます。この逆関数は指数関数です。
他の多くの実関数は、陰関数定理(逆関数はその特殊な例)によって定義されるか、微分方程式の解として定義されます。例えば、正弦関数と余弦関数は、線形微分方程式の解です。
そのため
関数の終域の要素がベクトルである場合、その関数はベクトル値関数と呼ばれます。このような関数は、例えば物理的特性のモデリングなど、様々な応用分野で特に有用です。例えば、流体の各点に速度ベクトルを割り当てる関数は、ベクトル値関数です。
ベクトル値関数の中には、サブセット上で定義されるものがある。または、幾何学的または位相的特性を共有する他の空間多様体など。これらのベクトル値関数はベクトル場と呼ばれます。
数学解析、特に関数解析において、関数空間とは、特定の性質を共有し、位相ベクトル空間を形成するスカラー値関数またはベクトル値関数の集合である。例えば、コンパクトな台を持つ実滑らかな関数(つまり、あるコンパクト集合の外側ではゼロとなる関数)は、分布理論の基礎となる関数空間を形成する。
関数空間は、その代数的性質と位相的性質を利用して関数の性質を研究することを可能にするため、高度な数学解析において基本的な役割を果たします。例えば、常微分方程式や偏微分方程式の解の存在定理と一意性定理はすべて、関数空間の研究から得られたものです。


実変数または複素変数の関数を指定するいくつかの方法は、まずある点またはその近傍における関数の局所的な定義から始め、次に連続性によって関数をはるかに大きな領域に拡張します。多くの場合、開始点としてこの関数には、いくつかの可能な初期値が存在する。
例えば、平方根を平方関数の逆関数として定義する場合、任意の正の実数に対して平方根の値には 2 つの選択肢があり、そのうちの 1 つは正の値で、次のように表されます。そしてもう一つは負の値で、これらの選択により、定義域が非負の実数であり、像が非負または非正の実数である2つの連続関数が定義されます。これらの関数のグラフを見ると、それらが一体となって滑らかな曲線を描いていることがわかります。したがって、これら2つの平方根関数を、正のxに対して2つの値、0に対して1つの値、負のxに対しては値を持たない単一の関数として考えることがしばしば有効です。
前述の例では、正の平方根という選択肢の方が、もう一方よりも自然です。しかし、これは一般的には当てはまりません。例えば、y を次の根xに写像する陰関数を考えてみましょう。(右図を参照)。y = 0の場合、以下のいずれかを選択できます。xについて。陰関数定理により、それぞれの選択肢が関数を定義します。最初の選択肢の場合、(最大) 定義域は区間[ −2, 2 ]で、像は[ −1, 1 ]です。2 番目の選択肢の場合、定義域は[ −2, ∞)で、像は[ 1, ∞)です。最後の選択肢の場合、定義域は(−∞, 2 ]で、像は(−∞, −1 ]です。3 つのグラフは一緒に滑らかな曲線を形成し、1 つの選択肢を優先する理由はないため、これら 3 つの関数は、−2 < y < 2に対して 3 つの値を持ち、y ≤ −2およびy ≥ −2に対して 1 つの値のみを持つyの単一の多価関数としてよく考えられます。
多価関数の概念の有用性は、複素関数、特に解析関数を考える際に明らかになります。複素関数を解析接続によって拡張できる領域は、一般的に複素平面のほぼ全体から構成されます。しかし、2つの異なる経路で領域を拡張すると、異なる値が得られることがよくあります。たとえば、平方根関数の定義域を正の虚部を持つ複素数の経路に沿って拡張すると、 -1 の平方根はiになりますが、負の虚部を持つ複素数に沿って拡張すると、- iになります。この問題を解決するには、一般的に 2 つの方法があります。1 つは、分岐切断と呼ばれる曲線に沿って連続しない関数を定義することです。このような関数は、関数の主値と呼ばれます。もう 1 つの方法は、孤立した特異点を除いてどこでも解析的であるが、特異点の周りの閉じたループをたどると値が「ジャンプ」する多価関数を考えることです。このジャンプはモノドロミーと呼ばれます。
本稿で定義する関数の定義には、集合の概念が不可欠です。なぜなら、関数の定義域と値域は集合でなければならないからです。これは通常の数学では問題になりません。定義域が明示的に定義されていなくても、定義域と値域が集合である関数だけを考えることは一般的に難しくなく、定義域が明確に定義されているからです。しかし、より一般的な関数を考えることが有用な場合もあります。
例えば、シングルトン集合は関数とみなすことができる。その定義域にはすべての集合が含まれるため、集合にはならない。通常の数学では、定義域を指定することでこのような問題を回避し、その結果、多くの単一関数が存在することになる。しかし、数学の基礎を確立する際には、定義域、終域、またはその両方が指定されていない関数を使用しなければならない場合があり、論理学者などの一部の著者は、これらの弱く指定された関数に対して厳密な定義を与えている。[ 23 ]
これらの一般化された関数は、数学の基礎の形式化の発展において重要となる可能性がある。例えば、フォン・ノイマン=ベルネイス=ゲーデル集合論は、すべての集合の集合をクラスとする集合論の拡張である。この理論には置換公理が含まれており、それは次のように述べることができる。X が集合であり、F が関数であるならば、 F [ X ]は集合である。
集合論ではなく型理論を用いた数学の基礎の別の定式化では、関数は他の種類のオブジェクトから定義されるのではなく、原始的な概念として扱われます。関数は関数型の住人であり、ラムダ計算の式を用いて構築することができます。[ 24 ]
コンピュータプログラミングにおいて、関数とは一般に、関数の抽象概念を実装するサブルーチンです。つまり、入力ごとに出力を生成するプログラム単位です。関数型プログラミングは、数学関数のように振る舞うサブルーチンのみを使用してプログラムを構築するプログラミングパラダイムです。つまり、副作用がなく、引数のみに依存します。参照透過性があります。たとえば、は、3 つの (引数なし) 関数を引数として受け取り、最初の引数の値 ( trueまたはfalse ) に応じて、2 番目または 3 番目の引数の値を返す関数です。関数型プログラミングの重要な利点は、ラムダ計算(後述)という確立された理論に基づいているため、プログラムの証明が容易になることです。ただし、実用的なプログラム、つまり入出力を行うプログラムでは、副作用は一般的に必要です。Haskellのような純粋関数型言語のクラスがあり、関数の型に副作用の可能性をカプセル化しています。ML ファミリーのような他の言語は、単に副作用を許容します。if_then_else
多くのプログラミング言語では、出力がなく副作用しかない場合や、機能が単にコンピュータのメモリ内のデータを変更するだけの場合であっても、すべてのサブルーチンは関数と呼ばれます。
プログラミング言語の文脈以外では、「関数」はコンピュータサイエンスにおける通常の数学的な意味を持つ。この分野では、関数の計算可能性が重要な特性の一つである。この概念、そして関連するアルゴリズムの概念に正確な意味を与えるために、いくつかの計算モデルが導入されてきた。古いものとしては、一般再帰関数、ラムダ計算、チューリングマシンなどがある。計算可能性理論の基本定理は、これら3つの計算モデルが同じ計算可能な関数の集合を定義するというものである。チャーチ=チューリングのテーゼは、哲学的に受け入れられる計算可能な関数の定義はすべて、同じ関数を定義するという主張である。これまで提案されてきた他のすべての実用的な計算可能な関数のモデルは、同じ計算可能な関数の集合、あるいはより小さな集合を定義する。
一般的な再帰関数は、整数から整数への部分関数であり、定義することができます。
オペレーター経由で
これらは整数から整数への関数に対してのみ定義されているが、以下の特性の結果として、あらゆる計算可能な関数をモデル化することができる。
ラムダ計算は、集合論を用いずに計算可能な関数を定義する理論であり、関数型プログラミングの理論的基盤となっている。ラムダ計算は、変数、関数定義(λ項)、または項への関数の適用といった項から構成される。項は、その公理(α同値性、β還元、η変換)を書き換え規則として解釈することで操作され、これらの規則は計算に利用できる。
ラムダ計算の本来の形態では、関数の定義域と終域の概念は含まれていません。大まかに言えば、これらは型付きラムダ計算において「型」という名称で理論に導入されました。ほとんどの種類の型付きラムダ計算は、型なしラムダ計算よりも定義できる関数の数が少なくなります。
関数は、集合から数値の集合、つまり
R
や
C
または体
K
への写像という特殊なタイプの写像です。
{{cite book}}ISBN /日付の不一致(ヘルプ){{cite book}}ISBN /日付の不一致(ヘルプ)