CINTA 第四次作业:群,子群,循环群,拉格朗日定理

  1. (第六章7)设 G \mathbb{G} G是群,对任意 n ∈ N n\in \N nN, i ∈ [ 0 , n ] i \in [0, n] i[0,n] g i ∈ G g_i \in \mathbb{G} giG。证明 g 0 g 1 ⋯ g n g_0 g_1 \cdots g_n g0g1gn的逆元是 g n − 1 ⋯ g 1 − 1 g 0 − 1 g_n^{-1} \cdots g_1^{-1} g_0^{-1} gn1g11g01
    证明:
    显然 g 0 g 1 ⋯ g n g n − 1 ⋯ g 1 − 1 g 0 − 1 = g 0 g 1 ⋯ g n − 1 e g n − 1 − 1 ⋯ g 1 − 1 g 0 − 1 = ⋯ = g 0 g 0 − 1 = e g_0g_1 \cdots g_n g_n^{-1 \cdots} g_1^{-1} g_0^{-1} = g_0g_1\cdots g_{n-1} e g_{n-1}^{-1}\cdots g_1^{-1}g_0^{-1} = \cdots = g_0g_0^{-1} =e g0g1gngn1g11g01=g0g1gn1egn11g11g01==g0g01=e;
    g n − 1 ⋯ g 1 − 1 g 0 − 1 g 0 g 1 ⋯ g n = e g_n^{-1}\cdots g_1^{-1}g_0^{-1}g_0 g_1 \cdots g_n = e gn1g11g01g0g1gn=e ,由逆元的定义可知 g 0 g 1 ⋯ g n g_0 g_1 \cdots g_n g0g1gn的逆元是 g n − 1 ⋯ g 1 − 1 g 0 − 1 g_n^{-1} \cdots g_1^{-1} g_0^{-1} gn1g11g01

  2. (第六章8)证明:任意群 G \mathbb{G} G的两个子群的交集也是群 G \mathbb{G} G的子群。
    证明:
    H 1 , H 2 \mathbb{H_1},\mathbb{H_2} H1,H2 为群 G \mathbb{G} G 的两个非空子群,则它们的交集为 H = H 1 ∩ H 2 = { a : a ∈ H 1 ∧ a ∈ H 2 } \mathbb{H} = \mathbb{H_1} \cap\mathbb{H_2} = \{a:a\in\mathbb{H_1} \wedge a\in\mathbb{H_2}\} H=H1H2={a:aH1aH2}.根据命题6.8:
    (1) 若 a , b ∈ H a,b \in \mathbb{H} a,bH ,则 a , b ∈ H 1 ∧ a , b ∈ H 2 → a b ∈ H 1 ∧ H 2 = H a,b \in \mathbb{H_1} \wedge a,b\in \mathbb{H_2} \rightarrow ab \in \mathbb{H_1} \wedge\mathbb{H_2}=\mathbb{H} a,bH1a,bH2abH1H2=H
    (2)若 a ∈ H a\in \mathbb{H} aH,则 a ∈ H 1 ∧ ∈ H 2 → a − 1 ∈ H 1 ∧ a − 1 ∈ H 2 → a − 1 ∈ H 1 ∧ H 2 = H a\in \mathbb{H_1} \wedge\in \mathbb{H_2} \rightarrow a^{-1} \in \mathbb{H_1} \wedge a^{-1}\in \mathbb{H_2} \rightarrow a^{-1}\in \mathbb{H_1} \wedge \mathbb{H_2}=\mathbb{H} aH1H2a1H1a1H2a1H1H2=H
    由(1)(2)得证。

  3. (第六章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:hH,kK}是群 G \mathbb{G} G的子群。
    如果 G \mathbb{G} G不是阿贝尔群,结论是否依然成立?
    证明:在 H K \mathbb{HK} HK 中任意取两个元素 h 1 k 1 , h 2 k 2 h_1k_1,h_2k_2 h1k1,h2k2 ,只要验证满足命题6.8即得证:
    (1)若 h 1 k 1 , h 2 k 2 ∈ H K , h_1k_1,h_2k_2\in \mathbb{HK}, h1k1,h2k2HK, h 1 k 1 , h 2 k 2 ∈ G h_1k_1,h_2k_2 \in\mathbb{G} h1k1,h2k2G h 1 k 1 h 2 k 2 = h 1 h 2 k 1 k 2 h_1k_1h_2k_2 =h_1h_2k_1k_2 h1k1h2k2=h1h2k1k2 ,其中 h 1 h 2 ∈ H , k 1 k 2 ∈ K h_1h_2\in \mathbb{H} ,k_1k_2 \in\mathbb{K} h1h2H,k1k2K ,则 h 1 k 1 h 2 k 2 ∈ H K h_1k_1h_2k_2 \in\mathbb{HK} h1k1h2k2HK ;
    (2)若 h 1 k 1 ∈ H K h_1k_1 \in \mathbb{HK} h1k1HK ,则 h 1 k 1 ∈ G h_1k_1 \in \mathbb{G} h1k1G ( h 1 k 1 ) − 1 = h 1 − 1 k 1 − 1 (h_1k_1)^{-1} =h_1^{-1}k_1^{-1} (h1k1)1=h11k11 ,其中 h 1 − 1 ∈ H , k 1 − 1 ∈ K h_1^{-1} \in \mathbb{H},k_1^{-1} \in\mathbb{K} h11H,k11K ,则 ( h 1 k 1 ) − 1 ∈ H K (h_1k_1)^{-1} \in \mathbb{HK} (h1k1)1HK .
    由(1)(2)得证。
    如果 G \mathbb{G} G不是阿贝尔群,结论不成立。证伪:若 H ∩ K = { e } \mathbb{H}\cap \mathbb{K} = \{e\} HK={e} ,任意非单位元 h ∈ H , k ∈ K , ( h k ) − 1 = k − 1 h − 1 ∉ H K h\in \mathbb{H},k\in \mathbb{K} ,(hk)^{-1} =k^{-1}h^{-1} \notin \mathbb{HK} hH,kK,(hk)1=k1h1/HK

  4. (第六章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:gG}。请证明 G m \mathbb{G}^m Gm G \mathbb{G} G的一个子群。
    证明:在 G m \mathbb{G}^m Gm 中任意取两个元素 g 1 m , g 2 m g_1^m,g_2^m g1m,g2m ,只要验证满足命题6.8即得证:

    (1)若 g 1 m , g 2 m ∈ G m g_1^m,g_2^m \in \mathbb{G}^m g1m,g2mGm ,则 g 1 , g 2 ∈ G g_1 ,g_2 \in \mathbb{G} g1,g2G g 1 m g 2 m = ( g 1 g 2 ) m g_1^mg_2^m =(g_1g_2)^m g1mg2m=(g1g2)m,其中 g 1 g 2 ∈ G g_1g_2 \in \mathbb{G} g1g2G ,所以 g 1 m g 2 m ∈ G m g_1^mg_2^m \in \mathbb{G}^m g1mg2mGm
    (2)若 g m ∈ G m g^m \in \mathbb{G}^m gmGm,则 g ∈ G g\in \mathbb{G} gG ( g m ) − 1 = ( g − 1 ) m (g^m)^{-1} = (g^{-1})^m (gm)1=(g1)m,其中 g − 1 ∈ G g^{-1} \in \mathbb{G} g1G ,所以 ( g m ) − 1 ∈ G m (g^m)^{-1} \in \mathbb{G}^m (gm)1Gm .
    由(1)(2)得证。

  5. (第七章6)证明:如果群 G \mathbb{G} G没有非平凡子群,则群 G \mathbb{G} G是循环群。
    证明它的逆否命题:若群 G \mathbb{G} G不是循环群,则群 G \mathbb{G} G有非平凡子群。
    g ∈ G , g ≠ e g\in G ,g \neq e gG,g=e ,则 ⟨ g ⟩ ⊂ G \left \langle g \right \rangle \subset G gG ,可知循环群 ⟨ g ⟩ \left \langle g \right \rangle g G \mathbb{G} G的非平凡子群;
    命题得证。

  6. (第七章 7)证明推论7.3,即循环群 G \mathbb{G} G中任意元素的阶都整除群 G \mathbb{G} G的阶。
    证明:由命题7.5可知:
    h ∈ G , h = g k h\in \mathbb{G} ,h= g^k hGh=gk ,则 h h h 的阶为 n / d , d = gcd ⁡ ( k , n ) n/d,d=\gcd(k,n) n/d,d=gcd(k,n) 。|
    易知道 n / d × d = n n/d \times d = n n/d×d=n ,即 n / d   ∣   n n/d \,|\,n n/dn .
    命题得证。

  7. (第七章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 <iostream>
#include <vector>
#include<list>

using namespace std;

//判断素数
bool isPrime(int x)
{
    long long 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 (isPrime(i)) PrimeList.push_back(i);
    }
}

