CINTA——4
第七章
第二题
①由题意得:
Z
n
∗
Z_n^*
Zn∗={1,2,3…16};根据推论7.1得,恰好有
φ
(
n
−
1
)
\varphi(n-1)
φ(n−1)个生成元;
根据欧拉函数的定义,
φ
(
n
−
1
)
\varphi(n-1)
φ(n−1)的大小为8,即有八个生成元;
②由①可得,
Z
n
∗
Z_n^*
Zn∗的阶为16,又由题意得:3是生成元,9
≡
3
2
\equiv 3^2
≡32mod(17),10
≡
3
3
\equiv 3^3
≡33mod(17);且gcd(2,16)=2,gcd(3,16)=1;
根据教材中得命题7.5,所以有,9的阶为16/2=8,10的阶为16/1=16,所以9不是生成元,10是生成元。
第三题
①根据欧拉函数的定义,
Z
p
q
Z_{pq}
Zpq有
φ
(
p
q
)
\varphi(pq)
φ(pq)个生成元;又因为p和q是两个不用的素数,根据教材中的定理4.3欧拉Phi函数公式,有
φ
(
p
q
)
\varphi(pq)
φ(pq)=
φ
(
p
)
\varphi(p)
φ(p)
φ
(
q
)
\varphi(q)
φ(q),再根据定理4.1欧拉函数的性质,有
φ
(
p
)
\varphi(p)
φ(p)=p-1,
φ
(
q
)
\varphi(q)
φ(q)=q-1;所以
Z
p
q
Z_{pq}
Zpq有(p-1)(q-1)个生成元。
②根据定理4.1欧拉函数的性质,有
φ
(
p
k
)
\varphi(p^k)
φ(pk)=
p
k
p^k
pk-
p
k
−
1
p^{k-1}
pk−1,所以
φ
(
p
r
)
\varphi(p^r)
φ(pr)=
p
r
p^r
pr-
p
r
−
1
p^{r-1}
pr−1,所以生成元的个数为
p
r
p^r
pr-
p
r
−
1
p^{r-1}
pr−1。
第六题
首先我们需要知道什么是平凡群:
任意子群都有两个明显的子群,称为平凡子群,即{e}和它本身G。
而根据题意,G中没有非平凡子群,即G中只有平凡子群。又因为
G
=
<
e
>
G=<e>
G=<e>为循环群,因此取g
∈
\in
∈G,并且g
≠
\neq
=e,则根据教材中循环群的命题7.1,由g生成的群
<
g
>
<g>
<g>是G的子群,又
第八题
根据扩展欧几里得算法,存在r和s,使得d=gcd(m,n)=rm+bsn;
所以
g
d
g^d
gd=
g
r
m
+
s
n
g^{rm+sn}
grm+sn=
g
r
m
g^{rm}
grm
⋅
\cdot
⋅
g
s
n
g^{sn}
gsn=
(
g
m
)
r
{(g^m)}^r
(gm)r
⋅
\cdot
⋅
(
g
n
)
s
{(g^n)}^s
(gn)s;题中已给出
g
m
g^m
gm=1,
g
n
g^n
gn=1,因此可得:
g
d
g^d
gd=
(
1
)
r
(1)^r
(1)r
⋅
\cdot
⋅
(
1
)
s
(1)^s
(1)s=1,得证。
第八章
第一题
见到“当且仅当”就需要证明两个方向:
首先证明充分性:
如果
g
1
H
=
g
2
H
g_1H=g_2H
g1H=g2H,则存在hl,h2
∈
\in
∈H使得
g
1
h
1
=
g
2
h
2
g_1h_1=g_2h_2
g1h1=g2h2,即得
g
2
=
g
1
h
1
h
2
−
1
g_2=g_1h_1h_2^{-1}
g2=g1h1h2−1
根据6.3子群章节中的命题6.9可知,也即
g
2
∈
g
1
H
g_2\in g_1 H
g2∈g1H。充分性得证。
其次证明必要性:
根据教材中第八章命题8.1陪集属性:
设G 是群,H是G的子群。任取 ,91,92 E G
则 giH = gH 当且仅当 g 2 g_2 g2 ∈ \in ∈ g 1 H g_1H g1H;
上述高亮部分的两侧同时乘以
g
−
1
g^{-1}
g−1,则转化为
g
1
−
1
g
2
∈
g^{-1}_1g_2\in
g1−1g2∈
H
H
H。必要性得证。
故命题8.1得证。
第三题
根据
[
G
:
H
]
=
2
[G:H]=2
[G:H]=2,可知,H在G中有两个不用的左陪集(也可以是右陪集)因此加上子群H,G被划分为三部分,注意这里不是两部分!!!
现在要证明在
[
G
:
H
]
=
2
[G:H]=2
[G:H]=2条件下,左陪集等于右陪集
因此,从群G中任取q,可能有两种情况:
①
q
∈
H
q\in H
q∈H,(在子群里面),则
q
H
=
H
q
=
H
qH=Hq=H
qH=Hq=H(换句话讲就是:q被吸收进H中了)
②
q
∈
G
且
q
∉
H
q\in G 且q\notin H
q∈G且q∈/H,则
g
H
=
G
−
H
,
H
g
=
G
−
H
gH=G-H,Hg=G-H
gH=G−H,Hg=G−H,因此
g
H
=
H
g
gH=Hg
gH=Hg得证。
第五题
G的非平凡子群是除{e}和G本身以外的其他子群;
由题意得:G得的阶为pq,则根据拉格朗日定理可知:子群的阶必然整除群G的阶!!!
若想是子群的阶可以整除pq,则子群的阶只能为1,p,q,pq;又因为题目要求证明的是非平凡子群,所以阶为p,q;又因为p,q为素数,根据拉格朗日定理的推论8.2:
设 G 是素数阶有限群,即|G|=p,p是素数,则G是循环群且任意非单位元元素g ∈ \in ∈G是生成元。
可得:非平凡子群是循环群,且任意非单位元元素g
∈
\in
∈G是生成元。
第九题
编程代码如下(代码不一定正确,请批判使用!):
#第一问
#求p-1的所有素因子
def prime_factors(n):
factors = []
i = 2
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return factors
#判断是不是原根
def is_primitive_root(a, p):
flist = prime_factors(p-1)
for f in flist:
if pow(a, (p-1)//f, p) == 1:
return False
return True
#求最小生成元
def find_minimal_generator(p):
for a in range(2, p):
if is_primitive_root(a, p):
return a
return None
def main():
p=int(input('请输入一个素数:'))
min_gen=find_minimal_generator(p)
print('最小生成元是:',min_gen)
if __name__ == '__main__':
main()
#第二问
#求p-1的所有素因子
def prime_factors(n):
factors = []
i = 2
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return factors
#判断是不是原根
def is_primitive_root(a, p):
flist = prime_factors(p-1)
for f in flist:
if pow(a, (p-1)//f, p) == 1:
return False
return True
#求最小生成元
def find_minimal_generator(p):
for a in range(2, p):
if is_primitive_root(a, p):
return a
return None
#最小生成元集合里面最大素数
def max_prime_for_min_gen(n):
max_p = None
max_min_gen = None
for p in range(2, n):
if all(is_prime(i) for i in prime_factors(p)):
min_gen = find_minimal_generator(p)
if min_gen and (max_min_gen is None or min_gen > max_min_gen):
max_min_gen = min_gen
max_p = p
return max_p
#判断是不是素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def main():
n = int(input('请输入一个整数n:'))
max_p = max_prime_for_min_gen(n)
print('最大素数对应的最小生成元集合中的最大者所对应的素数是:', max_p)
if __name__ == '__main__':
main()
第八章自己的一点小总结:
陪集、商集等一系列概念都来源于群的划分。划分的目的是为了研究群的结构。所谓划分,就是把一个集合分为若干个不相交集合的并集。