PREP - Professional Enhancement Programs of the MAA



 

Exploring Abstract Algebra with Computer Software

A PREP Workshop

GAP log - Wednesday June 30, 10 am - 11:30 am

Section 8, continued
Exercise 8.2
gap> Size(Idempotents(Integers mod 3));
2
gap> Size(Idempotents(Integers mod 3^2));
2
gap> Size(Idempotents(Integers mod 3^3));
2
gap> Size(Idempotents(Integers mod 3^4));
2
gap> Size(Idempotents(Integers mod 5^4));
2
gap> Size(Idempotents(Integers mod 5^3));
2
gap> Size(Idempotents(Integers mod 5^2));
2
gap> Size(Idempotents(Integers mod 2^2));
2
gap> Size(Idempotents(Integers mod 2^3));
2
gap> Size(Idempotents(Integers mod 2*3));
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `PROD' on 2 arguments called from
<function>( <arguments> ) called from read-eval-loop
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk> quit;
gap> Size(Idempotents(Integers mod 6));
4
gap> Size(Idempotents(Integers mod (2*3)));
4
gap> Size(Idempotents(Integers mod (5*3)));
4
gap> Size(Idempotents(Integers mod (5*7)));
4
gap> Size(Idempotents(Integers mod (5*7*11)));
8
gap> Size(Idempotents(Integers mod (5^2*7*11)));
8
gap> Size(Idempotents(Integers mod (5^2*7^3*11)));
8
Exercise 8.3
gap> Read("nilpotentCount");
gap> nilpotentCount(Integers mod 3);
1
gap> nilpotentCount(Integers mod 3^2);
3
gap> nilpotentCount(Integers mod 3^3);
9
gap> nilpotentCount(Integers mod 3^4);
27
gap> nilpotentCount(Integers mod 5^4);
125
gap> nilpotentCount(Integers mod 5^3);
25
gap> nilpotentCount(Integers mod 5^2);
5
gap> nilpotentCount(Integers mod (5*3));
1
gap> nilpotentCount(Integers mod (5*7));
1
gap> nilpotentCount(Integers mod (5*11));
1
gap> nilpotentCount(Integers mod (3*5*11));
1
gap> nilpotentCount(Integers mod (3^2*5*11));
3
gap> nilpotentCount(Integers mod (3^3*5*11));
9
gap> nilpotentCount(Integers mod (3*5^2*11));
5
gap> nilpotentCount(Integers mod (3^2*5^2*11));
15
Exercise 8.4
gap> Units(Integers mod 20);
<group with 2 generators>
gap> Elements(Units(Integers mod 20));
[ ZmodnZObj( 1, 20 ), ZmodnZObj( 3, 20 ), ZmodnZObj( 7, 20 ), ZmodnZObj( 9, 20 ), ZmodnZObj( 11, 20 ), 
  ZmodnZObj( 13, 20 ), ZmodnZObj( 17, 20 ), ZmodnZObj( 19, 20 ) ]
Section 9: Ring Homomorphisms
gap> R := Integers mod 10;
(Integers mod 10)
gap> e := Elements(R);
[ ZmodnZObj( 0, 10 ), ZmodnZObj( 1, 10 ), ZmodnZObj( 2, 10 ), ZmodnZObj( 3, 10 ), ZmodnZObj( 4, 10 ), 
  ZmodnZObj( 5, 10 ), ZmodnZObj( 6, 10 ), ZmodnZObj( 7, 10 ), ZmodnZObj( 8, 10 ), ZmodnZObj( 9, 10 ) ]
gap> h := x -> e[6]*x;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 10), (Integers mod 10), function( x ) ... end )
gap> IsRingHomomorphism(f);
true
gap> h := x -> e[1]*x;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 10), (Integers mod 10), function( x ) ... end )
gap> IsRingHomomorphism(f);
true
gap> h := x -> e[2]*x;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 10), (Integers mod 10), function( x ) ... end )
gap> IsRingHomomorphism(f);
true
gap> h := x -> e[3]*x;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 10), (Integers mod 10), function( x ) ... end )
gap> IsRingHomomorphism(f);
false
gap> Read("ringHoms");
gap> ringHoms(10);
[ true, true, false, false, false, true, true, false, false, false ]
Exercise 9.1
gap> ringHoms(15);
[ true, true, false, false, false, false, true, false, false, false, true, false, false, false, false ]
Exercise 9.2
gap> ringHoms(25);
[ true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, 
  false, false, false, false, false, false, false, false, false ]
gap> ringHoms(16);
[ true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false ]
gap> ringHoms(24);
[ true, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, true, 
  false, false, false, false, false, false, false ]
gap> 
gap> Read("ringHoms");
gap> ringHoms(10);
[ 1, true, 2, true, 3, false, 4, false, 5, false, 6, true, 7, true, 8, false, 9, false, 10, false ]
gap> Read("ringHoms");
gap> ringHoms(10);
[ ZmodnZObj( 0, 10 ), true, ZmodnZObj( 1, 10 ), true, ZmodnZObj( 2, 10 ), false, ZmodnZObj( 3, 10 ), false, 
  ZmodnZObj( 4, 10 ), false, ZmodnZObj( 5, 10 ), true, ZmodnZObj( 6, 10 ), true, ZmodnZObj( 7, 10 ), false, 
  ZmodnZObj( 8, 10 ), false, ZmodnZObj( 9, 10 ), false ]
Exercise 9.6
gap> R := Integers mod 15;
(Integers mod 15)
gap> h := x -> x^0;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 15), (Integers mod 15), function( x ) ... end )
gap> IsRingHomomorphism(f);
false
gap> h := x -> x^1;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 15), (Integers mod 15), function( x ) ... end )
gap> IsRingHomomorphism(f);
true
gap> h := x -> x^2;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 15), (Integers mod 15), function( x ) ... end )
gap> IsRingHomomorphism(f);
false
gap> h := x -> x^3;
function( x ) ... end
gap> f := MappingByFunction(R,R,h);
MappingByFunction( (Integers mod 15), (Integers mod 15), function( x ) ... end )
gap> IsRingHomomorphism(f);
false
gap> Read("ringHoms2");
gap> ringHoms(15);
[ ZmodnZObj( 0, 15 ), true, ZmodnZObj( 1, 15 ), true, ZmodnZObj( 2, 15 ), false, ZmodnZObj( 3, 15 ), false, 
  ZmodnZObj( 4, 15 ), false, ZmodnZObj( 5, 15 ), false, ZmodnZObj( 6, 15 ), true, ZmodnZObj( 7, 15 ), false, 
  ZmodnZObj( 8, 15 ), false, ZmodnZObj( 9, 15 ), false, ZmodnZObj( 10, 15 ), true, ZmodnZObj( 11, 15 ), false, 
  ZmodnZObj( 12, 15 ), false, ZmodnZObj( 13, 15 ), false, ZmodnZObj( 14, 15 ), false ]
gap> ringHoms2(15);
[ false, true, false, false, false, true, false, false, false, true, false, false, false, true, false ]
gap> Read("ringHoms2");
gap> ringHoms2(15);
[ 0, false, 1, true, 2, false, 3, false, 4, false, 5, true, 6, false, 7, false, 8, false, 9, true, 10, false, 11, 
  false, 12, false, 13, true, 14, false ]
Exercise 9.7
gap> ringHoms2(25);
[ 0, false, 1, true, 2, false, 3, false, 4, false, 5, false, 6, false, 7, false, 8, false, 9, false, 10, false, 11, 
  false, 12, false, 13, false, 14, false, 15, false, 16, false, 17, false, 18, false, 19, false, 20, false, 21, 
  false, 22, false, 23, false, 24, false ]
gap> ringHoms2(16);
[ 0, false, 1, true, 2, false, 3, false, 4, false, 5, false, 6, false, 7, false, 8, false, 9, false, 10, false, 11, 
  false, 12, false, 13, false, 14, false, 15, false ]
gap> ringHoms2(24);
[ 0, false, 1, true, 2, false, 3, false, 4, false, 5, false, 6, false, 7, false, 8, false, 9, false, 10, false, 11, 
  false, 12, false, 13, false, 14, false, 15, false, 16, false, 17, false, 18, false, 19, false, 20, false, 21, 
  false, 22, false, 23, false ]
gap> ringHoms2(27);
[ 0, false, 1, true, 2, false, 3, false, 4, false, 5, false, 6, false, 7, false, 8, false, 9, false, 10, false, 11, 
  false, 12, false, 13, false, 14, false, 15, false, 16, false, 17, false, 18, false, 19, false, 20, false, 21, 
  false, 22, false, 23, false, 24, false, 25, false, 26, false ]
gap> ringHoms(21);
[ ZmodnZObj( 0, 21 ), true, ZmodnZObj( 1, 21 ), true, ZmodnZObj( 2, 21 ), false, ZmodnZObj( 3, 21 ), false, 
  ZmodnZObj( 4, 21 ), false, ZmodnZObj( 5, 21 ), false, ZmodnZObj( 6, 21 ), false, ZmodnZObj( 7, 21 ), true, 
  ZmodnZObj( 8, 21 ), false, ZmodnZObj( 9, 21 ), false, ZmodnZObj( 10, 21 ), false, ZmodnZObj( 11, 21 ), false, 
  ZmodnZObj( 12, 21 ), false, ZmodnZObj( 13, 21 ), false, ZmodnZObj( 14, 21 ), false, ZmodnZObj( 15, 21 ), true, 
  ZmodnZObj( 16, 21 ), false, ZmodnZObj( 17, 21 ), false, ZmodnZObj( 18, 21 ), false, ZmodnZObj( 19, 21 ), false, 
  ZmodnZObj( 20, 21 ), false ]
Section 10: Polynomial Rings
gap> R1:= Integers mod 7;
GF(7)
gap> P1:= PolynomialRing(R1);
PolynomialRing(..., [ x_1 ])
gap> x:= X(R1, "x");
x
gap> g:= x^2-2;
x^2+Z(7)^5
gap> Factors(g);
[ x+Z(7), x+Z(7)^4 ]
gap> IsIrreducible(g);
false
gap> Int(Z(7));
3
gap> Int(Z(7)^4);
4
gap> 
gap> R2:= Integers mod 11;
GF(11)
gap> P2:= PolynomialRing(R2);
PolynomialRing(..., [ x_1 ])
gap> y:= X(R2, "y");
y
gap> y^3-2*y+1;
y^3+Z(11)^6*y+Z(11)^0
gap> R:= Rationals;
Rationals
gap> z:= X(R, "z");
z
gap> z^2-1;
z^2-1
gap> Factors(z);
[ z ]
gap> f:= z^2-1;
z^2-1
gap> Factors(f);
[ z-1, z+1 ]
gap> Factors(z^2-1);
[ z-1, z+1 ]
gap> quit;
Back to Home Page
 
 

This PREP workshop is made possible by the NSF grant DUE: 0341481