単体複体の二元体係数ホモロジー0:二元体上の線型代数

提供: Mathpedia

この章では、今後の章で主役となる二元体とその上の線型代数について復習する。 二元体とは唯二つの要素のみから成るのことであり、その計算規則の特異さから、実数体 $\mathbb{R}$ や複素数体 $\mathbb{C}$ 上の線型代数とは異なる部分を生む。

入門テキスト「単体複体の二元体係数ホモロジー」

二元体

定義0.1(二元体)

二元集合 $\{\heartsuit, \clubsuit\}$ 上に、加法 $+$ と乗法 $\cdot$ を

$+$ $\heartsuit$ $\clubsuit$
$\heartsuit$ $\heartsuit$ $\clubsuit$
$\clubsuit$ $\clubsuit$ $\heartsuit$
$\cdot$ $\heartsuit$ $\clubsuit$
$\heartsuit$ $\heartsuit$ $\heartsuit$
$\clubsuit$ $\heartsuit$ $\clubsuit$

で与えるとき、$\{\heartsuit, \clubsuit\}$ は $\heartsuit$ を加法単位元、$\clubsuit$ を乗法単位元として体となる。この体を二元体(finite field of order two)という。

注意0.2

  • 二元集合 $\{\heartsuit, \clubsuit\}$ を体にするような演算は、上のものしかないことが分かる。
  • デジタル回路に親しみのある読者は、加法が$\mathsf{XOR}$、乗法が$\mathsf{AND}$に見えるかもしれない。実際それは正しいし、デジタル回路には二元体上の線型代数が用いられることがしばしばある。詳しくは誤り訂正符号を参照されたい。

表記0.3

  • 以降、$\heartsuit = 0, \ \clubsuit = 1$と書き、$\mathbb{Z}_2 = \{0, 1\}$で二元体を表すことにする[1]
  • 二元体においても、$1$ を $n$ 回足したものを $n$ と表す。しかし、$0 = 2 = 4 = 6 = \cdots$ であるし、$1 = 3 = 5 = 7 = \cdots$ である。
  • 二元体においても、$x$ の加法逆元を $-x$ と表す。しかし、演算表から $-1 = 1$ である。よって、$3 = -3$ でもあるし、$1000 = -1000$ でもある。
  • 二元体においても、混乱のない限り、乗法の記号 $\cdot$ を省略する。

演習問題0.4

次の計算を実行し、計算結果を $0$ または $1$ で(必要なら場合分けを用いて)表せ。ただし、$x$ は $\mathbb{Z}_2$ の任意の要素とする。

(1) $3 + 4$
(2) $5 \cdot 7$
(3) $4 \cdot (1 + 2 + 3 + \cdots + 100)$
(4) $x + x$
(5) $x \cdot (x + 1)$
Proof.

(1) $1$
(2) $1$
(3) $0$
(4) $0$
(5) $0$

注意0.5(二元集合の直積について)

本節の内容は、人によっては集合論の復習である。 しかし、これは今後の章においても重要な視点をもたらすので、改めて注意しておく。 この注意の中でのみ、二元体 $\mathbb{Z}_2$ から演算を忘れて、単なる二元集合と思うことにする。

正の整数 $n$ に対して、直積集合 $\mathbb{Z}_2^n$ とは、 $\mathbb{Z}_2$の要素 $n$ 個の組全体が成す集合であった。 ここで、一般の集合 $X$ に対して、$\mathbb{Z}_2^X$を「 $X$ から $\mathbb{Z}_2 = \{0, 1\}$ への写像全体の集合」として定義する[2]。 この定義は、次のような背景による:

$v = (v_1, \dots, v_n) \in \mathbb{Z}_2^n$ に対して、写像 $$\chi_v \ \colon \ \{1, 2, \dots, n\} \to \mathbb{Z}_2, \quad \chi_v(i) = v_i$$ を対応させる。すると、これは直積集合 $\mathbb{Z}_2^n$ と $\mathbb{Z}_2^{\{1, 2, \dots, n\}}$ の間の全単射を与えている。

