指数関数と対数関数を対称的に書く

概要

指数関数 2^p\bigtriangleup_2(p)、対数関数 \log_2 x\bigtriangledown_2 (x)と書けば互いに逆関数ということがわかりやすい。
指数関数2^p\exp_2 p と書けば対数関数 \log_2 x と記法がそろう。

本文

指数と対数には以下のような関係があります。

\begin{align*}
\log_b (b^p) &= p\\
b^{\log_b x} &= x
\end{align*}

この関係はどういうものなのでしょうか。

まず、対数のWikipediaの説明を見てみましょう。

対数(たいすう、英: logarithm)とは、ある数 x を数 b の冪乗 b^p として表した場合の冪指数 p である。この p は「底を b とする x の対数(英: logarithm of x to base b; base b logarithm of x)」と呼ばれ、通常は \log_b xと書き表される。

対数 - Wikipedia

x=b^p のときに、p のことを \log_b xと表記するということです。
これは、b を介した、px=b^pの関係とみることができます。

\begin{align*}
p &\xrightarrow{\bigtriangleup_{b}} b^p\\
p &\xleftarrow{\bigtriangledown_{b}}  b^p
\end{align*}

p に何かをすると b^p になります。これはb の「肩に乗せる」操作なので、\bigtriangleup_{b} と書いてみましょう。
逆に、b^p に何かするとpになります。これはbの「肩に乗せる」の逆の操作で、「肩から降ろす」操作と考えられます。\bigtriangledown_{b}と書いてみましょう。

\bigtriangleup_bpx=b^pにする操作、\bigtriangledown_bx=b^ppにする操作と定義したので、2つの操作を連続するともとに戻ってきます。
\begin{align*}
p &\xrightarrow{\bigtriangleup_{b}} x \xrightarrow{\bigtriangledown_b} p\\
x &\xrightarrow{\bigtriangledown_{b}} p \xrightarrow{\bigtriangleup_b} x\\
\end{align*}

これにより、指数関数(\bigtriangleup_b)と対数関数(\bigtriangledown_b)は互いに逆関数だとわかりました。
\bigtriangleup_b\bigtriangledown_b を関数の記法で書くこともできます。

\begin{align*}
\bigtriangledown_b (\bigtriangleup_{b}(p)) &= p\\
\bigtriangleup_b (\bigtriangledown_{b}(x)) &= x
\end{align*}

よく高校数学で使われる表記にすると
\begin{align*}
\log_b (b^p) &= p\\
b^{\log_b x} &= x
\end{align*}

冒頭の式に戻りました。
しかしなんだか読みにくくなっただけで、矢印を使ったほうが読みやすかったですね。

参考までに、対数関数\log_2 x と 同様に書けるように、指数関数2^p\exp_2 p と書いてみましょう*1

\begin{align*}
\log_b (\exp_{b}(p)) &= p\\
\exp_b (\log_{b}(x)) &= x
\end{align*}

逆関数の記法で書いてみましょう。関数f逆関数f^{-1}と表記されることが多いです。

\begin{align*}
\exp_b^{-1} (\exp_{b}(p)) &= p\\
\log_b (\log_{b}^{-1}(p)) &= p\\
\log_b^{-1} (\log_{b}(x)) &= x\\
\exp_b (\exp_{b}^{-1}(x)) &= x
\end{align*}

これでだいぶすっきりしました*2が、個人的には\bigtriangleup_b\bigtriangledown_bのように記号を使ったほうが読みやすいと思います。

*1:ネイピア数eを底とする指数関数を\expと書くことがあるので、それにならいました

*2:指数関数、対数関数どちらを逆関数にするかで場合が増えました。

逆関係としての関数の単射性、全射性

概要

  • 単射性は関数性の、全射性は全域性の逆関係であり、関数を考えるときは自然に現れる。
  • 単射性、全射性は集合の要素の個数と関連している。

本文

数学で関数を考えると単射全射といった概念が表れます。こういった概念はなぜ重要なのでしょうか。

2項関係としての関数

例として、2乗するという関数を考えます。関数を以下のように書くことができます。

\displaystyle f(x)=x^2

