第六章
7.设 G \mathbb{G} G是群,对任意 n ∈ N n\in \N n∈N, i ∈ [ 0 , n ] i \in [0, n] i∈[0,n], g i ∈ G g_i \in \mathbb{G} gi∈G。证明 g 0 g 1 ⋯ g n g_0 g_1 \cdots g_n g0g1⋯gn的逆元是 g n − 1 ⋯ g 1 − 1 g 0 − 1 g_n^{-1} \cdots g_1^{-1} g_0^{-1} gn−1⋯g1−1g0−1。
8.证明:任意群
G
\mathbb{G}
G的两个子群的交集也是群
G
\mathbb{G}
G的子群。
10.
G
\mathbb{G}
G是阿贝尔群,
H
\mathbb{H}
H和
K
\mathbb{K}
K是
G
\mathbb{G}
G的子群。请证明
H
K
=
{
h
k
:
h
∈
H
,
k
∈
K
}
\mathbb{H} \mathbb{K} = \{hk: h \in \mathbb{H}, k \in \mathbb{K}\}
HK={hk:h∈H,k∈K}是群
G
\mathbb{G}
G的子群。
如果
G
\mathbb{G}
G不是阿贝尔群,结论是否依然成立?
11. 设
G
\mathbb{G}
G是阿贝尔群,
m
m
m是任意整数,记
G
m
=
{
g
m
:
g
∈
G
}
\mathbb{G}^m = \{ g^m: g\in \mathbb{G}\}
Gm={gm:g∈G}。请证明
G
m
\mathbb{G}^m
Gm是
G
\mathbb{G}
G的一个子群。
第七章
6.证明:如果群
G
\mathbb{G}
G没有非平凡子群,则群
G
\mathbb{G}
G是循环群。
证明:
G
\mathbb{G}
G没有非平凡子群,所以
G
\mathbb{G}
G只有{e}和
G
\mathbb{G}
G两个子群,那么很显然,群
G
\mathbb{G}
G中任意一个非单位元素都可以生成
G
\mathbb{G}
G,因此
G
\mathbb{G}
G为循环群。综上,得证。
7.证明循环群
G
\mathbb{G}
G中任意元素的阶都整除群
G
\mathbb{G}
G的阶。
8.编程完成以下工作:给定一个素数 p p p,找出 Z p ∗ \Z_p^* Zp∗的最小生成元。对于素数 1 < p < 10000 1< p < 10000 1<p<10000,哪一个素数 p p p使得 Z p ∗ \Z_p^* Zp∗的最小生成元最大?
#include<bits/stdc++.h>
using namespace std;
//线性筛质数
int primes[N], cnt; // primes[]存储所有素数
bool st[N]; // st[x]存储x是否被筛掉
void get_primes(int n)
{
for (int i = 2; i <= n; i ++ )
{
if (!st[i]) primes[cnt ++ ] = i;
for (int j = 0; primes[j] <= n / i; j ++ )
{
st[primes[j] * i] = true;
if (i % primes[j] == 0) break;
}
}
}
LL qmi(LL m, LL k, LL p)
{
LL res = 1 % p, t = m;
while (k)
{
if (k&1) res = res * t % p;
t = t * t % p;
k >>= 1;
}
return res;
}
int Get_Mingen(int p){//获得最小生成元
for(int i=2;i<p;i++){
int cnt=1;
int tmp=i;
while(tmp!=1){
tmp=qmi(i,++cnt,p);
}
if(cnt==(p-1)){
return i;
}
}
return 0;
}
int main()
{
int p;
cin>>p;
int Minimum_generator=Get_Mingen(p);
cout<<p<<"的Zp*最小生成元是"<<Minimum_generator<<endl;
get_primes(10000);
int maxn=0,prime;
for(int i=0;i<cnt;i++){
if(Get_Mingen(primes[i])>maxn){
prime=primes[i];
maxn=Get_Mingen(primes[i]);
}
}
cout<<"在1-10000中使Zp*最小生成元最大的素数是"<<prime<<endl;
}
运行结果如下:
所以5881使Zp*的最小生成元最大,最大的最小生成元的31。
第8章
3.如果 G \mathbb{G} G是群, H \mathbb{H} H是群 G \mathbb{G} G的子群,且 [ G : H ] = 2 \lbrack \mathbb{G} : \mathbb{H}\rbrack =2 [G:H]=2,请证明对任意的 g ∈ G g\in \mathbb{G} g∈G, g H = H g g \mathbb{H} = \mathbb{H}g gH=Hg。
证明:因为
[
G
:
H
]
=
2
\lbrack \mathbb{G} : \mathbb{H}\rbrack =2
[G:H]=2,所以
G
\mathbb{G}
G被
H
\mathbb{H}
H划分了两部分,我们设一部分为
H
\mathbb{H}
H,一部分为
K
\mathbb{K}
K。
当
g
∈
H
g∈\mathbb{H}
g∈H时,则
g
−
1
∈
H
g^{-1}∈\mathbb{H}
g−1∈H,那么
g
H
g
−
1
g\mathbb{H}g^{-1}
gHg−1=
H
\mathbb{H}
H。所以
g
H
g
−
1
g
g\mathbb{H}g^{-1}g
gHg−1g=
H
g
\mathbb{H}g
Hg
当
g
∉
H
g∉\mathbb{H}
g∈/H时,由于陪集性质,所以
g
H
≠
H
g\mathbb{H}\neq\mathbb{H}
gH=H,
H
g
≠
H
\mathbb{H}g\neq\mathbb{H}
Hg=H
由于陪集的性质,
G
\mathbb{G}
G被划分成两个部分,那么
g
H
g\mathbb{H}
gH和
H
g
\mathbb{H}g
Hg只能属于另外一个部分,所以
g
H
=
H
g
g\mathbb{H}=\mathbb{H}g
gH=Hg。
综上,证毕!
4.设 G \mathbb{G} G是阶为 p q pq pq的群,其中 p p p和 q q q是素数。请证明 G \mathbb{G} G的任意真子群是循环群。
证明:p,q是素数,所以pq的因子只有1,p,q,pq。根据拉格朗日定理,则其真子群的阶有1,p,q。
当真子群的阶为1时,即为平凡子群,真子群显然是循环群。
当真子群的阶为p,q时,根据拉格朗日定理的推论,素数阶数的有限群一定是循环群。
综上,证毕!
5.如果群
H
\mathbb{H}
H是有限群
G
\mathbb{G}
G的真子群,即存在
g
∈
G
g\in \mathbb{G}
g∈G但是
g
∉
H
g \not \in \mathbb{H}
g∈H。请证明
∣
H
∣
≤
∣
G
∣
/
2
\vert \mathbb{H} \vert \leq \vert \mathbb{G} \vert \ /2
∣H∣≤∣G∣ /2。