第 1 章では、1734 年にオイラーが $f(x)$ を発明し、関数が穴のあいた文になったことを語りました(オイラーと関数)。この記事では、関数に名前をつけるさまざまな方法と、それぞれがもたらす混乱を見ます。

関数とその値

二つの文を比べてみましょう。

  • 「関数 $f$ は増加する」
  • 「$x>0$ のとき $f(x)$ は正である」

一つめでは、$f$ は関数全体、規則であり、微分したり、合成したり、グラフに描いたりできる対象です。二つめでは、$f(x)$ は数です。入力が $x$ のときに関数が返す値です。違いは、「電卓」と「画面に出ている数」の違いと同じです。

実際には、だれもが「関数 $f(x)=x^2$」と書き、問題になることはほとんどありません。けれども、区別が大事になる場合もあります。関数 $f$ の導関数は別の関数 $f'$ で、$f'(3)=2\cdot3=6$ です。先に $f(3)=9$ を計算してから「$9$ を微分する」と、定数の導関数はゼロなので $0$ になってしまいます。誤りは順序にあります。微分したのは数、つまり値 $f(3)$ であって、関数 $f$ ではなかったのです。

三つの書き方

「2 乗する」という同じ関数に、少なくとも三つの記法があります。

記法 読み方 由来
$f(x)=x^2$ $x$ における $f$ の値は $x^2$ オイラー、1734 年
$f:x\mapsto x^2$ $f$ は各 $x$ を $x^2$ に移す 20 世紀にブルバキ・グループが広めた
$\lambda x.\,x^2$ $x$ を受け取って $x^2$ を返す関数 アロンゾ・チャーチ、1930 年代

矢印 $\mapsto$ には利点が一つあります。関数を入力から出力への移動として示し、$x$ が特定の数であるかのような印象を与えないことです。チャーチの $\lambda$ はさらに先へ進みます。関数に、名前のいらない名前を与えるのです。式 $\lambda x.\,x^2$ は関数そのものであり、$5$ が数そのものであるのと同じです。この考えから関数型プログラミング言語が生まれ、そこではたとえば lambda x: x**2 と書きます。

合成:右から左へ

二つの関数の合成は $f\circ g$ と書き、「$g$ のあとに $f$」と読みます。

$$(f\circ g)(x)=f(g(x)).$$

書く順序は、演算の順序と逆です。先に適用されるのは右にある $g$ です。$f(x)=x^2$、$g(x)=x+1$ とすると、

$$(f\circ g)(x)=(x+1)^2,\qquad(g\circ f)(x)=x^2+1.$$

これらは違う関数です。ガロアの三角形の対称と同じように、関数は可換ではなく、記法は順序を保たなければなりません。

意味が変わる指数

三角法には奇妙な約束事が残っています。わたしたちは

$$\sin^2x=(\sin x)^2$$

と書き、指数は「値を 2 乗する」という意味です。ところが、イギリスの天文学者ジョン・ハーシェルが 1813 年にこの記法を提案して以来、

$$\sin^{-1}x=\arcsin x$$

であり、指数 $-1$ は「逆関数」を意味し、$\frac1{\sin x}$ ではありません。関数名の右上という同じ場所が二つの違う規則を担っていて、どちらが有効かは記憶だけが教えてくれます。これは、記法が間違った一歩をそそのかすはっきりした例です。指数法則を $\sin^{-1}$ に当てはめると、間違った答えになります。

練習:穴に何が入るか

$f(x)=x^2$ として、$f(x+1)$、$f(x)+1$、$f(2x)$、$2f(x)$ を計算しなさい。入力をまるごと穴に入れます。$f(x+1)=(x+1)^2=x^2+2x+1$、$f(x)+1=x^2+1$、$f(2x)=(2x)^2=4x^2$、$2f(x)=2x^2$。四つの式はすべて違います。$+1$ や $2$ が括弧の内側か外側かという位置が、それが入力にはたらくか出力にはたらくかを決めるのです。

練習:sin⁻¹ と 1/sin

$\sin^{-1}\frac12$ と $\frac1{\sin(\pi/6)}$ を計算しなさい。一つめは正弦が $\frac12$ になる角で、$\frac\pi6$、つまり $30°$ です。二つめは $\frac1{1/2}=2$ です。似た記法が、まったく違う二つの対象を隠しています。角と、$1$ より大きいのでどんな角の正弦でもない数です。


章の目次 · ← パラメータ:ほかの文字が動くあいだ止まっている文字 · ダミーの文字:和の k と積分の t →