GAP Lesson 1

Start up GAP.

gap> LogTo("GAPlesson1");

Arithmetic Operations

You learn: + - * / ^, terminating input with ;, last. Factors, mod, Int, Gcd, Lcm, Factorial.

Try the following. Press the return key at the end of each line.

gap> 5+7;
gap> 12/17;
gap> 2/3 + 3/4;
gap> 2^3*3^3;
gap> 3.1415926^2;
gap> 5/4 in Rationals;
gap> 1.25 in Rationals;


gap> Factors(1111111);
gap> Factors(11111111111);
gap> Factors(2^32 + 1);
gap> Factors(216);
gap> last;
gap> Collected(last);

There are also variables last2 and last3. Guess what their values are.

Exercise: Find the first number of the form 111..1 bigger than 11 that is prime. Note that such a number must have a prime number of digits. As well as Factors, another useful function is IsPrime.

gap> Int(18/7);
gap> Gcd(216,930);
gap> Lcm(216,930);
gap> Factorial(6);
gap> -5 mod 11;
gap> 6 mod -5;
gap> 6 mod 0;

Did anything go wrong? What would you expect Int(-1/2) to be?

You learn: permutations are enclosed in (), operations have the same form as for integers. Conjugation is built in.

gap> (1,2,3)*(1,2);
gap> (1,2,3)^-1;
gap> (1,2,3)^(2,5);
gap> 1^(1,2,3);

Did anything in the above surprise you?
When we come to them, other kinds of elements such as matrices, and elements of finite fields can be manipulated with the same syntax.

You learn: lines are not terminated with ; How to call up and browse sections of the manual. You will need to follow some of the on screen instructions to get through the next commands.

gap> ?
gap> ?Help
gap> ?Factor
gap> ?16
gap> ?A f s
gap> ?>
gap> ??

What is the name of the section in the GAP manual immediately preceding section 56.5-9 Factors?
On a scale of 0-10, rate the manual section 'A first session with GAP' in terms of helpfulness.

True and False; Assignment of Variables
You learn: The difference between = and :=, how to store things in memory.

gap> 8=2^3;
gap> 8=3^3;
gap> g:=17;
gap> g;
gap> g=17;
gap> g=21;
gap> g^2;
gap> 3<=2;
gap> 3>=2;

Exercise: What response do you expect from
gap> true and false;
gap> true or false;

Permutation groups; groups from the library; operations on groups
You learn: how to input a group generated by permutations. The operations Size, Center, DerivedSubgroup, in, SylowSubgroup, Elements, SymmetricGroup, AlternatingGroup, DihedralGroup.

gap> a:=Group((2,3,5)(6,7,8),(1,2,4,7)(3,6,8,5));
gap> Size(a);
gap> Center(a);
gap> Size(last);
gap> p:=SylowSubgroup(a,2);
gap> Size(p);
gap> Elements(p);
gap> Center(p);
gap> Size(last);
gap> IsNormal(a,p);

Exercise: Identify the Sylow 2-subgroups of the group a. What structure does a have? Is it a semidirect product?

gap> g:=SymmetricGroup(6);
gap> Size(g);
gap> h:=DerivedSubgroup(g);
gap> Size(h);
gap> (1,2) in h;
gap> (1,2,3) in h;
gap> d:=DihedralGroup(8);
gap> Size(d);

Exercise: Identify the Sylow 2-subgroups of
gap> c:=Group((1,2,3,4,5,6,7),(2,3)(4,7));