このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

なんでソコに、足し算、掛け算、累乗の記号を使うのですか?

えっ、それが疑問だったの? あ、そう。んじゃ、ちょっと説明しましょう。

A、Bが集合だとして、

  • AとBの直和は、A+B
  • AとBの直積は、A×B
  • AとBの指数は、BA

と書きます。算数の足し算、掛け算、累乗の記号を使うのはなぜ? いやっ、そもそも、直和<ちょくわ>、直積<ちょくせき>、指数<しすう>ってなに? と、そんな疑問を持つ人のために。

記号の約束

集合とはいっても、ここでは有限集合だけを例に使うことにします。そして、[0] = {}, [1] = {1}, [2] = {1, 2}, [3] = {1, 2, 3} などと約束します。つまり、[n]と書いてあったらそれは「1からnまでの整数の集まり」です。こういった[n]は有限集合の典型例といえるでしょう。

有限集合Aに対して、#(A) は、Aの要素の個数だとします。例えば、#({a, b}) = 2 です。シャープ記号はナンバー記号とも呼ばれますから、#で個数(ナンバー)を表すのは自然でしょ。混乱の恐れがなければ、#(A) を #A とも書きます(丸括弧を省略)。

当然ながら、#[0] = 0, #[1] = 1, #[2] = 2, #[3] = 3、一般に #[n] = n です。これから説明することは、

  • #([n]+[m]) = #[n]+#[n] = n+m
  • #([n]×[m]) = #[n]×#[n] = n×m
  • #([m][n]) = #[m]#[n] = mn

ということだけです。(知っている方は、以下はスキップ。)

直積はやさしい

直積が一番簡単そうなので、これからはじめましょう。A×Bは、Aの要素aとBの要素bの組(a, b)を全部寄せ集めた集合です。例えば、

  • [2]×[3] = {1, 2}×{1, 2, 3} = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)}

です。(1, ?) と (2, ?) という2つのパターンを考えて、クエスチョンマークのところに、1, 2, 3が入ると、組み合わせ方は 2×3 ですね。あるいは、2本の縦線と3本の横線を交差させた碁盤目を勘定して 2×3 。この事情を一般化すれば、

  • #([n]×[m]) = #[n]×#[m] = n×m

直和は少しむずかしい

直和 A+B は、合併 A∪B とは違います。AとBに共通に属する要素があっても、それらを別々なものだと思って寄せ集めます。例えば、[2]+[3] は、合併 [2]∪[3] とは違います。[2]∪[3] = {1, 2}∪{1, 2, 3} = {1, 2, 3} ですが、[2]+[3] = {1, 2, 1', 2', 3} です。1' は、1 と同じモノですが別物扱いします -- なんか日本語おかしいですよね、でもまー、そんな感じなんですよ。2' は 2 と同じモノだけど別物ね :-)

なんだか禅問答みたいだと思う人のために、A+B = ({1}×A)∪({2}×B) という定義があります。この定義をありがたがることは全然ない(他にも定義の仕方はある)のですが、便利なのは確か。この定義によれば、

  • {1, 2}+{1, 2, 3} = ({1}×{1, 2})∪({2}×{1, 2, 3})

なので、

  • {(1, 1), (1, 2)}∪{(2, 1), (2, 2), (2, 3)} = {(1, 1), (1, 2), (2, 1), (2, 2), (2, 3)}

です。ここで、(1, ?) (2, ?) に出てくる1と2は、直積の場合とは全然別で、出身を示す目印です。A+Bをこの方法で作ったとき、(1, x) はAから来た(Aに由来する)xを示し、(2, x) はBから来たxを示します。「同じモノですが別物扱いします」という変な日本語は、「同じxですが、目印となる1と2で区別して扱います」ってことね。

{1}×A はAのコピー、{2}×BはBのコピー、目印1, 2が違うため共通部分はなく、#(A+B) = #({1}×A)+#((2}×B) = #A+#B は納得いくでしょ。結局、

  • #([n]+[m]) = #[n]+#[m] = n+m

ですね。

最後は指数

集合A、Bに対して、BAはBのA乗、指数集合といいます。確かに記号は指数(累乗、べき)の形をしているのだけど、「指数」という味気ない言葉じゃ何もイメージできませんよね。「関数集合」と言えばより事情が分かるでしょう。BAは、AからBへの(A上で定義され、Bに値を取る)関数の全体です。A→B という記法のほうが感じがでるでしょうが、矢印があまりに多用されているので、BA と書いたほうがむしろ混乱しません。

さて、[3][2]を考えましょう。これは(他の矢印の用法と区別できるなら)、[2]→[3] と書いてもいいのです。集合{1, 2}上で定義され、値を{1, 2, 3}に取る関数fは、f(1)とf(2)で決まります。f(1)の選び方は3通り、f(2)の選び方は3通り。3通りと3通りを自由に組み合わせていいので、合計 3×3=32通りの可能性があります。これらの組み合わせがそれぞれ1つの関数を決めるでの、関数の個数も32です。

9個全部はともかくも、4つくらい並べておきましょう。

  1. f(1) = 1, f(2) = 1
  2. f(1) = 1, f(2) = 2
  3. f(1) = 1, f(2) = 3
  4. f(1) = 2, f(2) = 1

[2][3] だったら、f(1), f(2), f(3) の値がそれぞれ2通りずつなので、2×2×2 = 23 です。一般に、

  • #([m][n]) = #[m]#[n] = mn

と、そんなわけで、足し算、掛け算、累乗の記号を使うのは的ハズレではありません。