//获得素数p-1 的所有因子 储存在 list 中
void getfators_list(int num , list<int>&fators_list) {
    int fator; // 因子
    for (fator = 1; fator * fator <= num; ++fator) {
        if (num % fator == 0) //fator 是num 的因子
        {
            fators_list.push_back(fator); //将 fator 送入 list
            fators_list.push_back(num / fator);//num / fator 也是因子
        }

    }
    fators_list.sort(); //排序
    fators_list.unique(); //去重
    fators_list.pop_front(); //将 1 去除,这将简化后面的计算
    fators_list.pop_back();//去除 num 本身
}


//判断a是否是模p的原根,
bool is_primitive_root(int a, int p) {
    list<int> fators_list;
    getfators_list(p - 1, fators_list); //获取Prime-1 的因子表
    for (list<int>::iterator it = fators_list.begin(); it != fators_list.end(); it++) { //遍历因子表
        int index = (p - 1) / (*it);
        int Product = 1; //记录乘积
        for (int i = 1; i <= index; ++i) {//做乘方
            Product *= a;
            Product = Product % p;
        }
        if (Product == 1) return false; //如果等于了 就不是
        //if (index == 2) return a; //这时候 将fators 的所有因子都遍历了,但是还是未有模p为1 的出现,则a就是原根
    }
    return true;
}
//获得Z_p* 的最小生成元
int getMingener(int Prime) {

    if (!isPrime(Prime)) return 0;
    if (Prime == 2) return 1;
    if (Prime == 3) return 1;
    list<int> fators_list;
    getfators_list(Prime-1, fators_list); //获取Prime-1 的因子表
    for (int a = 2; a < Prime;a++)//从Zp*的2开始依次到p-1查看
    {
      
        if (is_primitive_root(a, Prime)) {
            return a;
       }

    }
    
    return 0;

}