これは変数xを含んでいますが、関数とは(x, x^2)の集まり、つまり(1,1), (2,4), (3,9),\ldotsといったペア*1の集まりと考えることができます。
これに含まれるペアを本稿では以下のように書きます。

\displaystyle 1 \rhd_f 1,\quad 2 \rhd_f 4,\quad 3 \rhd_f 9, \ldots

このように書くと、関数とは2項関係の一種であることがわかります。2項関係(あるいは単に「関係」)とは、関係のあるペアの集まりです。2項関係の例としては、等しいという関係 (=)や小なりという関係(<)などがあります。

\displaystyle 1 = 1,\quad 2 = 2,\quad 3 = 3, \ldots\\ 1<2,\quad 1<3,\quad 2<3,\ldots

2項関係が関数になる条件

すべての関数は2項関係ですが、2項関係は一般には関数であるとは限りません。上の例では(=)という2項関係は関数ですが、(<)という関係は関数ではありません。1より大きい数は複数ありますし、3より小さい数も複数あります。

2項関係を決めるには、2つの集合、定義域と値域を定める必要があります。ここではXを定義域、Yを値域とします。
必ずしも関数とは限らないXY上の2項関係(\rhd_f)が関数であるための条件を考えます。

2項関係が関数になるひとつめの条件は、Xの任意の要素xについて、行先(ペアになるYの要素)がたかだかひとつに定まることです。
この条件を関数性と呼ぶことにします。
述語論理で書くと以下のようになります。

\displaystyle\forall x \in X,\  y_1, y_2 \in Y,\,\\
x \rhd_f y_1,\, x \rhd_f y_2 \Rightarrow y_1 = y_2 \tag{1}

2項関係が関数になるふたつめの条件は、定義域Xのすべての要素について、行先が存在することです。
この条件を全域性と呼ぶことにします。
述語論理で書くと以下のようになります。

\displaystyle \forall x \in X,\ \exists y \in Y,\,\\
 x \rhd_f y \tag{2}

(1)を満たしているが、(2)を満たしているとは限らない2項関係のことを部分関数と呼びます。これに対して、(1)と(2)の両方を満たしている2項関係を関数または全域関数という呼び方をします。

単射性、全射

必要な準備ができました。ここからが本題になります。

