この項目では、集合の直積について説明しています。その他の用法については「直積 」をご覧ください。
数学 において、集合 のデカルト積 (デカルトせき、英 : Cartesian product )または直積 (ちょくせき、英 : direct product )、直積集合 、または単に積 (せき、英 : product )、積集合 は、集合 の集まり (集合族 )に対して各集合から一つずつ元 をとりだして組 にしたもの(元の族)を元として持つ新たな集合である。
A = {x , y , z } と B = {1, 2, 3} との直積の図示
具体的に二つの集合 A, B に対し、それらの直積とはそれらの任意の元 a ∈ A , b ∈ B の順序対 (a , b ) 全てからなる集合をいう。集合の組立記法 (英語版 ) では
A
×
B
=
{
(
a
,
b
)
∣
a
∈
A
∧
b
∈
B
}
{\displaystyle A\times B=\{(a,b)\mid a\in A\land b\in B\}}
と書くことができる。有限個の集合の直積 A 1 × ⋯ × A n も同様の n -組 からなる集合として定義されるが、二つの集合の直積を入れ子 (nested) にして、(A 1 × ⋯ × A n −1 )× A n と帰納的に定めることもできる。
順序対 (a , b ) は、たとえ a , b (a ≠ b ) がともに A にも B にも属していたとしても、一般には (a , b ) ≠ (b , a ) である。ゆえに、集合としても、A = B または少なくともいずれか一方が空集合 でない限り
A
×
B
≠
B
×
A
{\displaystyle A\times B\neq B\times A}
である。すなわち、直積は二項演算 として可換 でない。
また厳密に言えば、直積は結合的 でもない。すなわち、A , B , C を集合とするとき、
(
A
×
B
)
×
C
,
A
×
(
B
×
C
)
,
A
×
B
×
C
{\displaystyle (A\times B)\times C,\quad A\times (B\times C),\quad A\times B\times C}
はすべて集合として異なる。しかし誤解の虞が無いならば、しばしばこれらの間の自然 (canonical) な全単射
(
(
a
,
b
)
,
c
)
←
↦
(
a
,
(
b
,
c
)
)
←
↦
(
a
,
b
,
c
)
{\displaystyle ((a,b),c)\gets \!\mapsto (a,(b,c))\gets \!\mapsto (a,b,c)}
によって全て同一視(成分の並びを変えずに括弧だけを外)される。この同一視のもとで、直積は結合的二項演算を定める。その意味で n -項直積 A 1 × ⋯ × A n は二つの集合の直積をとることの繰り返し
A
1
×
⋯
×
A
n
:=
(
A
1
×
⋯
×
A
n
−
1
)
×
A
n
{\displaystyle A_{1}\times \cdots \times A_{n}:=(A_{1}\times \cdots \times A_{n-1})\times A_{n}}
と定義することは可能である。
直積は添字集合 I を伴う集合族 {A i : i ∈ I } に対して定められるから、∏n i =1 A i や ∏i ∈I A i あるいは A 1 × ⋯ × A n のように添字の動く範囲を明示するのが正確であるが、添字集合が明らかで誤解の虞のない場合にはしばしば省略した記法が用いられ、例えば ∏ A i , ∏i A i あるいは ⨉ A i のように書かれる。特に A × ⋯ × A (同じ A の n 個のコピーの直積)は A n , A ×n , n ⨉ A などと書かれる。
標準的なトランプの52枚のデッキ
直積集合の視覚的にわかりやすい例としては、標準的な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 個の集合 A 1 , …, A n に対する直積集合を、
∏
i
=
1
n
A
i
=
A
1
×
A
2
×
⋯
×
A
n
:=
{
(
a
1
,
…
,
a
n
)
∣
a
1
∈
A
1
∧
…
∧
a
n
∈
A
n
}
{\displaystyle \prod _{i=1}^{n}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}\}}
と定義する。ここで (a 1 , …, a n ) は a 1 , …, a n の順序付けられた n -組である。
任意濃度の直積
必ずしも有限でない集合 Λ で添字付けられる集合の族 {A λ }λ ∈Λ それらの直積は、写像の集合
{
a
:
Λ
→
A
∣
a
(
λ
)
∈
A
λ
,
∀
λ
∈
Λ
}
⊂
Map
(
Λ
,
A
)
(
A
:=
⋃
λ
∈
Λ
A
λ
)
{\displaystyle \{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 λ ≔ a (λ ) と置けば、元の族の集合として
∏
λ
∈
Λ
A
λ
=
{
(
a
λ
)
λ
∈
Λ
∣
a
λ
∈
A
λ
,
∀
λ
∈
Λ
}
{\displaystyle \prod _{\lambda \in \Lambda }A_{\lambda }=\{(a_{\lambda })_{\lambda \in \Lambda }\mid a_{\lambda }\in A_{\lambda },\,\forall \lambda \in \Lambda \}}
と書くこともできる。Λ が有限 ならばこれは先に述べた有限直積と一致する[ 注釈 1] 。
標準射影
直積 ∏ A λ に対し、各 Aλ をこの直積の直積因子 と呼ぶ。各直積因子 A μ (μ ∈ Λ) に対し、標準的に定まる全射
π
μ
:
∏
λ
∈
Λ
A
λ
→
A
μ
;
(
a
λ
)
λ
∈
Λ
↦
a
μ
{\displaystyle \pi _{\mu }\colon \prod _{\lambda \in \Lambda }A_{\lambda }\to A_{\mu };\;(a_{\lambda })_{\lambda \in \Lambda }\mapsto a_{\mu }}
を第 μ -成分への射影 あるいは簡単に第 μ -射影などと呼ぶ。
集合 A に対し、それ自身の(任意個の)直積として得られる集合
A
×
A
,
A
2
:=
A
×
A
,
…
{\displaystyle A\times A,\,A^{2}:=A\times A,\,\ldots }
を得る演算を A のデカルト冪 (Cartesian exponentation) と呼ぶ。非負整数 n に対して n -乗デカルト冪 (n th Cartesian power) は
A
n
:=
∏
i
=
1
n
A
=
A
×
A
×
⋯
×
A
⏞
n
=
{
(
a
1
,
a
2
,
…
,
a
n
)
∣
a
i
∈
A
,
∀
i
=
1
,
…
,
n
}
{\displaystyle 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
Λ
:=
∏
λ
∈
Λ
A
=
{
(
a
λ
)
λ
∈
Λ
∣
a
λ
∈
A
}
=
Map
(
Λ
,
A
)
{\displaystyle A^{\Lambda }:=\prod _{\lambda \in \Lambda }A=\{(a_{\lambda })_{\lambda \in \Lambda }\mid a_{\lambda }\in A\}=\operatorname {Map} (\Lambda ,A)}
は Λ から A への写像全体の成す集合 に他ならない[ 注釈 1] 。
集合 ℝ を実数全体の作る実数直線 とすれば、デカルト冪の例としてデカルト座標平面 (ドイツ語版 ) ℝ 2 = ℝ × ℝ , 三次元デカルト座標空間 ℝ 3 = ℝ × ℝ × ℝ , 一般に n -次元実座標空間 ℝ n を挙げることができる。あるいは実数列の全体 も自然数 の全体 ℕ (最小の超限順序数 ω )で添字付けられた無限デカルト冪 ℝ ω = ℝ × ℝ × ⋯ である。
例として A = {y ∈ ℝ : 1 ≤ y ≤ 4} , B = {x ∈ ℝ : 2 ≤ x ≤ 5} , C = {x ∈ ℝ : 4≤x ≤7} } のとき、A ×(B ∩ C ) = (A × B )∩(A × C ) , A ×(B ∪ C ) = (A × B )∪(A × C ) , A ×(B ∖ C ) = (A × B )∖(A × C ) などが読み取れる。
上と同じ例で (A ∪ B )×(C ∪ D ) ≠ (A × C )∪(B × D ) もわかる。
集合 A = {x ∈ ℝ : 2 ≤ x ≤ 5} , B = {x ∈ ℝ : 3 ≤ x ≤ 7} , C = {y ∈ ℝ : 1 ≤ y ≤ 3} , D = {y ∈ ℝ : 2 ≤ y ≤ 4} に対して (A ∩ B )×(C ∩ D ) = (A × C )∩(B × D ) が成り立つ。
A λ = ∅ であるような λ ∈ Λ が少なくとも一つ存在すれば、∏λ ∈Λ A λ = ∅ であることは、直ちに示される一方、その逆にあたる命題は選択公理 (と同値)である。
集合のデカルト積は交叉 に関してよく振る舞う。すなわち
(
A
∩
B
)
×
(
C
∩
D
)
=
(
A
×
C
)
∩
(
B
×
D
)
{\displaystyle (A\cap B)\times (C\cap D)=(A\times C)\cap (B\times D)}
[ 4]
が成り立つが、この式の交叉を合併 に置き換えた式は一般には正しくない:
(
A
∪
B
)
×
(
C
∪
D
)
≠
(
A
×
C
)
∪
(
B
×
D
)
.
{\displaystyle (A\cup B)\times (C\cup D)\neq (A\times C)\cup (B\times D).}
実は右辺は
(
A
×
C
)
∪
(
B
×
D
)
=
[
(
A
∖
B
)
×
C
]
∪
[
(
A
∩
B
)
×
(
C
∪
D
)
]
∪
[
(
B
∖
A
)
×
D
]
{\displaystyle (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
×
C
)
∖
(
B
×
D
)
=
[
A
×
(
C
∖
D
)
]
∪
[
(
A
∖
B
)
×
C
]
{\displaystyle (A\times C)\smallsetminus (B\times D)=[A\times (C\smallsetminus D)]\cup [(A\smallsetminus B)\times C]}
が成り立つ。直積はいくつかの集合算に対して分配的 であることが示せる[ 5] :
A
×
(
B
∩
C
)
=
(
A
×
B
)
∩
(
A
×
C
)
,
{\displaystyle A\times (B\cap C)=(A\times B)\cap (A\times C),}
A
×
(
B
∪
C
)
=
(
A
×
B
)
∪
(
A
×
C
)
,
{\displaystyle A\times (B\cup C)=(A\times B)\cup (A\times C),}
A
×
(
B
∖
C
)
=
(
A
×
B
)
∖
(
A
×
C
)
,
{\displaystyle A\times (B\setminus C)=(A\times B)\setminus (A\times C),}
∁
(
A
×
B
)
=
(
∁
A
×
∁
B
)
∪
(
∁
A
×
B
)
∪
(
A
×
∁
B
)
,
{\displaystyle \complement (A\times B)=(\complement A\times \complement B)\cup (\complement A\times B)\cup (A\times \complement B),}
[ 4]
ここで ∁A は A の補集合 である。
一般に
(
∏
λ
∈
Λ
A
λ
)
∩
(
∏
μ
∈
Λ
B
μ
)
=
∏
λ
∈
Λ
(
A
λ
∩
B
λ
)
{\displaystyle (\prod _{\lambda \in \Lambda }A_{\lambda })\cap (\prod _{\mu \in \Lambda }B_{\mu })=\prod _{\lambda \in \Lambda }(A_{\lambda }\cap B_{\lambda })}
(
⋃
λ
∈
Λ
A
λ
)
×
(
⋃
μ
∈
M
B
μ
)
=
⋃
(
λ
,
μ
)
∈
Λ
×
M
(
A
λ
×
B
μ
)
{\displaystyle (\bigcup _{\lambda \in \Lambda }A_{\lambda })\times (\bigcup _{\mu \in \mathrm {M} }B_{\mu })=\bigcup _{(\lambda ,\mu )\in \Lambda \times \mathrm {M} }(A_{\lambda }\times B_{\mu })}
(
⋂
λ
∈
Λ
A
λ
)
×
(
⋂
μ
∈
M
B
μ
)
=
⋂
(
λ
,
μ
)
∈
Λ
×
M
(
A
λ
×
B
μ
)
{\displaystyle (\bigcap _{\lambda \in \Lambda }A_{\lambda })\times (\bigcap _{\mu \in \mathrm {M} }B_{\mu })=\bigcap _{(\lambda ,\mu )\in \Lambda \times \mathrm {M} }(A_{\lambda }\times B_{\mu })}
(
⋃
λ
∈
Λ
A
λ
)
∩
(
⋃
μ
∈
M
B
μ
)
=
⋃
(
λ
,
μ
)
∈
Λ
×
M
(
A
λ
∩
B
μ
)
{\displaystyle (\bigcup _{\lambda \in \Lambda }A_{\lambda })\cap (\bigcup _{\mu \in \mathrm {M} }B_{\mu })=\bigcup _{(\lambda ,\mu )\in \Lambda \times \mathrm {M} }(A_{\lambda }\cap B_{\mu })}
(
⋂
λ
∈
Λ
A
λ
)
∪
(
⋂
μ
∈
M
B
μ
)
=
⋂
(
λ
,
μ
)
∈
Λ
×
M
(
A
λ
∪
B
μ
)
{\displaystyle (\bigcap _{\lambda \in \Lambda }A_{\lambda })\cup (\bigcap _{\mu \in \mathrm {M} }B_{\mu })=\bigcap _{(\lambda ,\mu )\in \Lambda \times \mathrm {M} }(A_{\lambda }\cup B_{\mu })}
などが成り立つ。
ほかに、部分集合 に関しては以下の性質がある:
A
⊆
B
⟹
A
×
C
⊆
B
×
C
,
{\displaystyle A\subseteq B\implies A\times C\subseteq B\times C,}
A
≠
∅
∧
B
≠
∅
⟹
[
A
×
B
⊆
C
×
D
⟺
A
⊆
C
∧
B
⊆
D
]
.
{\displaystyle A\neq \emptyset \land B\neq \emptyset \implies [A\times B\subseteq C\times D\iff A\subseteq C\land B\subseteq D].}
[ 7]
有限集合 A, B の直積 A × B の濃度 は、|A × B | = |A | ⋅ |B | で与えられる。これは、数え上げに関する積の原理 から導くことができる。
A × B
A\B
1
3
0
(0,1)
(0,3)
1
(1,1)
(1,3)
2
(2,1)
(2,3)
3
(3,1)
(3,3)
一例として、
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 × B × C | = |A |⋅ |B | ⋅ |C | , |A × B × C × D | = |A |⋅ |B | ⋅ |C | ⋅ |D | , …
濃度の積の意味で |∏A λ | = ∏|A λ |
が成り立つ。特にデカルト冪について、
任意の自然数 n に対して |A n | = |A |n
が言え、あるいは一般に
|∏λ ∈Λ A | = |A Λ | = |A ||Λ|
が濃度の冪の意味で成り立つ。
直積の普遍性: この図式は可換である
直積は次のような普遍性 を持つものとして特徴付けることができる:
直積の普遍性
任意の集合 Y と任意の写像の族 (f i : Y → X i )i ∈I が与えられたとき、写像 f : Y → X ≔ ∏ i ∈I X i で f i = π i ∘ f を満たすものがただ一つ存在する。
圏論の言葉で言えば、集合の直積は集合の圏 における積 である。
ふたつの写像 f : A → X , g : B → Y が与えられたとき、直積集合 A × B から直積集合 X × Y への写像を
(
f
×
g
)
(
a
,
b
)
:=
(
f
(
a
)
,
g
(
b
)
)
(
a
∈
A
,
b
∈
B
)
{\displaystyle (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 を対応させるならば、そのような対応は Set I → Set なる形の函手 (I -型の直積函手)を定める。
多変数の写像 f (x 1 , …, x n ) は直積集合上の写像 f ((x i )i ∈I ) として理解できる。
二項演算 あるいは一般に多項演算 は多変数の写像として定式化できる。
二変数の写像 f : A × B → X の一変数化 g b (a ) ≔ f (a , b ) (a ∈ A , b ∈ B ) は集合の圏における等式 X A ×B = (X A )B を与える。これにより、集合の直積は配置集合 をとる操作の左随伴 となる。
^ a b 添字集合 Λ が空集合 の場合、圏論においては任意の一元集合 1 が集合の圏 の零対象 として(同型を除いて)唯一存在するから、∏∅ X = 1 (X は任意) とすることで空積 に意味を持たせることができる(点付き集合 の圏で基点 ∗ を固定するならば、より強く (英語版 ) 1 = {∗} ととれる)。また、集合論においては標準的に 0 = ∅, 1 = {∅} ととれるから、その意味において X 0 = 1 と置くことは Map(∅, X ) = {∅} (右辺はすなわち空写像 )と考えることにより、ここでの定義と矛盾しない(集合をその冪集合によって同定し部分集合の意味で基点 ∅ が付随すると考えるならば、点付き集合としての話とみることもできる)。