C N I T A CNITA CNITA 作业 群
-
第6章习题:
-
设 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。
证明:
∵ g i ∈ G 是群 ∴ 其操作满足结合律。 ∴ ( g 0 g 1 ⋅ ⋅ ⋅ g n ) ∗ ( g n − 1 ⋅ ⋅ ⋅ g 1 − 1 g 0 − 1 ) g 0 g 1 ⋅ ⋅ ⋅ ( g n ∗ g n − 1 ) ⋅ ⋅ ⋅ g 1 − 1 g 0 − 1 = e 满足右逆元 同理: ( g n − 1 ⋅ ⋅ ⋅ g 1 − 1 g 0 − 1 ) ∗ ( g 0 g 1 ⋅ ⋅ ⋅ g n ) g n − 1 ⋅ ⋅ ⋅ g 1 − 1 ( g 0 − 1 ∗ g 0 ) g 1 ⋅ ⋅ ⋅ g n = e 满足左逆元 ∴ g 0 g 1 ⋯ g n 的逆元是 g n − 1 ⋯ g 1 − 1 g 0 − 1 \because g_i\in \mathbb{G} 是群 \therefore 其操作满足结合律。\\ \therefore (g_0g_1···g_n)*({g_n}^{-1}···{g_1}^{-1}{g_0}^{-1})\\g_0g_1···(g_n*{g_n}^{-1})···{g_1}^{-1}{g_0}^{-1}=e \\满足右逆元\\ 同理: ({g_n}^{-1}···{g_1}^{-1}{g_0}^{-1})*(g_0g_1···g_n)\\{g_n}^{-1}···{g_1}^{-1}({g_0}^{-1}*g_0)g_1···g_n=e \\满足左逆元\\ \therefore g_0 g_1 \cdots g_n 的逆元是 g_n^{-1} \cdots g_1^{-1} g_0^{-1} ∵gi∈G是群∴其操作满足结合律。∴(g0g1⋅⋅⋅gn)∗(gn−1⋅⋅⋅g1−1g0−1)g0g1⋅⋅⋅(gn∗gn−1)⋅⋅⋅g1−1g0−1=e满足右逆元同理:(gn−1⋅⋅⋅g1−1g0−1)∗(g0g1⋅⋅⋅gn)gn−1⋅⋅⋅g1−1(g0−1∗g0)g1⋅⋅⋅gn=e满足左逆元∴g0g1⋯gn的逆元是gn−1⋯g1−1g0−1
-
证明:任意群 G \mathbb{G} G的两个子群的交集也是群 G \mathbb{G} G的子群。
证明:
设:两个子群的名为 A 1 和 A 2 要证 ∀ 群 G 的两个子群交集是群 G 的子群 需证: ∀ g i ∈ A ! ∧ A 2 & g i ∈ G 而且 A ! ∧ A 2 需要为群 显然 ∀ g i ∈ A ! ∧ A 2 & g i ∈ G 所以,需证 A ! ∧ A 2 为群 设:两个子群的名为 A_1 和 A_2\\ 要证 \forall 群 \mathbb{G} 的两个子群交集是 群 \mathbb{G} 的子群\\ 需证:\forall g_i\in A_!\wedge A_2 \And g_i\in \mathbb{G}\\ 而且 A_!\wedge A_2 需要为群\\ 显然 \forall g_i\in A_!\wedge A_2 \And g_i\in \mathbb{G}\\ 所以,需证 A_!\wedge A_2 为群\\ 设:两个子群的名为A1和A2要证∀群G的两个子群交集是群G的子群需证:∀gi∈A!∧A2&gi∈G而且A!∧A2需要为群显然∀gi∈A!∧A2&gi∈G所以,需证A!∧A2为群
证明: A ! ∧ A 2 为群 A_!\wedge A_2 为群 A!∧A2为群
1、单位元性质:
e ∈ A ! ∧ e ∈ A 2 → e ∈ A 1 ∩ A 2 e\in A_!\wedge e\in A_2\to e\in A_1\cap A_2\\ e∈A!∧e∈A2→e∈A1∩A2
2、逆元:
∀ a ∈ A 1 , b ∈ A 2 总有 a − 1 ∈ A 1 , b − 1 ∈ A 2 当 a = b 时:有 a ∈ A 1 ∩ A 2 \forall a\in A_1,b\in A_2\\ 总有 a^{-1}\in A_1,b^{-1}\in A_2\\ 当 a=b 时:有 a\in A_1\cap A_2\\ ∀a∈A1,b∈A2总有a−1∈A1,b−1∈A2当a=b时:有a∈A1∩A2
3、封闭性:
∀ 群 K ,有: ∀ a , b ∈ K 满足: a ∘ b ∈ K ∴ 子群 A 1 , A 2 满足此性质 那么在两子群中满足封闭性 所以在其交集也有此性质成立 \forall 群 \mathbb{K},有:\forall a,b\in\mathbb{K}\\ 满足:a\circ b\in\mathbb{K}\\ \therefore 子群 A_1,A_2 满足此性质\\ 那么在两子群中满足封闭性\\ 所以在其交集也有此性质成立\\ ∀群K,有:∀a,b∈K满足:a∘b∈K∴子群A1,A2满足此性质那么在两子群中满足封闭性所以在其交集也有此性质成立
4、结合律
∵ ∀ 群 G 满足交换律 ∴ ∀ 群 g ⊆ G 又 ∵ ∀ a ∈ A 1 ∩ A 2 ,有 a ∈ A 1 ∧ a ∈ A 2 ∴ ∀ a ∈ A 1 ∩ A 2 满足结合律 \because \forall 群 \mathbb{G} 满足交换律\\ \therefore \forall 群 \mathbb{g}\subseteq\mathbb{G}\\ 又 \because \forall a\in A_1\cap A_2,有 a\in A_1\wedge a\in A_2\\ \therefore \forall a\in A_1\cap A_2 满足结合律\\ ∵∀群G满足交换律∴∀群g⊆G又∵∀a∈A1∩A2,有a∈A1∧a∈A2∴∀a∈A1∩A2满足结合律
-
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不是阿贝尔群,结论是否依然成立?
证明:
1、证明 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的子群.
∵ H 和 K 为 G 的子群 ∴ ∀ h ∈ H ,有 h ∈ H 同理: ∀ k ∈ K ,有 k ∈ K 又 ∵ G 为阿贝尔群,满足交换律 ∴ ∀ h , k ∈ G ,有 h k ∈ G ∧ k h ∈ G ∴ 对于 h ∈ H , k ∈ K 总有 h k ∈ H K 据 H , K 及乘法性质, H K 满足群的基本性质 且 ∀ t ∈ H K , 有 t ∈ G ∴ H K = { h k : h ∈ H , k ∈ K } 是群 G 的子群 \because \mathbb{H} 和 \mathbb{K} 为 \mathbb{G} 的子群\\ \therefore \forall h\in\mathbb{H},有 h\in\mathbb{H}\\ 同理:\forall k\in\mathbb{K},有 k\in\mathbb{K}\\ 又 \because \mathbb{G} 为阿贝尔群,满足交换律\\ \therefore \forall h,k\in\mathbb{G},有 hk\in\mathbb{G}\wedge kh\in\mathbb{G}\\ \therefore 对于 h\in\mathbb{H},k\in\mathbb{K} 总有 hk\in\mathbb{HK}\\ 据 \mathbb{H},\mathbb{K} 及乘法性质,\mathbb{HK} 满足群的基本性质\\ 且 \forall t\in \mathbb{HK}, 有 t\in\mathbb{G}\\ \therefore \mathbb{H} \mathbb{K} = \{hk: h \in \mathbb{H}, k \in \mathbb{K}\} 是群 \mathbb{G} 的子群 ∵H和K为G的子群∴∀h∈H,有h∈H同理:∀k∈K,有k∈K又∵G为阿贝尔群,满足交换律∴∀h,k∈G,有hk∈G∧kh∈G∴对于h∈H,k∈K总有hk∈HK据H,K及乘法性质,HK满足群的基本性质且∀t∈HK,有t∈G∴HK={hk:h∈H,k∈K}是群G的子群
2、 G \mathbb{G} G 不是阿贝尔群.
∵ G 为非阿贝尔群 ∴ 其中不满足交换律 ∴ 无法得到 H K = { h k : h ∈ H , k ∈ K } 是群 G 的子群 \because \mathbb{G} 为非阿贝尔群\\ \therefore 其中不满足交换律\\ \therefore 无法得到 \mathbb{H} \mathbb{K} = \{hk: h \in \mathbb{H}, k \in \mathbb{K}\} 是群 \mathbb{G} 的子群 ∵G为非阿贝尔群∴其中不满足交换律∴无法得到HK={hk:h∈H,k∈K}是群G的子群 -
设 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的一个子群。
∵ G m = { g m : g ∈ G } ∴ G m 为 G 的一个子集 ∴ 对于 ∀ a , b , c ∈ G 满足结合律 \because \mathbb{G}^m = \{ g^m: g\in \mathbb{G}\}\\ \therefore \mathbb{G}^m 为 \mathbb{G} 的一个子集\\ \therefore 对于 \forall a,b,c\in\mathbb{G} 满足结合律\\ ∵Gm={gm:g∈G}∴Gm为G的一个子集∴对于∀a,b,c∈G满足结合律
1、封闭性:
对于 ∀ g ∈ G 及 ∀ m 1 , m 2 有: g m 1 ∈ G m 1 ∧ g m 1 ∈ G m 1 g m 1 ∗ g m 2 = g m 1 + m 2 ∈ G m 1 + m 2 记为: g m 1 ∗ g m 2 ∈ G m 对于 \forall g\in\mathbb{G} 及 \forall m_1,m_2 有: g^{m_1}\in\mathbb{G}^{m_1} \wedge g^{m_1}\in\mathbb{G}^{m_1}\\ g^{m_1}*g^{m_2}=g^{m_1+m_2}\in\mathbb{G}^{m_1+m_2} 记为: g^{m_1}*g^{m_2}\in\mathbb{G}^{m} 对于∀g∈G及∀m1,m2有:gm1∈Gm1∧gm1∈Gm1gm1∗gm2=gm1+m2∈Gm1+m2记为:gm1∗gm2∈Gm
2、逆元:
∵ 若有 g ∈ G ,则有: g − 1 ∈ G ∴ 在 G m = { g m : g ∈ G } 时,总有: g − m ∈ G m \because 若有 g\in G,则有:g^{-1}\in G\\ \therefore 在 \mathbb{G}^m = \{ g^m: g\in \mathbb{G}\} 时,总有:g^{-m}\in\mathbb{G}^{m} ∵若有g∈G,则有:g−1∈G∴在Gm={gm:g∈G}时,总有:g−m∈Gm
3、单位元:
由逆元存在:易知, e ∈ G m 由逆元存在:易知,e\in\mathbb{G}^m\\ 由逆元存在:易知,e∈Gm
-
-
第7章习题:
-
证明:如果群 G \mathbb{G} G没有非平凡子群,则群 G \mathbb{G} G是循环群。
证明:
∵ 群 G 没有非平凡子群 ∴ 群 G 仅有两个子群,即: { e } 和 G 显然:假设 G = { e } 时, G 为循环群 那么,还需证: G ≠ { e } 时为循环群 此时有 G = < g > ∴ G = { g 1 } ,则 G 为循环群 \because 群 \mathbb{G} 没有非平凡子群\\ \therefore 群 \mathbb{G} 仅有两个子群,即:\{e\} 和 \mathbb{G}\\ 显然:假设 \mathbb{G}=\{e\} 时,\mathbb{G} 为循环群\\ 那么,还需证:\mathbb{G}\neq\{e\} 时为循环群\\ 此时有 \mathbb{G}=<g>\\ \therefore \mathbb{G}=\{g^1\},则 \mathbb{G} 为循环群\\ ∵群G没有非平凡子群∴群G仅有两个子群,即:{e}和G显然:假设G={e}时,G为循环群那么,还需证:G={e}时为循环群此时有G=<g>∴G={g1},则G为循环群 -
证明推论:循环群 G \mathbb{G} G中任意元素的阶都整除群 G \mathbb{G} G的阶。
证明:
∵ G 为循环群 ∴ ∀ g ∈ G 有: h = g k 则: h 的阶为 n / d 设 m ∈ N 使得 h m = g k m = e ∵ g k = e 当且仅当 n ∣ k ∴ n ∣ k m ,即: ( n / d ) ∣ ( k / d ) m ∴ 循环群 G 中任意元素的阶都整除群 G 的阶 \because \mathbb{G} 为循环群\\ \therefore \forall g\in\mathbb{G} 有:h=g^k\\ 则:h的阶为 n/d\\ 设 m\in\mathbb{N} 使得 h^m=g^{km}=e\\ \because g^k=e 当且仅当 n|k\\ \therefore n|km ,即:(n/d)|(k/d)m\\ \therefore 循环群\mathbb{G}中任意元素的阶都整除群\mathbb{G}的阶 ∵G为循环群∴∀g∈G有:h=gk则:h的阶为n/d设m∈N使得hm=gkm=e∵gk=e当且仅当n∣k∴n∣km,即:(n/d)∣(k/d)m∴循环群G中任意元素的阶都整除群G的阶 -
编程完成以下工作:给定一个素数 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∗的最小生成元最大?
这里我开始的时候用 p y t h o n python python 写了一遍:
-
import gmpy2
def get_prime(n):
prime = []
for i in range(1, n + 1):
if gmpy2.is_prime(i):
prime.append(i)
return prime
def find_group(p):
data = []
for i in range(2, p):
li = []
flag = 0
for j in range(1, p):
m = pow(i, j, p)
if m in li:
flag = 1
break
li.append(m)
if flag == 0:
data.append(i)
# 尾部保存素数p
data.append(p)
return data
def get_min_gen(prime):
record = []
for i in prime:
record.append(find_group(i))
m = [record[0][0], record[0][-1]]
for i in range(len(record)):
if record[i][0] > m[0]:
m[0] = record[i][0]
m[1] = record[i][1]
return m
print(get_min_gen(get_prime(10000)[1:])[1])
但是很不幸,我发现它运行耗费的时间十分的久。
于是,我使用 C++ 试着做了:
#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
bool prime(int n){
for(int i=2;i<=sqrt(n+1);i++){
if(n%i==0){
return false;
}
}
return true;
}
void primeList(int n,vector<int>&list){
if(n>=2) list.push_back(2);
for(int i=3;i<=n;i++){
if(prime(i)){
list.push_back(i);
}
}
}
int getMingen(int p){
if(!prime(p)) return 0;
if(p==2) return 1;
vector<int> data;
for(int i=2;i<p;i++){
int j;
for(int j=1;j<p-1;j++){
if(int(pow(i,j))%p==1) break;
}
if(p-1==j) return i;
}
return 0;
}
int main(){
vector<int>list;
primeList(13,list);
for(vector<int>::iterator i=list.begin();i!=list.end();i++){
cout<<*i<<": "<<getMingen(*i)<<";";
cout<<endl;
}
return 0;
}
但是它的结果是错误的,改了很久搞不动了 😢
所以最后我寻找到这个同学的:
就是这个😄
并且对输出结果进行了点调整:
#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
//判断素数
bool prime(int x)
{
int y;
for (y = 2; y <= sqrt(x); y++)
if (x % y == 0)
return false;
return true;
}
//获得一定范围内的素数
void getPrimeList(int maxNum, vector<int>& PrimeList) {
if (maxNum >= 2) PrimeList.push_back(2);
for (int i = 3; i <= maxNum; i = i + 2) {
if (prime(i)) PrimeList.push_back(i);
}
}
//获得Z_p* 的最小生成元
int getMingener(int Prime) {
if (!prime(Prime)) return 0;
if (Prime == 2) return 1;
for (int i = 2; i <= Prime - 1; ++i) {
int j;
for (j = 1; j < Prime-1; ++j) {
if ((int)pow(i, j)%Prime==1) break;
}
if (j == (Prime - 1)) return i;
}
return 0;
}
int main()
{
vector<int> primes;
getPrimeList(10000, primes);
vector<int> mingen;
int min=getMingener(2);
for (vector<int>::iterator it = primes.begin(); it != primes.end(); it++) {
int m = getMingener(*it);
if(m>min){
min=m;
}
}
for (vector<int>::iterator it = primes.begin(); it != primes.end(); it++) {
int m = getMingener(*it);
if(m==min){
cout<<*it<<", ";
}
}
cout<<"min: "<<min<<endl;
return 0;
}
最后输出结果为:23, 41, 73, min: 5
最大的最小生成元由 23、41、73 得到
- 第8章习题:
-
如果 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 ,那么原有群上的划分仅有两部分 ∵ H 为 G 的子群 ∴ G 划作两部分: H 与设定为 K 部分 已知:\lbrack \mathbb{G} : \mathbb{H}\rbrack =2,那么原有群上的划分仅有两部分\\ \because \mathbb{H} 为 \mathbb{G} 的子群\\ \therefore \mathbb{G} 划作两部分:\mathbb{H} 与设定为 \mathbb{K} 部分\\ 已知:[G:H]=2,那么原有群上的划分仅有两部分∵H为G的子群∴G划作两部分:H与设定为K部分
1)当 g ∈ H g\in\mathbb{H} g∈H 时:
g H = H = H g ,显然有: g H = H g g\mathbb{H}=\mathbb{H}=\mathbb{H}g,显然有:g\mathbb{H}=\mathbb{H}g\\ gH=H=Hg,显然有:gH=Hg
2)当 g ∈ K g\in\mathbb{K} g∈K 时:
g H , H g ∉ H 又 ∵ g H = G − H = H g ∴ g H = H g g\mathbb{H},\mathbb{H}g\notin\mathbb{H}\\ 又 \because g\mathbb{H}=\mathbb{G}-\mathbb{H}=\mathbb{H}g\\ \therefore g\mathbb{H}=\mathbb{H}g\\ gH,Hg∈/H又∵gH=G−H=Hg∴gH=Hg -
设 G \mathbb{G} G是阶为 p q pq pq的群,其中 p p p和 q q q是素数。请证明 G \mathbb{G} G的任意真子群是循环群。
∵ G 是阶为 p q 的群 又由: H 为 G 真子群 那么 ∀ h ∈ G , o r d ( h ) ∣ p q ∴ 由推论 8.2 得到 G 真子群为循环群 \because \mathbb{G} 是阶为 pq 的群\\ 又由:\mathbb{H} 为 \mathbb{G} 真子群\\ 那么 \forall h\in\mathbb{G},ord(h)|pq\\ \therefore 由推论8.2得到 \mathbb{G} 真子群为循环群\\ ∵G是阶为pq的群又由:H为G真子群那么∀h∈G,ord(h)∣pq∴由推论8.2得到G真子群为循环群 -
如果群 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。
假设 ∣ H ∣ > ∣ G ∣ / 2 根据拉格朗日定理,有: ∣ G ∣ / ∣ H ∣ = [ G : H ] 那么有: ∣ G ∣ / ∣ H ∣ = [ G : H ] < 2 此时左陪集个数只能为 1 又因 H 为 G 的真子群 那么其左陪集个数必大于 1 所以此假设不成立 假设|\mathbb{H}|>|\mathbb{G}|/2 根据拉格朗日定理,有:\\ |\mathbb{G}|/|\mathbb{H}|=[\mathbb{G}:\mathbb{H}]\\ 那么有:|\mathbb{G}|/|\mathbb{H}|=[\mathbb{G}:\mathbb{H}]<2\\ 此时左陪集个数只能为1\\ 又因 \mathbb{H} 为 \mathbb{G} 的真子群\\ 那么其左陪集个数必大于1\\ 所以此假设不成立\\ 假设∣H∣>∣G∣/2根据拉格朗日定理,有:∣G∣/∣H∣=[G:H]那么有:∣G∣/∣H∣=[G:H]<2此时左陪集个数只能为1又因H为G的真子群那么其左陪集个数必大于1所以此假设不成立
-