直積集合
数学において、集合のデカルト積(デカルト­せき、Cartesian product)または直積(ちょくせき、direct product)、直積集合、または単に積(せき、product)、積集合は、集合の集まり(集合族)に対して各集合から一つずつ元をとりだして組にしたもの(元の族)を元として持つ新たな集合である。
具体的に二つの集合 A, B に対し、それらの直積とはそれらの任意の元 a ∈ A, b ∈ B の順序対 (a, b) 全てからなる集合をいう。集合の組立記法 では
A \times B = \{(a,b) \mid a \in A \land b \in B \}
と書くことができる。有限個の集合の直積 A1 も同様の n-組からなる集合として定義されるが、二つの集合の直積を入れ子 (nested) にして、(A1 × ⋯ × An−1)× An と帰納的に定めることもできる。
順序対 (a, b) は、たとえ a, b (a ≠ b) がともに A にも B にも属していたとしても、一般には (a, b) ≠ (b, a) である。ゆえに、集合としても、A = B または少なくともいずれか一方が空集合でない限り
A\times B \ne B\times A
である。すなわち、直積は二項演算として可換でない。
また厳密に言えば、直積は結合的でもない。すなわち、A, B, C を集合とするとき、
(A\times B)\times C,\quad A\times(B\times C),\quad A\times B\times C
はすべて集合として異なる。しかし誤解の虞が無いならば、しばしばこれらの間の自然 (canonical) な全単射
((a,b),c) \gets\!\mapsto (a,(b,c)) \gets\!\mapsto (a,b,c)
によって全て同一視(成分の並びを変えずに括弧だけを外)される。この同一視のもとで、直積は結合的二項演算を定める。その意味で n-項直積 A1 × ⋯ × An は二つの集合の直積をとることの繰り返し
A_1\times\cdots\times A_n := (A_1\times\cdots\times A_{n-1})\times A_n
と定義することは可能である。
直積は添字集合 I を伴う集合族 Ai : i ∈ I に対して定められるから、1 Ai や ∏i∈I Ai あるいは A1 × ⋯ × An のように添字の動く範囲を明示するのが正確であるが、添字集合が明らかで誤解の虞のない場合にはしばしば省略した記法が用いられ、例えば ∏ Ai, ∏i Ai あるいは ⨉ Ai のように書かれる。特に A(同じ A の n 個のコピーの直積)は An, A×n, nA などと書かれる。
直積集合の視覚的にわかりやすい例としては、標準的な52枚一組のトランプのデッキがある。トランプのランクは {A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2} という 13 の元からなる集合である。スーツは {♠, , , ♣}  という 4 の元からなる集合である。この2つの集合の直積集合は、52 の組の元からなる集合であり、それぞれの元は、52枚のトランプのカードと1対1に対応している。
たとえば、ランク × スーツ という直積集合は、
{(A, ♠), (A, ), (A, ), (A, ♣), (K, ♠), ..., (3, ♣), (2, ♠), (2, ), (2, ), (2, ♣)}
という集合であり、スーツ × ランク という直積集合は、
{(♠, A), (♠, K), (♠, Q), (♠, J), (♠, 10), ..., (♣, 6), (♣, 5), (♣, 4), (♣, 3), (♣, 2)}
という集合である。
直積集合の元は順序対なので、同じ元はひとつも含まれていない。
有名な歴史的な例としては、解析幾何学における直交座標系がある。ルネ・デカルトは、数を用いて幾何学的な図形を表現したり、図形から数の情報を得たりするために、平面のそれぞれの点に実数の組を対応させ、その点の座標と名付けた。ふつう、このような組の1番目および2番目の要素は、それぞれ x および y 座標と呼ばれる。したがって、実数の組のすべての集合、すなわち ℝ×ℝ(ℝ は実数)という直積集合は、平面上のすべての点の集合に対応する。
n 個の集合 A1, …, An に対する直積集合を、\prod^{n}_{i=1} A_i = A_1\times A_2\times\dotsb\times A_n := \{(a_1,\dots,a_n) \mid a_1 \in A_1 \wedge \ldots \wedge a_n \in A_n \} と定義する。ここで (a1, …, an) は a1, …, an の順序付けられた n-組である。
必ずしも有限でない集合 Λ で添字付けられる集合の族 Aλλ∈Λ それらの直積は、写像の集合  \{a\colon\Lambda \to \mathbf{A} \mid a(\lambda) \in A_\lambda,\,\forall\lambda\in\Lambda\} \subset \operatorname{Map}(\Lambda,\mathbf{A})\quad(\mathbf{A} := \bigcup_{\lambda\in\Lambda}A_\lambda) と定義される。これはまた aλ coloneqq a(λ) と置けば、元の族の集合として \prod_{\lambda \in \Lambda} A_\lambda = \{(a_\lambda)_{\lambda \in \Lambda} \mid a_\lambda \in A_\lambda,\, \forall\lambda \in \Lambda \} と書くこともできる。Λ が有限ならばこれは先に述べた有限直積と一致するempty。
直積 ∏ Aλ に対し、各 Aλ をこの直積の直積因子と呼ぶ。各直積因子 Aμ (μ ∈ Λ) に対し、標準的に定まる全射  \pi_\mu\colon \prod_{\lambda\in\Lambda} A_\lambda \to A_\mu;\;(a_\lambda)_{\lambda\in\Lambda} \mapsto a_\mu を第 μ-成分への射影あるいは簡単に第 μ-射影などと呼ぶ。
集合 A に対し、それ自身の(任意個の)直積として得られる集合
A\times A,\,A^2:= A\times A,\,\ldots
を得る演算を A のデカルト冪 (Cartesian exponentation) と呼ぶ。非負整数 n に対して n-乗デカルト冪 (nth Cartesian power) は
A^n := \prod_{i=1}^n A = \overbrace{A\times A\times\cdots\times A}^{n} = \{(a_1,a_2,\ldots,a_n) \mid a_i \in A,\,\forall i=1,\ldots,n\}
で与えられる。一般の添字集合 Λ に対して
A^\Lambda := \prod_{\lambda\in\Lambda}A = \{(a_\lambda)_{\lambda\in\Lambda}\mid a_\lambda\in A\} = \operatorname{Map}(\Lambda,A)
は Λ から A への写像全体の成す集合に他ならないempty。
集合 ℝ を実数全体の作る実数直線とすれば、デカルト冪の例としてデカルト座標平面 ℝ2 = ℝ, 三次元デカルト座標空間 ℝ3 = ℝ × ℝ × ℝ, 一般に n-次元実座標空間 ℝn を挙げることができる。あるいは実数列の全体も自然数の全体 ℕ(最小の超限順序数 ω)で添字付けられた無限デカルト冪 ℝω = ℝ × ℝ × ⋯ である。
Aλ = ∅ であるような λ ∈ Λ が少なくとも一つ存在すれば、∏λ∈Λ Aλ = ∅ であることは、直ちに示される一方、その逆にあたる命題は選択公理 (と同値)である。
集合のデカルト積は交叉に関してよく振る舞う。すなわち
(A \cap B) \times (C \cap D) = (A \times C) \cap (B \times D)
が成り立つが、この式の交叉を合併に置き換えた式は一般には正しくない:
(A \cup B) \times (C \cup D) \neq (A \times C) \cup (B \times D).
(A \times C) \cup (B \times D) = [(A \setminus B) \times C] \cup [(A \cap B) \times (C \cup D)] \cup [(B \setminus A) \times D]
と書くことができる。差に関しては等式
(A \times C) \smallsetminus (B \times D) = [A \times (C \smallsetminus D)] \cup [(A \smallsetminus B) \times C]
が成り立つ。直積はいくつかの集合算に対して分配的であることが示せる:
A \times (B \cap C) = (A \times B) \cap (A \times C),
A \times (B \cup C) = (A \times B) \cup (A \times C),
A \times (B \setminus C) = (A \times B) \setminus (A \times C),
\complement(A \times B) = (\complement A \times \complement B) \cup (\complement A \times B) \cup (A \times \complement B),
ここで ∁A は A の補集合である。
(\prod_{\lambda\in\Lambda}A_\lambda)\cap(\prod_{\mu\in\Lambda}B_\mu) = \prod_{\lambda\in\Lambda}(A_\lambda\cap B_\lambda)
(\bigcup_{\lambda\in\Lambda}A_\lambda)\times(\bigcup_{\mu\in\Mu}B_\mu) = \bigcup_{(\lambda,\mu)\in\Lambda\times\Mu}(A_\lambda\times B_\mu)
(\bigcap_{\lambda\in\Lambda}A_\lambda)\times(\bigcap_{\mu\in\Mu}B_\mu) = \bigcap_{(\lambda,\mu)\in\Lambda\times\Mu}(A_\lambda\times B_\mu)
(\bigcup_{\lambda\in\Lambda}A_\lambda)\cap(\bigcup_{\mu\in\Mu}B_\mu) = \bigcup_{(\lambda,\mu)\in\Lambda\times\Mu}(A_\lambda\cap B_\mu)
(\bigcap_{\lambda\in\Lambda}A_\lambda)\cup(\bigcap_{\mu\in\Mu}B_\mu) = \bigcap_{(\lambda,\mu)\in\Lambda\times\Mu}(A_\lambda\cup B_\mu)
などが成り立つ。
ほかに、部分集合に関しては以下の性質がある:
A \subseteq B \implies A \times C \subseteq B \times C,
A\ne\emptyset \land B \neq \emptyset \implies [A \times B \subseteq C \times D \iff A \subseteq C \land B \subseteq D].
有限集合 A, B の直積 A × B の濃度は、A × B = A ⋅ B で与えられる。これは、数え上げに関する積の原理から導くことができる。
一例として、
A = 0, 1, 2, 3 (3以下の自然数の集合)
B = 1, 3 (3以下の奇数の集合)
このとき、A = 4, B = 2, A × B = (0,1), (0,3), (1,1), (1,3), (2,1), (2,3), (3,1), (3,3) であって、実際に A × B = 8 = 4 × 2 = A⋅B であることが確認できる。
濃度の積の意味で ∏Aλ = ∏Aλ
が成り立つ。特にデカルト冪について、
任意の自然数 n に対して An = An
が言え、あるいは一般に
が濃度の冪の意味で成り立つ。
直積は次のような普遍性を持つものとして特徴付けることができる:
任意の集合 Y と任意の写像の族 (fi: Y → Xi)i∈I が与えられたとき、写像 f: Y → X coloneqq ∏i∈I Xi で fi = pii ∘ f を満たすものがただ一つ存在する。
圏論の言葉で言えば、集合の直積は集合の圏における積である。
ふたつの写像 f: A → X, g: B → Y が与えられたとき、直積集合 A × B から直積集合 X × Y への写像を
(f\times g)(a,b) := (f(a),\,g(b))\quad (a\in A,\,b\in B)
で定義することができる。この f × g を写像 f, g の直積と呼ぶ。任意の有限あるいは無限個の写像の直積も同様に定義できる。
f × g が全射 (resp. 単射) であるための必要十分条件は f, g がともに全射 (resp. 単射) となることである。一般に、写像の族 (fλ: Aλ → Xλ) の直積 f = ∏fλ が全射 (resp. 単射) であるための必要十分条件は、任意の (fλ が全射 (resp. 単射) となることである。
集合の圏 Set における圏論的積の例として、固定された添字集合 I で添字付けられる任意の集合の族 Xi に対してそれらの直積 ∏ Xi を対応させ、さらにそのような集合の族の間の写像の族 fi: Xi → Yi に対してそれらの直積 ∏ fi を対応させるならば、そのような対応は SetI → Set なる形の函手(I-型の直積函手)を定める。
多変数の写像 f(x1, …, xn) は直積集合上の写像 f((xi)i∈I) として理解できる。
二項演算あるいは一般に多項演算は多変数の写像として定式化できる。
二変数の写像 f: A × B → X の一変数化 gb(a) coloneqq f(a, b) (a ∈ A, b ∈ B) は集合の圏における等式 XA×B = (XA)B を与える。これにより、集合の直積は配置集合をとる操作の左随伴となる。