群论,线段树,与广义矩阵乘法
文章未上传,请稍后查看!
代数基础知识
群论
半群
给出一个集合 \(A\) 和定义在集合 \(A\) 上的一个运算 \(\circ\)。如果 \(A\) 与 \(\circ\) 满足以下定律:
- \(\forall a,b \in A ,a \circ b \in A\)
- \(\forall a,b,c \in A,(a \circ b) \circ c=a \circ (b \circ c)\)
则称二元组 \(\langle A,\circ \rangle\) 为半群。也就是一个满足结合律的运算和一个对它完备的集合的二元组。
幺半群
给出一个集合 \(A\) 和定义在集合 \(A\) 上的一个运算 \(\circ\)。如果 \(A\) 与 \(\circ\) 满足以下定律:
- \(\langle A,\circ \rangle\) 为半群
- \(\exists e \in A\),满足 \(\forall a \in A,e \circ a = a \circ e = a\)
此时称二元组 \(\langle A,\circ \rangle\) 为幺半群。称上面的 \(e\) 为幺元(单位元)。
群
给出一个集合 \(A\) 和定义在集合 \(A\) 上的一个运算 \(\circ\)。如果 \(A\) 与 \(\circ\) 满足以下定律:
- \(\langle A,\circ \rangle\) 为幺半群
- \(e\) 为 \(\langle A,\circ \rangle\) 的单位元,则 \(\forall a \in A\),都 \(\exists b \in A\),使得 \(a \circ b = e\)。
此时称二元组 \(\langle A,\circ \rangle\) 为群,称上面的 \(b\) 为 \(a\) 的逆元,记作 \(b=a^{-1}\)。
不难证明:
- \(a \circ a^{-1}=a^{-1} \circ a=e\)
- \(\exists! e \in A\),\(e\) 是单位元
- \(\forall a\),都 \(\exists! b=a^{-1}\)
- \((a^{-1})^{-1}=a\)
通常我们记 \(a^1=a\),\(a^{n}=a^{n-1} \circ a=a^{n+1} \circ a^{-1}(n\in \Z)\),\(a^0=e\)。
因为结合律的原因,我们可以推出以下结论:
- \((a^{n})^{m}=a^{nm}=(a^{m})^n\)
- \(a^{n+m}=a^n \circ a^m\)
这些都是非常显然的。
所以,我们可以用一个方法来在 \(\Theta(\log n)\) 的时间复杂度内计算 \(a^n(n \in \N)\)。步骤如下:
\(ans:=e,x:=n,y:=a\)
循环:
begin
如果 \(x=0\):
begin
退出循环
end
如果 \(x \equiv 1 \pmod 2\):
begin
\(ans:=ans \circ y\)
end
\(y:=y\circ y\)
\(x:=\lfloor \frac{x}{2} \rfloor\)
end
结束运算后,得到 \(ans=a^n\)。
通过类似的方法在半群上定义 \(a^n(n \in \N/\{0\})\) 或在幺半群上定义 \(a^n(n\in \N)\) 后,我们也可以用该算法计算 \(a^n\)。需要注意的是,因为半群中没有单位元,所以我们要将 \(ans:=e\) 修改为 \(ans:=a\),\(x:=n\) 修改为 \(x:=n-1\)。
这种算法被称作快速幂算法。
交换群
给出一个集合 \(A\) 和定义在集合 \(A\) 上的一个运算 \(\circ\)。如果 \(A\) 与 \(\circ\) 满足以下定律:
- \(\langle A,\circ \rangle\) 为群
- \(\forall a,b \in A,a \circ b=b \circ a\)。
此时称二元组 \(\langle A,\circ \rangle\) 为交换群(阿贝尔群/Abel Group)。类似的,我们定义交换半群和交换幺半群。
例如,\(\langle \N,+ \rangle\) 就是典型的交换群,\(\langle \reals,\times \rangle\) 就是典型的交换幺半群。
环
给出一个集合 \(A\) 和定义在集合 \(A\) 上的两个运算 \(\oplus,\otimes\)。如果 \(A,\oplus,\otimes\) 满足以下定律:
- \(\langle A,\oplus \rangle\) 为交换群
- \(\langle A,\otimes \rangle\) 为半群
- \(\forall a,b,c \in A,(a \oplus b)\otimes c=(a \otimes c) \oplus (b \otimes c)\)。
此时称三元组 \(\langle A,\oplus,\otimes \rangle\) 为环。
线性代数与矩阵
矩阵
有 \(n \times m\) 个数,记作 \(a_{i,j}(i \in \N \cap [1,n],j \in \N \cap [1,m])\)。我们将其排列成如下形式:

浙公网安备 33010602011771号