半直积

在數學中，特別抽象代數裏的群論中，半直積（）是從其中一個是正規子群的兩個子群形成一個群的特定方法。半直積是直積的推廣。半直積是作為集合的笛卡爾積，但帶有特定的乘法運算。

 内半直积 

 定义 

令  为群，  为  的一个正规子群，  是  的一个子群。下列命题等价:
  且  （  是  的單位元）
  的每个元素可以唯一表示為  的一个元素和  的一个元素的积
 自然的嵌入  , 和自然的投影  的复合是  和  之间的同构
 存在同态  ，它的像是  本身而其核是 。

如果这些命题中的一个(从而所有)成立，则称  是一个  和  的内半直积，或者说  在  上“分裂(splits)”，并写作 。

 基本事实 

若  是其正规子群  和子群  的内半直积，而且  和  都是有限的，则  的阶等于  和  的阶的乘積。

與直积不同，内半直积通常不是唯一的。令  和  為包含  为正规子群，并且都包含  为子群的兩個群，而且二者都是  和  的内半直积，  與  未必同构。

 外半直积 

 定义 

给定任意两个群N和H（不必是某个群的子群）和一个群同态φ : H → Aut(N)(其中Aut(N)表示N的所有自同构组成的群)，我们定义如下的一个新群N ⋊φ H，称作N和H相对于φ的外半直积:

基础的集合是集合直积 N × H，而群運算*给定为
(n1, h1) * (n2, h2) = (n1 φ(h1)(n2), h1 h2)
对于所有N中的n1, n2 和H中的h1, h2。这确实定义了一个群；其幺元为(eN, eH)，而元素(n, h)的逆为(φ(h−1)(n−1), h−1)。

 基本事实 

N × {eH}是同构于N的正规子群, {eN} × H是同构于H的子群，而N ⋊φ H是这两个子群的内半直积。

若G是一个N和H的内半直积，令映射φ : H→Aut(N)为如下同态
φ(h)(n)=hnh–1
则G同构于外半直积N ⋊φ H，该同构把乘积nh映到2元组(n,h)。在G中,我们有如下规则
(n1h1)(n2h2) = n1(h1n2h1–1)(h1h2)
而这是上述外半直积的定义的深层原因，也是一个记住它的方便办法。

群的分裂引理（splitting lemma）的一个版本称群G同构于两个群N和H的外半直积当且仅当存在短正合序列

和一个群同态r : H → G 使得v o r = idH, H上的恒等映射。在这种情况, 给出φ : H → Aut(N)如下
φ(h)(n) = u–1(r(h)u(n)r(h–1)).

 例子 

有 2n个元素的二面體群 Dn 同构于循环群Cn 和C2的半直积。这里，C2的非单位元作用于Cn，将元素变成其逆；这是一个自同构因为Cn是交换群。

平面的刚体运动群(映射f : R2 → R2 使得x和y之间的欧氏距离等于f(x) 和f(y)之间的距离对于所有在R2中的x和y成立)同构于交换群R2 (描述平移)和正交 2×2矩阵的群O(2)(描述转动和反射)的半直积。每个正交矩阵通过矩阵乘法作用在R2上，并且是一个自同构。

所有正交n×n矩阵的群O(n)(直观的讲，所有n维空间的所有转动和反射的集合)同构于群SO(n) (所有行列式值为1的正交矩阵，直观的讲n维空间的转动的集合)和C2的准直积。如果我们将C2表示为矩阵{I, R}的乘法群,其中R是n维空间的翻转(也就是行列式为-1的正交对角矩阵),则φ : C2 → Aut(SO(n)) 由φ(H)(N) = H N H−1对所有 在C2中的H 和SO(n)中的N给出。

 与直积的关系 

假设G是一个正规子群N和子群H的内半直积。若H也在G中正规，或者说，若存在一个同态G → N是N上的恒等映射，则G是N和H的直积。

两个群N和H的直积可以视为N和H相对于φ(h) = idN (对于所有H中的h)的外半直积。

注意在直积中，因子的次序不重要，因为N × H同构于H × N。这在半直积中不成立，因为两个因子的角色不同。

 推广 

半直积的构造可以推得更广。在环理论中有一个版本，环的交叉积（crossed product of rings）。一旦构造了群的一个半直积的群环，这可以很自然的看出。还有李代数的半直和。给定拓扑空间上的一个群作用，存在一个相应的交叉积，它通常非交换，即使群是可交换的。这样的环在群作用的轨道空间有重要作用，特别是当该空间不能用常规的拓扑技术处理的时候，例如在阿兰·孔涅的工作中（细节请参见非交换几何）。

在范畴论中也有推广。它们表明了如何从“指标范畴(indexed categories)”构造“纤维范畴(fibred categories)”。这是外准直积的抽象形式。

 参看 
 圈积(Wreath product)

B
Category:二元运算