int main()
{
    vector<int> primes;
    getPrimeList(10000, primes);
    for (vector<int>::iterator it = primes.begin(); it != primes.end(); it++) {
        int min = getMingener(*it);
        cout << *it << ":" << min << " " << endl;
       
      
        
    }

  /*  list<int> fators_list;
    int prime = 100;
    getfators_list(1000000, fators_list);
    for (list<int>::iterator it = fators_list.begin(); it != fators_list.end(); it++) {
        cout << *it << " ";
    }*/
   /* int a = 0; 
    a = getMingener(73);
    cout << a;*/
    return 0;
}

通过计算,在10000范围内最小生成元最大的数为5881,其最小生成元为31。

  1. (第八章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} gG 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
    (1)若 g ∈ H g\in \mathbb{H} gH ,则 g − 1 ∈ G g^{-1} \in \mathbb{G} g1G,对于 g H g − 1 g\mathbb{H}g^{-1} gHg1 ,有 g H = H g\mathbb{H} = \mathbb{H} gH=H H g − 1 = H \mathbb{H} g^{-1} = \mathbb{H} Hg1=H ,所以 g H g − 1 = H → g H g − 1 g = H g → g H = H g g\mathbb{H}g^{-1}=\mathbb{H} \rightarrow g\mathbb{H}g^{-1}g=\mathbb{H}g\rightarrow g\mathbb{H}=\mathbb{H}g gHg1=HgHg1g=HggH=Hg.
    (2)若 g ∈ K g \in \mathbb{K} gK,则 g − 1 ∈ K g^{-1} \in \mathbb{K} g1K ,对于 g H g − 1 g\mathbb{H}g^{-1} gHg1 ,有 g H = K g\mathbb{H} =\mathbb{K} gH=K K g − 1 = H \mathbb{K} g^{-1} =\mathbb{H} Kg1=H ,所以 g H g − 1 = H → g H g − 1 g = H g → g H = H g g\mathbb{H}g^{-1}=\mathbb{H} \rightarrow g\mathbb{H}g^{-1}g=\mathbb{H}g\rightarrow g\mathbb{H}=\mathbb{H}g gHg1=HgHg1g=HggH=Hg.
    命题得证。

  2. (第八章4)设 G \mathbb{G} G是阶为 p q pq pq的群,其中 p p p q q q是素数。请证明 G \mathbb{G} G的任意真子群是循环群。
    证明:
    (1)当真子群为平凡群时命题显然成立,
    (2)当真子群为非平凡群时,任取其中一个真子群 H \mathbb{H} H ,则由拉格朗日定理可知: ∣ H ∣   ∣ ∣ G ∣ \left| \mathbb{H} \right| \,| \left| \mathbb{G} \right | HG ,
    由于 ∣ G ∣ = p q , p q \left| \mathbb{G} \right | =pq ,pq G=pq,pq 为素数,所以 ∣ H ∣ = p 或 q \left| \mathbb{H} \right | = p 或q H=pq
    再由推论8.2可知 H \mathbb{H} H 是循环群。
    结合(1)(2)命题得证。

  3. (第八章5)如果群 H \mathbb{H} H是有限群 G \mathbb{G} G的真子群,即存在 g ∈ G g\in \mathbb{G} gG但是 g ∉ H g \not \in \mathbb{H} gH。请证明 ∣ H ∣ ≤ ∣ G ∣   / 2 \vert \mathbb{H} \vert \leq \vert \mathbb{G} \vert \ /2 HG /2
    证明:
    因为 g ∈ G g\in \mathbb{G} gG但是 g ∉ H g \not \in \mathbb{H} gH ,(即 H \mathbb{H} H 的左陪集至少有两个)由拉格朗日定理可知 : ∣ G ∣ / ∣ H ∣ = [ G : H ] ≥ 2 |\mathbb{G}| / |\mathbb{H}| =[\mathbb{G}:\mathbb{H}] \ge 2 G∣/∣H=[G:H]2

∣ H ∣ ≤ ∣ G ∣   / 2 \vert \mathbb{H} \vert \leq \vert \mathbb{G} \vert \ /2 HG /2.
命题得证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值