Homepage Solution manuals David S. Dummit Abstract Algebra Exercise 4.5.47 (List of all permissible values of $n_p$ for all primes $p$ dividing $n$)

Exercise 4.5.47 (List of all permissible values of $n_p$ for all primes $p$ dividing $n$)

Write and execute a computer program which

(i)
gives each odd number n < 10 , 000 that is not a power of a prime and that has some prime divisor p such that n p is not forced to be 1 for all groups of order n by the congruence condition of Sylow’s Theorem, and
(ii)
gives for each n in (i) the factorization of n into prime powers and gives the list of all permissible values of n p for all primes p dividing n (i.e., those values not ruled out by part 3 of Sylow’s Theorem).

Answers

I have some difficulties to understand the condition in (i), but I note that for some values of n , such as 15 , 33 , 35 , 51 , 65 , 69 , 77 , , the two conditions of part 3 of Sylow’s Theorem force n p = 1 for all prime divisors p of n . We exclude these values, and also the powers of primes.

Program (with a notebook Sagemath)

"""
Input : integer n.

Returns the list of all permissible values of n_p for all prime p dividing n
(not ruled out by part 3 of Sylow’s Theorem).
"""

def sylow(n):
     l = []
     for p,a in n.factor():
         m = n // p^a
         divisors = [d for d in range(1, m + 1) if m % d == 0]
         possible = [d for d in divisors if d % p == 1]
         l.append([p,possible])
     return(l)

 """
Test for n = 168.
"""
n = 168
print ’n =’, n,’=’,  factor(n)
for p, l in sylow(n):
     print ’  ’,p, ’=>’, l

             
n = 168 = 2^3 * 3 * 7
   2 => [1, 3, 7, 21]
   3 => [1, 4, 7, 28]
   7 => [1, 8]

"""
Input: integer n

returns True if n_p = 1 for all prime p dividing n.
"""
def excluded(n):
    test = True
    for p, l in sylow(n):
        if len(l)>1:
            test = False
    return(test)
                                                                  

                                                                  

max = 10000

"""
List of odd numbers less than max that are not a power of a prime and that have some prime divisor p such that n_p is not forced to be 1 for all groups of order n by the two conditions part 3 of Sylow’s Theorem
"""
l = [n for n in range(2,max) if n % 2 == 1 and not Integer(n).is_prime_power()
     and not excluded(Integer(n))]; len(l)
     1714
"""
First values of l.
"""
l[:20]
     [21,39,55,57,63,75,93,105,111,117,129,147,155,165,171,183,189,195,201,203]

 for n in l:
    n = Integer(n)
    print ’n =’, n,’=’,  factor(n)
    for p, lp in sylow(n):
        print ’  ’,p, ’=>’, lp
    print

        
WARNING: Output truncated!

n = 21 = 3 * 7
   3 => [1, 7]
   7 => [1]

n = 39 = 3 * 13
   3 => [1, 13]
   13 => [1]

n = 55 = 5 * 11
   5 => [1, 11]
   11 => [1]

n = 57 = 3 * 19
   3 => [1, 19]
   19 => [1]

n = 63 = 3^2 * 7
   3 => [1, 7]
   7 => [1]

n = 75 = 3 * 5^2
                                                                  

                                                                  
   3 => [1, 25]
   5 => [1]

n = 93 = 3 * 31
   3 => [1, 31]
   31 => [1]


...



n = 9957 = 3 * 3319
   3 => [1, 3319]
   3319 => [1]

n = 9975 = 3 * 5^2 * 7 * 19
   3 => [1, 7, 19, 25, 133, 175, 475, 3325]
   5 => [1, 21]
   7 => [1, 15, 57]
   19 => [1]

n = 9993 = 3 * 3331
   3 => [1, 3331]
   3331 => [1]

n = 9999 = 3^2 * 11 * 101
   3 => [1, 1111]
   11 => [1]
   101 => [1]

full_output.txt

User profile picture
2026-04-07 10:38
Comments