なお、この全単射を以て $\mathbb{Z}_2^n = \mathbb{Z}_2^{\{1, 2, \dots, n\}}$ と同一視する。

さて、実は、集合 $\mathbb{Z}_2^X$ と $X$ の冪集合 $2^X$ との間に全単射を構成することができる。実際、$\mathbb{Z}_2^X$ の要素 $f : X \to \mathbb{Z}_2$ に対して $f^{-1}(1) \subset X$ を対応させればよい。逆の対応は、 $A \subset X$ に対して \begin{align*} \chi_A \ \colon \ X \to \mathbb{Z}_2, \quad \chi_A(x) = \begin{cases} 1 & (x \in A) \\ 0 & (x \notin A) \end{cases} \end{align*} を対応させるものである。以降、この全単射を以て $\mathbb{Z}_2^X = 2^X$ と同一視する。

つまり、$\mathbb{Z}_2^X$ の要素(数ベクトル)を $2^X$ の要素($X$の部分集合)と見做すことができるし、逆に$2^X$ の要素($X$の部分集合)を $\mathbb{Z}_2^X$ の要素(数ベクトル)と見做すこともできる。 このことを念頭に置いて、今後の章を読んでもらいたい。

二元体上のベクトル空間

実数体 $\mathbb{R}$ や 複素数体 $\mathbb{C}$ 上のベクトル空間と同様に、二元体 $\mathbb{Z}_2$ 上のベクトル空間も考えることができる。 その公理は線形代数学を参照されたい。

例0.6(二元体上のベクトル空間)

  • $n$ を正の整数とする。このとき、 $\mathbb{Z}_2^n$ は成分ごとの和・スカラー倍によって $\mathbb{Z}_2$ 上のベクトル空間となる。これを数ベクトル空間という。
  • $X$ を集合とする。このとき、$\mathbb{Z}_2^X$ は次のような和・スカラー倍によって$\mathbb{Z}_2$ 上のベクトル空間となる: $f, g \in \mathbb{Z}_2^X$ に対して、和 $f + g$ やスカラー倍 $1 \cdot f, \ 0 \cdot f$ を $$(f + g)(x) = f(x) + g(x), \quad (1 \cdot f)(x) = f(x), \quad (0 \cdot f)(x) = 0 \quad (x \in X)$$ で定める(各点ごとの和・スカラー倍)。

注意0.5に関連して、特筆すべき例を以下に述べる。

例0.7(冪集合は二元体上のベクトル空間である)

集合 $X$ に対して冪集合 $2^X$ を考える。このとき、$A, B \in 2^X$(すなわち $A, B \subset X$ )に対してその和 $A + B$ を \begin{align*} A + B &= (A \cup B) - (A \cap B) \\ &= (A - B) \cup (B - A) \\ &= \{ x \in X \ | \ x \in A \ \text{または} \ x \in B \ \text{のいずれか一方のみが成り立つ} \} \end{align*} で定義する(集合の対称差と呼ばれるものである。Venn図を描いてみるとよい。また、関連動画を参照されたい)。 また、$A \in 2^X$(すなわち $A \subset X$ )に対してそのスカラー倍を $$1 \cdot A = A, \quad 0 \cdot A = \varnothing$$ で定義する。 このとき、$2^X$ は $\mathbb{Z}_2$ 上のベクトル空間となる。 基本的な性質としては以下が挙げられる(絵を描いてみるとよい)。

  • 零ベクトルは $\varnothing$ である。
  • 任意の $A \in 2^X$ に対して、$A + A = 2 \cdot A = 0 \cdot A = \varnothing$ となる。
  • 任意の $A, B \in 2^X$ に対して、もし $A \cup B = X$ かつ $A \cap B = \varnothing$ ならば、$A + B = X$ となる。

さて、注意0.5によると、 $2^X$ と $\mathbb{Z}_2^{X}$ の間には全単射が存在し、したがって両者は集合として同一視されるのであった。 実は、その同一視は単なる集合の全単射のみならず$\mathbb{Z}_2$ 上の線型同型写像を与えている! このことを以下で確かめてみよう。

