こんにちは, @the_theorierです.
今回は関数の話です, まぁ以前別サイトで書いたものの焼き直しです.
関数の定義
そもそも関数の定義自体, 時代を経るにつれ変わっていきました.
基本的には「ある変数に依存して値が決まるような対応や数式など」で構いませんが, 扱う対象がどんどん広がっていき, それに応じて写像(map)や射(arrow)といった拡張概念も生まれています.
まぁそこまでやるとボリュームがどんどん増えていくので今回は関数に留めます.
表現は色々あり, 上の通りでも良いですが今回は下のようなものを定義としましょう.
定義(関数)
対象a, b をそれぞれ要素とする集合A, B について, その順序対
を考えます.
このとき,
がAからBへの関数であるとは次の3つを満たすものを言います;
の元はすべて
の形である, ただし
の任意の元
に対して,
となるような
が存在する
このとき と書き, 上記を満たす
を
と書きます.
写像の場合は明確に区別したりしますが, 関数については が AからBへの関数であるとき, A を定義域(domain)と呼び,
などと書きます.
またBを終域(codomain)と呼び, などと書きます.
AからBへの関数 について,
が存在するような
, つまり関数の定義(3)を満たすような
をすべて集めた集合を値域(range)と呼び,
などと書きます.
一般に値域と終域が同じであるとは限りません.
例えば実数空間の部分集合 から実数空間
への関数
の場合, 終域は
ですが値域は
となります.
これからも分かる通り, 一般に という関係が成り立ちます.
また, A の部分集合 A' の元による の値を集めた集合を,
の A' による像(image)と呼び,
と呼びますが, 上記の通りで関数と言ったら始域と定義域は同じであるため, 実質
と解釈されます.
「像」という語は写像で使われることが多いため(必ずしもそうとは言いません), 値域 を使う事になるでしょう.
更に突っ込んでおくと, 関数では断りが無い限り, Bに相当する集合を値域自身として議論します, 特に高校数学まででは顕著であり, 従ってこの解釈では
として良いことになります.
言葉で言えば「関数とはすなわち, 定義域から値域への対応」ということですね.
しかし実際にはそうなるとは限らないわけで(先程の例の通り), これに拘るのは宜しくありません.
以上をまとめると下の図のようになります.
それぞれの関係が分かるでしょうか?
これ以降は
として話を進めることにします.
合成関数
2つの関数 が存在するとき, それぞれの定義域, 値域の関係によっては
から
へとうまく対応付けることができます.
の場合
この場合は下のようになりますね.
この場合, の値域
の方が
の定義域
より真に大きいため,
のように
の要素は必ずしも
の値域である
の要素になるとは限りません.
つまりこの場合は による対応付けは完全ではありませんのでこの2つの関数を使った新しい対応(関数)は作れません.
の場合
この場合は下のようになりますね.
この場合, のすべての要素が
の要素になります.
従って から
への対応, すなわち関数を定めることができます.
改めて整理します.
二つの関数 が
を満たしているとき,
の任意の要素
は2つの関数
により,
の要素へと対応します.
このようにして定まる から
への関数を
と
の合成関数と呼び,
, 或いは省略して
と書き表します.
〆
取り敢えず図解でイメージしていただけたらと思って書きました, 参考にしてくださいね.