関数が単射であるとは、関数の条件(1) (2)に加えて、
行先が重なることがないという性質を持っていることです。
以下の条件で表されるこの条件(1')を、ここでは単射性と呼ぶことにします。

\displaystyle\forall y \in Y,\ x_1, x_2 \in X,\,\\
y \lhd_f x_1,\, y \lhd_f x_2 \Rightarrow x_1 = x_2 \tag{1'}

いっぽう、関数が全射であるとは、関数の条件(1) (2)に加えて、
関数のありうる行先が値域Yすべてを含んでいるということです。
以下の条件で表されるこの条件(2')を、ここでは全射性と呼ぶことにします。

\displaystyle\forall y \in Y,\ \exists x \in X,\,\\
y \lhd_f x  \tag{2'}

ここで、説明せずに使いましたが、(\lhd_f)とは(\rhd_f)の逆関係で、(\rhd_f)を使ってy \lhd_f x \Leftrightarrow x \rhd_f yで定義することができます。

(1)と(1')、そして(2)と(2') を見比べてみると、XYの役割と、記号の左右(\rhd_f)(\lhd_f)が入れ替わっていることがわかります*2

(\lhd_f)を新しい記号(\rhd_{\overline f})で置き換えてみるとよりわかりやすくなるかもしれません*3

\displaystyle\forall y \in Y,\ x_1, x_2 \in X,\,\\
y \rhd_{\overline f} x_1,\, y \rhd_{\overline f} x_2 \Rightarrow x_1 = x_2 \tag{1'}

\displaystyle\forall y \in Y,\ \exists x \in X,\,\\
y \rhd_{\overline f} x  \tag{2'}

以上より、

  • (\rhd_f)単射性とは、(\rhd_{\overline{f}})の関数性
  • (\rhd_{\overline{f}})単射性とは、(\rhd_f)の関数性
  • (\rhd_f)全射性とは、(\rhd_{\overline{f}})の全域性
  • (\rhd_{\overline{f}})全射性とは、(\rhd_f)の全域性

という関連がわかりました。単射性、全射性は、関数の条件であるところの関数性、全域性の裏返しなので、関数について考えると自然に表れてくる概念だということがわかります。

この関連がわかると、以下の主張も明らかなものとなります。

単射な部分関数というのは(1) (1') をみたす2項関係ですので、逆関係(\rhd_{\overline{f}})単射な部分関数になり、これを逆関数と呼ぶことができます。
単射かつ全射な全域関数というのは(1) (2) (1') (2') をみたす2項関係ですので、逆関係(\rhd_{\overline{f}})単射かつ全射な全域関数になり、これを逆関数と呼ぶことができます。

単射全射と集合の要素数

単射全射は集合の要素数と関連があります。

集合の要素数とは、集合に含まれる要素の、相異なるものの数のことです。
XからYへの全射部分関数が存在すると、Xの要素数(|X|とかきます)がYの要素数|Y|より小さくないことがわかります。

全射部分関数とは、(1)と(2')をみたす2項関係のことでした。(1)は関数の記法で書くと以下のようにも書けます*4

\displaystyle\forall x_1, x_2 \in X,\ \\
 f(x_1) \neq f(x_2) \Rightarrow  x_1 \neq x_2 \tag{3}

すなわち,

|Y|=mとすると*5、相異なるm個のYの要素y_1, y_2, \ldots, y_mが存在して、(2')より
x_1 \rhd_f y_1,\ x_2 \rhd_f y_2, \ldots, x_m \rhd_f y_mとなるx_1,\ x_2,\ldots,x_mが存在することがわかります。
(1) の書き換えである(3)より、このx_1,\ldots,x_mは相異なることがわかります。すなわち、|X| \geq m = |Y|となります。

XYの対称性より、(1')と(2)をみたす2項関係が存在すれば、|Y| \geq |X|であることがわかります。

*1:このペアには順序があり、順序対と呼ばれます

*2:小文字のxyは量化子によって束縛されている束縛変数なので、主張には影響ありませんが、わかりやすさのためにxyを入れ替えています

*3:逆関係はf^{-1}のように表記されることが多いですが、ここでは見やすさのために\overline{f}を使います

*4:部分関数なので、任意のx\in Xについてf(x)が定義されるとは限りません

*5:簡単のため有限集合とします

座標変換よりも点の移動

概要

方程式で表された図形の座標変換が難しいので、点の移動で考える。

本文

ユークリッド空間の方程式で表される図形があるとする。たとえばxy平面において、(x-a)^2+(y-b)^2=1 (方程式1)は、(a,b)を中心とする半径1の円である。

これを別の方程式x^2+y^2=1 (方程式2)で表される図形を何か変換(一対一対応)したものと考えたいとする。方程式2の方が式がシンプルで操作しやすい。これは(0,0)を中心とする半径1の円である。

この2つの図形の関係を説明する方法はいくつかある。ひとつには(x-a)=x', (y-b)=y'とおくと方程式1はx'^2+y'^2=1となり、x'y'平面での円を考えることができる。

しかしこの考え方では、x'y'平面での図形は分かっても、xy平面での図形とどう対応するのかすぐに分からない。x-a=x',\ y-b=y'の関係が何を意味するのかが直観的に分からないのだ。

f:id:kya-zinc:20200312133851p:plain

xy平面とx'y'平面

別の考え方で、点を動かすことを考える。図形というのは方程式を満たす点の集まり、集合と考えることができる。方程式2をベクトルに対する関数で表す(便宜上ここからは縦ベクトルにする)。

\begin{align}f \begin{pmatrix}x \\ y\end{pmatrix}=x^2+y^2-1\end{align}

とおくと、\begin{align}S_f=\left\{\begin{pmatrix}x \\ y\end{pmatrix}\mid f \begin{pmatrix}x \\ y\end{pmatrix}= 0\right\}\end{align} が図形である。

方程式が図形を表すというのはつまり

\begin{align}f \begin{pmatrix}x \\ y\end{pmatrix}=0 \Leftrightarrow \begin{pmatrix}x \\ y\end{pmatrix} \in S_f\end{align}、 関数値が0になることが点が図形に属することと同値になるということだ。方程式1はfを使って表せるから、代入すると、\begin{align}f \begin{pmatrix}x-a \\ y-b\end{pmatrix}=0 \Leftrightarrow \begin{pmatrix}x -a\\ y-b\end{pmatrix} \in S_f\end{align}、右側にベクトルを足しても同値だから、\begin{align}\Leftrightarrow\begin{pmatrix}x\\ y\end{pmatrix} \in S_f + \begin{pmatrix}a\\ b\end{pmatrix}\end{align} となる*1

これで、方程式1が、方程式2の図形の各点に \begin{pmatrix}a\\ b\end{pmatrix}を足した図形に属することを表すことが理解できた。\begin{pmatrix}a\\ b\end{pmatrix}を足すのはx方向にay方向にb移動させることだと直感的に理解できる。

f:id:kya-zinc:20200312134519p:plain

Sfの移動

一般化する。点を別の点に移す操作をPとおくと*2、\begin{align}f \begin{pmatrix}x \\ y\end{pmatrix}=0 &\Leftrightarrow \begin{pmatrix}x \\ y\end{pmatrix} \in S_f \\ f \left(P^{-1} \begin{pmatrix}x \\ y\end{pmatrix}\right)=0 &\Leftrightarrow P^{-1} \begin{pmatrix}x \\ y\end{pmatrix} \in S_f \\ &\Leftrightarrow \begin{pmatrix}x \\  y\end{pmatrix} \in P(S_f)\end{align} となる。P(S_f)PによるS_fの像である。

*1:S_f + \begin{pmatrix}a\\ b\end{pmatrix}\{v + \begin{pmatrix}a\\ b\end{pmatrix} \mid v \in S_f \}を表すものとする

*2:写像P^{-1}をもつ一対一写像とする

内項外項ではなく行列の対角の積

概要

a:b=c:dは対称性がわかりにくいので、行列 \begin{align}\begin{pmatrix}a & b \\c & d \end{pmatrix}\end{align}で書いてみる。

本文

内項の積外項の積という定理がある。

a:b=c:dという比例式が成立するとき、a\times d=b\times cが成立する。内側の2数をかけたものと外側の2数をかけたものが等しいというわけだ。

しかし、これが「内」「外」になるのは等式の両辺を横(左右)に並べたからだ。縦(上下)に並べてみよう。

\begin{align}&a:b \\ =\ &c:d \end{align}

四角形の対角(左上と右下、左下と右上。つまりナナメ)をかけたものは等しい、という位置関係になる。

 比例式はこのように縦に並べた方が自然だと考える。理由を説明していこう。

比例式の縦と横を入れ替えて書いてみる。

\begin{align}a&&c \\ \cdot\cdot&\;\; = &\cdot\cdot  \\ b &&d \end{align}

これはまさに、a:b=c:dのそれぞれの比が等しいことを表している。比というのは割合つまり割り算のことだ。

\begin{align}\dfrac{a}{b}=\dfrac{c}{d}\end{align}

この式のbcは入れ替えることができる。両辺にbをかけてcで割ると

\begin{align}\dfrac{a}{c}=\dfrac{b}{d}\end{align}

比に戻すと、

\begin{align}a&&b \\ \cdot\cdot&\;\; = &\cdot\cdot  \\ c &&d \end{align}

もともとの式\begin{align}&a:b \\ =\ &c:d \end{align} と同じ位置関係になった。ただし、縦の並びが比なのか、横の並びが比なのかは変わっている。

縦の並びの比が等しいことと横の並びの比が等しいことは同値であった。つまり、比例式の4つの数を並べた四角形は縦と横を入れ替えても意味が変わらないということになる。縦と横の対称性を分かりやすくするために、=:を取ってしまおう。すると比例式は4つの数を並べた行列になる。この行列は比が等しいという命題を表すものとする*1\Leftrightarrowは命題として同値であることを表す。

\begin{align}\begin{pmatrix}a & b \\c & d \end{pmatrix} \Leftrightarrow \begin{pmatrix}a & c \\b & d \end{pmatrix}\end{align}

これは行列の転置をしてもよいということである*2。この2つの行列はいずれも、a\times d=b\times c\dfrac{a}{b}=\dfrac{c}{d}\dfrac{a}{c}=\dfrac{b}{d}を表す。

比例式はもともと等式だったので、もちろん左辺と右辺を入れ替えても同値である。これは2行、あるいは2列を入れ替えることに相当する*3

\begin{align}\begin{pmatrix}a & b \\c & d \end{pmatrix} \Leftrightarrow \begin{pmatrix}c & d \\a & b \end{pmatrix}\end{align}

\begin{align}\begin{pmatrix}a & b \\c & d \end{pmatrix} \Leftrightarrow \begin{pmatrix}b & a \\d & c \end{pmatrix}\end{align}

3つ以上の数の比にもこの行列がそのまま使える。たとえば、九九の表の一部を比として考える。

\begin{align}&1:2:3 \\ =\ &2:4:6  \\ =\ &3:6:9 \end{align}

\begin{align}\begin{pmatrix}1&2&3\\ 2&4&6\\ 3&6&9\end{pmatrix}\end{align}

と書ける。

この場合も、「長方形の四頂点の位置にある数について、対角をかけたものは等しい」という性質は成り立っている。

比例式は行列で書き、「対角の積が等しい」と説明するべきである。

*1:通常、行列は命題を表すものではなく、正数の行列Aが比例式になることは命題{\it rank}\  A=1と同値になる。この記事では行列Aはすべて「{\it rank}\  A=1」という命題を表すと考えてかまわない。

*2:{\it rank}は行列の転置で不変である

*3:{\it rank}は行列の行入れ替え、列入れ替えで不変である

同値類上の関数としてのかけ算の順序問題

概要

順序のない集合に対してかけ算を定義すれば、かけ算の順序問題はなくなる

本文

kyasmt.hatenablog.com

前回の記事を書いたとき、「かけ算」を2引数関数だと考えていました。
Haskellのような記法を使うと、
{\it multiply}: {\it Num} \to {\it Num} \to {\it Num}

あるいは、直積型、組型(tuple) を使って

{\it multiply}: ({\it Num}, {\it Num}) \to {\it Num}

しかしかけ算を直積上の関数と考えても、(2,3)(3,2)は違う値ですから、2\times 33 \times 2は異なる式ということになります。

では、(2,3)(3,2)を同じものとみなす空間(たとえば、{\it NumNoOrderPair}とする)を考えたらどうでしょうか。

{\it multiply}: {\it NumNoOrderPair} \to {\it Num}

対の順序が逆なものを同値とみなす、すなわち

(a,b) \equiv (c,d) \Leftrightarrow (a=c \wedge b=d) \vee (a=d \wedge b=c)

という同値関係を考えると、 (2,3)\equiv(3,2)ですから、(2,3)という代表元に対して、\{(2,3),(3,2)\}という同値類が考えられます。

交換法則a\times b = b \times aが成り立つので、かけ算はこの同値類に対して定義することができます。

{\it multiply}\ (\{(2,3),(3,2)\}) = 6

2\times 3を、「(2,3)を代表元とする同値類に対して{\it multiply}を適用する」の略記と考えれば、2\times 33\times 2は同じ式ということになります。

この考え方は、3つ以上の数のかけ算に拡張できます。

かけ算には、交換法則に加えて結合法則が成立するので、どんな順番でかけ算をしても同じ結果になります。

かけ算は同じ数をかけることもあるので、たとえば2 \times 3 \times 4 \times 3は(2が1個、3が2個、4が1個)というものに対して積をとると考えます。(ここでも、2,3,4の順序が違っても同じものとみなします。)

2\times 33\times 2が同じ式だという主張をする人には、かけ算を、このような数の集まりに対する関数だととらえているのかもしれません。

かけ算の順序を変えてもよいのは、交換法則が成り立つからではない

概要

かけ算の順序を変えてもよいのはイコールだからではない

本文

かけ算の順序問題というテーマがある。
たとえば、「りんごがそれぞれ2つ乗った皿が3皿あります。りんごは全部でいくつあるでしょう。式と答えを書きなさい」という文章題が出されたときに、
式として「2×3=6」「3×2=6」のいずれか片方を正解とするか、
あるいは両方を正解とするかという話だ。
両方を正解とべきするという説に、「a×b=b×aという交換法則が成り立つから2つは同じ式である」という主張がある。
これは間違っている。
a×bとb×aは違う式である。
少なくとも字面は違っている。
a×b=b×a という等式は、両辺が値として等しいことを表しているが、同じ式であることを表しているわけではない。
たとえば、 6=6 や 18÷3=6という等式は成り立つが、
先の問題の答えに「6=6」とか「18÷3=6」という立式をしたら、これは不正解にされてしかるべきである。
イコールで結ばれたものがすべて同じ式であるのであれば、すべて正解にしないと筋が通らない。
これでは「式を書きなさい」という指示の意味がなくなってしまう。
式として、答えだけを書けばよいのだから。
つまり、等式が成り立つことは、正しい立式をしたことの必要条件ではあっても、十分条件ではない。
では、両方を正解とする立場の人は、何をもって正解を判断しているのか。
式の空間を考え、かけ算の順序が異なる式同士を、式として同値であると判断して、同値であれば正解としているということだろう。
この同値関係は先の推論より、イコールによる同値関係とは異なる。
もちろん、交換法則が成り立つからこそ、このような同値関係を入れて、答えと整合的になる、という意味で交換法則と関係はあるのだが。

道のりとしての対数

概要

\log _ a bが読みづらいので\overrightarrow{a b}と書いてみる。

本文

対数の底の変換公式とよばれる式があります。

\log _ b c = \frac{\log _ a c}{\log _ a b}

これが何かわからなかったので考えてみました。

ある数を2乗してから3乗するのは、6乗するのと同じです。 3乗してから2乗しても同じです。

(2^ 2)^ 3=(2^ 3)^ 2=2^ 6=64

2 \times 3 = 3 \times 2 = 6

対数を使って書くと

(2^ {\log _ 2 4})^ {\log _ 4 {64}}=(2^ {\log _ 2 {8}})^ {\log _ 8 {64}}=2^ {\log _ 2 {64}}=64

{\log _ 2 4} \times {\log _ 4 {64}}={\log _ 2 8} \times {\log _ 8  {64}}=\log _ 2 {64}

一般には

{\log _ a  b} \times {\log _ b  c}={\log _ a  c}

対数 \log _ a bというのは、「aからbまで進むのに何乗すればよいか」を表す道のりのような数で、2乗してから3乗する、というように合成することができます。 そこで\log _ a  b\overrightarrow{a b}と書いてみると

\overrightarrow{a b} \times \overrightarrow{b c} = \overrightarrow{a c}

aからbまで進んで、bからcまで進むのは、aからcまで進むことと同じ」 何かわかるようになりました。 割り算にしてみましょう。

\overrightarrow{b c} = \frac{\overrightarrow{a c}}{\overrightarrow{a b}}

aからcまでの道のりがわかっているとします。aからbまで進みました。残りのbからcまでの道のりはどれだけでしょう」 「bからcまでの道のりは、aからcまでの道のりからaからbまでの道のりを除いたものです」 ということと同じです。底の変換公式とはこういうことでした。

aからbの道のりがわかったら、aからbまで進んでみましょう。 進みそうな記号にするために、a^ x を a \rhd x と書いてみましょう。

a ^ {\log _ a b} = b は

a \rhd \overrightarrow{a b} = b

aからスタートしてaからbの道のりだけ進むとbに到着します。」

a^{\log _ a  b \times \log _ b  c} = (a ^ {\log _ a  b})^ {\log _ b  c} = b ^ {\log_ b  c}= c は

a \rhd (\overrightarrow{a b}\times\overrightarrow{b c}) = (a \rhd \overrightarrow{a b}) \rhd \overrightarrow{b c} = b \rhd \overrightarrow{b c} = c

aからスタートしてaからbまでの道のりとbからcまでの道のりを進むとcに到着します。」

対数とは道のりのことでした。