Proof.

  • [和を保つこと] $A, B \in 2^X$に対して、$\chi_{A + B} = \chi_A + \chi_B$ を確かめればよい。そのためには、任意の $x \in X$ に対して $$\chi_{A + B} (x) = \chi_A (x) + \chi_B (x)$$ が成り立つことを確かめればよい。
- $x \in A + B$ のとき、 $\chi_{A + B}$ の定義より $\text{左辺} = 1$ となる。一方で、$A + B$ の定義から、「$x \in A$ かつ $x \notin B$」または「$x \notin A$ かつ $x \in B$」 が成り立つ。よって、「$\chi_A (x) = 1$ かつ $\chi_B (x) = 0$」または「$\chi_A (x) = 1$ かつ $\chi_B (x) = 0$」が成り立つ。いずれの場合も $\chi_A (x) + \chi_B (x) = 1$ となるので、 $\text{右辺} = 1$ を得る。
- $x \notin A + B$ のとき、 $\chi_{A + B}$ の定義より $\text{左辺} = 0$ となる。一方で、$A + B$ の定義から、「$x \notin A$ かつ $x \notin B$」または「$x \in A$ かつ $x \in B$」 が成り立つ。よって、「$\chi_A (x) = 0$ かつ $\chi_B (x) = 0$」または「$\chi_A (x) = 1$ かつ $\chi_B (x) = 1$」が成り立つ。いずれの場合も $\chi_A (x) + \chi_B (x) = 0$ となるので、 $\text{右辺} = 0$ を得る。
  • [スカラー倍を保つこと] $A \in 2^X$に対して、$\chi_{1 \cdot A} = 1 \cdot \chi_A$ と $\chi_{0 \cdot A} = 0 \cdot \chi_A$ の両方を確かめればよい。しかし、これはどちらも次のように示せる。
- $\chi_{1 \cdot A} = \chi_A = 1 \cdot \chi_A$
- $\chi_{0 \cdot A} = \chi_\varnothing = 0 = 0 \cdot \chi_A$

これで、冪集合 $2^X$ と $\mathbb{Z}_2^{X}$ は、$\mathbb{Z}_2$ 上のベクトル空間としても同一視できることが分かった。

注意0.8

  • 上の線型同型から、特に $\dim_{\mathbb{Z}_2} 2^X = |X|$ が分かる。
  • 上の線型同型によって、たとえば
- $\varnothing$ は 恒等的に $0$ を返す写像 $\mathbf{0}$、
- $X$ は 恒等的に $1$ を返す写像 $\mathbf{1}$

と対応する。

演習問題0.9

以下の問題は、解きながら $X, A, B$ たちを図示してみるとよい。

(1) $X = \{1, 2, 3\}$ とする。以下のそれぞれの場合について、$A + B$ を計算せよ。
(1-a) $A = \{1\}, \ B = \{3\}$
(1-b) $A = \{1, 2\}, \ B = \{2, 3\}$
(1-c) $A = \{1, 2, 3\}, \ B = \{3\}$
(1-d) $A = \{2, 3\}, \ B = \varnothing$
(2) $X = \mathbb{N} = \{1, 2, 3, \dots \}$ とする。以下のそれぞれの場合について、$A + B$ を計算せよ。
(2-a) $A = 2 \mathbb{Z} = \{ x \in X \ | \ x \text{ は偶数 } \}, \ B = 2 \mathbb{Z} + 1 = \{ x \in X \ | \ x \text{ は奇数 } \}$
(2-b) $A = \{ x \in X \ | \ x \text{ は素数 } \}, \ B = \{ x \in X \ | \ x \text{ は奇素数 } \}$
Proof.

(1-a) $A + B = \{1, 3\}$
(1-b) $A + B = \{1, 3\}$
(1-c) $A + B = \{1, 2\}$
(1-d) $A + B = \{2, 3\}$
(2-a) $A + B = X$
(2-b) $A + B = \{2\}$

二元体上の線型代数

大方の理論的な準備は整ったが、実際に $\mathbb{Z}_2$ 上で線型代数の計算をしてみよう。 手を動かして計算することで、二元体 $\mathbb{Z}_2$ と実数体 $\mathbb{R}$ や複素数体 $\mathbb{C}$ との違いを実感できるだろう。

例題0.10

$\mathbb{K}$ を体とし、以下で与えられる行列 $X \in \mathrm{M}_2 (\mathbb{K})$ を考える: \begin{align*} M = \begin{bmatrix} 1 & 0 \\ 0 & 2 \end{bmatrix}。 \end{align*} ここで、 $\mathbb{K} = \mathbb{R}, \mathbb{C},$ そして $\mathbb{Z}_2$ それぞれの場合を考え、 $M$ の階数を求めてみよう。

Proof.

  • $\mathbb{K} = \mathbb{R}, \mathbb{C}$ の場合。 $2^{-1} \in \mathbb{K}$ なので、第 $2$ 行を $2^{-1}$ 倍して

\begin{align*} M = \begin{bmatrix} 1 & 0 \\ 0 & 2 \end{bmatrix} \to \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \end{align*} となる。最右辺は階段標準形なので、$M$ の階数は $2$ だと分かる。

  • $\mathbb{K} = \mathbb{Z}_2$ の場合。 $2 = 0$ なので、$2^{-1} = 0^{-1}$ は存在しない。そこで単に $2 = 0$を使ってみると

\begin{align*} M = \begin{bmatrix} 1 & 0 \\ 0 & 2 \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \end{align*} となる。最右辺は階段標準形なので、$M$ の階数は $1$ だと分かる。

このように、行列を扱う体によって、行列の階数は変わってしまう。 階数が変われば行列が引き起こす線型写像の核・像も変わるので、注意が必要である。

演習問題0.11

上記の $M$ を $\mathrm{M}_2 (\mathbb{Z}_2)$ の要素と見て、それが引き起こす線型写像 \begin{align*} f_M \ \colon \ \mathbb{Z}_2^2 \to \mathbb{Z}_2^2, \quad f_M \left( \begin{bmatrix} x \\ y \end{bmatrix} \right) = M \cdot \begin{bmatrix} x \\ y \end{bmatrix} \end{align*} を考える。 このとき、$f_M$ の核 $\mathrm{Ker} \ f_M$ と像 $\mathrm{Im} \ f_M$ をそれぞれ求めよ。また、$\mathbb{Z}_2^2$ は $4$ 元集合であることに注意して、$f_M$ の絵も描いてみよ。

Proof.

\begin{align*} \mathrm{Ker} \ f_M &= \left\{ \begin{bmatrix} 0 \\ y \end{bmatrix} \ \middle| \ y \in \mathbb{Z}_2 \right\}, \\ \mathrm{Im} \ f_M &= \left\{ \begin{bmatrix} x \\ 0 \end{bmatrix} \ \middle| \ x \in \mathbb{Z}_2 \right\}. \end{align*}

この章のおわりに

この章では、次の事柄を学んだ。

  • 二元体 $\mathbb{Z}_2$ の定義とその上の数の計算規則。
  • 任意の集合の冪集合が然るべき和・スカラー倍を以て $\mathbb{Z}_2$ 上のベクトル空間となること。
  • 二元体 $\mathbb{Z}_2$ 上の行列計算について、実数体 $\mathbb{R}$ や複素数体 $\mathbb{C}$ とは異なる点。

いずれも今後の章で頻繁に利用する事柄である。分からなくなったら、またこのページに戻って復習してみてほしい。

関連動画

脚注

  1. 二元体はよく $\mathbb{Z} / 2 \mathbb{Z}, \mathbb{F}_2, \mathrm{GF}(2)$ などとも表される。本テキストでは、一貫して $\mathbb{Z}_2$ と表す。
  2. 今は使わないが、より一般に集合 $X, Y$ に対して、$Y^X$ を「 $X$ から $Y$ への写像全体の集合」として定義することができる。