GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
����; � TeX output 2016.11.06:1241� ������� ��p ���@�+��@"��N�e9V $
phvb7t�NThe�
�XGAP�4�Man���ual�� �� �f�P�e9V
phvb7t�Pb��uy��^��� �n8Frank��&Celler���� �qmand���� ��Max��&Neunh����h�o�er���� �y��;3{�
ptmr7t�https://g��7ap-packages.github���.io/xg�ap/�� ��$��l�Cop��gyright�����G���[c�������� �Dƛ�
zptmcm7y�D
����� �1999{2012�� by�Frank�Celler�and�Max�Neunh�� �Ğ�3�oer����$e�W��37e�� adopt�the�cop��gyright�re�٠gulations�of��Q�l�
phvr7t�QGAP��as�detailed�in�the�cop�yright�notice�in�the��QGAP��manual.��� �� *��� ��p ���Լ\����8P�NContents����*p������ ���B ������ �H�ߌ�
ptmb7t�H1���$ Ho��gw�� to�r���ead�this�manual���Q��5������ ������ 2���$ What�� is�XGAP?���vJ6������������� �2.1���$ Basics� ����� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 6������������� 2.2���$ What�� you�can�do�with�XGAP�
��� .�� ��� .����� .���� 6������������� 2.3���$ Ho�� w�� does�it�w��gork?��Ӎ�� .�� ��� .����� .����� .����� .����� .����� .���� 7������ ���� ����� 2.4���$ Historical�� Remarks�and�� ��$ Ackno�� wledgements����� .�� ��� .����� .����� .����� .����� .����� .���� 8������������ �H3���$ Installing�� XGAP���s��9������������� �3.1���$ Ov�٠ervie�� w��a��� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .���� 9������������� 3.2���$ What�� you�need�to�install�XGAP��ލ�� .�� ��� .����� .���� 9������������� 3.3���$ Getting�� and�unpacking�the�sources������ .�� ��� .���� 9������������� 3.4���$ Conguring�� and�Compiling�the�C�part�}Ǎ�� .���� 10������������� 3.5���$ Installing�� the�Startup�Script� ����� .�� ��� .����� .����� .���� 11���������� ����� 3.6���$ Installing�� in�a�dierent�than�the�standard�� ��$ location��ˍ�� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 11������������ �H4���$ Subgr���oup�� Lattices�-�Examples���5��12���������� ����� �4.1���$ The�� Subgroup�Lattice�of�the�Dihedral�� ��$ Group�� of�Order�8�L���� .�� ��� .����� .����� .����� .����� .����� .���� 12���������� ����� 4.2���$ A�� P�٠artial�Subgroup�Lattice�of�the�� ��$ Symmetric�� Group�on�6�Points����� .�� ��� .����� .���� 15���������� ����� 4.3���$ A�� P�٠artial�Subgroup�Lattice�of�the�� ��$ Ca���vicchioli�� Group�
l��� .�� ��� .����� .����� .����� .����� .����� .���� 17���������� ����� 4.4���$ A�� P�٠artial�Subgroup�Lattice�of�the�T��grefoil�� ��$ Knot�� Group��A��� .�� ��� .����� .����� .����� .����� .����� .����� .����� .���� 19���������� ����� 4.5���$ A�� P�٠artial�Subgroup�Lattice�of�a�Finitely�� ��$ Presented�� Group���� .�� ��� .����� .����� .����� .����� .����� .����� .���� 20���������� ����� 4.6���$ A�� P�٠artial�Subgroup�Lattice�of�a�Space�� ��$ Group�
s8��� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 21������������ ���O ���� ���� �H5��� Subgr���oup�� Lattices�-�Systematic�� �� Description��� ���24������ ������ �� �5.1��� GraphicSubgroupLattice� !���� .�� ��� .����� .����� .����� .���� 24������ ���� ���� �� 5.2��� GraphicSubgroupLattice,�� Protocol�of�Group�� �� Theoretic�� Constructions����� .�� ��� .����� .����� .����� .���� 24���������� ���� �� 5.3��� GraphicSubgroupLattice,�� Labelling�of�� �� Le�� v�٠els� ����� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 25������������ �� 5.4��� GraphicSubgroupLattice,�� Mo�٠ving�V����ertices�����25���������� ���� �� 5.5��� GraphicSubgroupLattice,�� Selecting�� �� V����ertices��c��� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 26������������ �� 5.6��� GraphicSubgroupLattice,�� Inserting�V����ertices����926������������ �� 5.7��� GraphicSubgroupLattice,�� Sheet�Menu�Ս�� .���� 27������������ �� 5.8��� GraphicSubgroupLattice,�� Poset�Menu������ .���� 27������������ �� 5.9��� GraphicSubgroupLattice,�� Subgroups�Menu��� �t28���������� ���� �� 5.10��� GraphicSubgroupLattice,�� Information�� �� Menu������ .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 31������������ �� 5.11��� V����erte�٠x�� Shapes�8r��� .�� ��� .����� .����� .����� .����� .����� .����� .����� .���� 32���������� ���� �� 5.12��� GraphicSubgroupLattice�� for�FpGroups,�� �� Subgroups�� Menu�c���� .�� ��� .����� .����� .����� .����� .����� .����� .���� 32���������� ���� �� 5.13��� GraphicSubgroupLattice�� for�FpGroups,�� �� Information�� Menu�
f���� .�� ��� .����� .����� .����� .����� .����� .���� 35���������� ���� �H6��� Graphic�� Sheets�-�Basic�graphic�� �� operations��� � !36������������ �� �6.1��� Graphic�� Sheet�Objects�d��� .�� ��� .����� .����� .����� .����� .���� 36������������ �� 6.2��� Graphic�� Objects�in�Sheets��퍑� .�� ��� .����� .����� .����� .���� 38������������ �� 6.3��� Colors�� in�XGAP�T���� .�� ��� .����� .����� .����� .����� .����� .����� .���� 41������������ �� 6.4��� Operations�� for�Graphic�Objects�3���� .�� ��� .����� .���� 42������������ �� 6.5��� Global�� Information��ō�� .�� ��� .����� .����� .����� .����� .����� .���� 42����������� �� y��� ��LKj�
ptmri7t�LContents��p��3���p ����� ������ � ������ �H7���$ User�� Communication���Z��43������ ������� �7.1���$ Menus�� in�Graphic�Sheets�.[��� .�� ��� .����� .����� .����� .���� 43������������� 7.2���$ Mouse�� Ev�٠ents�5ፑ� .�� ��� .����� .����� .����� .����� .����� .����� .����� .���� 44������������� 7.3���$ Dialogs���� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 45������������� 7.4���$ Popups��؍�� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 45������������ �H8���$ Graphic�� P���osets���u{47������������� �8.1���$ Introduction�
�{��� .�� ��� .����� .����� .����� .����� .����� .����� .����� .���� 47������������� 8.2���$ Operations�ڍ�� .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .���� 48������������� 8.3���$ An�� Example� ����� .�� ��� .����� .����� .����� .����� .����� .����� .����� .���� 55������������ �H9���$ Graphic�� Graphs���o��57������������ 10���$ Dier���ences�� to�XGAP�3���T��58������������� �10.1���$ Concept������ .�� ��� .����� .����� .����� .����� .����� .����� .����� .����� .����� .���� 58������������� 10.2���$ User�� Interf��gace�0ҍ�� .�� ��� .����� .����� .����� .����� .����� .����� .����� .���� 59������������� 10.3���$ Where�� code�has�to�be�changed�
э�� .�� ��� .����� .���� 59����������$ �HBibliograph�٠y���~C60����������� �� H��� ��p � �� ���� ��p ����Ƣ�������M�e9V `
phvb7t�M1���� ��u�NHo��u�w���to�read��, �� x�this�طman���ual����8N8��This�!chapter�!tells�you�e�٠xactly��Y�,�which�part�of�this�manual�you�ha���v�٠e�to�read�if�you�w��gant�to�learn�certain�things�about�� ��QXGAP�.��N8�If�b_you�b`do�not�kno�� w�an�٠ything�about��QXGAP�b%�you�might�w��gant�to�ha���v�٠e�a�look�at�chapter�2.�Y���gou�can�learn�there,�what����QXGAP�K!�is�K/all�K.about,�what�you�can�do�with�it�as�a�user�(doing�no�programming)�and�for�what�you�can�use��QXGAP�K!�within���your�� o�� wn�programs.�Y���gou�nd�also�references�to�other�sections�of�this�manual�to�get�into�the�details.���If�� you�w��gant�to�kno�� w�ho�w�to�install��QXGAP�,�then�you�should�look�into�chapter�3.���If�Byou�Bkno�� w��QXGAP�B�from�its��QGAP�3�v�٠ersion,�you�will�consider�chapter�10�useful.�There�you�can�quickly�\update"�your���kno�� wledge��[to�the�ne�w��QGAP�4��Zv�٠ersion�and�also�nd�some�technical�details�about�the�implementation,�which�is�nearly���completely�� ne�� w��Y�.���Perhaps�dUyou�dVkno�� w�already��Y�,�that�you�can�display�subgroup�lattices�interacti�� v�٠ely�with��QXGAP�dO�and�you�w��gant�to�start�with���this��right��no�� w��Y�.�In�this�case,�jump�to�chapters�4�and�5�immediately��Y�.�Ho�� we�v�٠er���,��you�should�mak��ge�sure�rst�that�you�ha���v�٠e���a�� w��gorking��QXGAP��installed!���The� ��QXGAP� ��library�is�described� �in�these�and�the�remaining�chapters�of�this�manual.�The�information�is�di�� vided�into���the�� follo�� wing�parts:��N8��Hsubgr���oup�� lattices�-�examples���subgr���oup�� lattices�-�systematic�description���graphic�� sheets����$ �Creating�� and�managing�graphic�sheets�and�graphic�objects.�This�is�the�lo�� west�le�v�٠el.����Huser�� communication����$ �Handling�� of�menus,�dialogs,�te�٠xt�selectors�and�popups.����Hgraphic�� posets����$ �Display�� of�posets�in�graphic�sheets.����Hgraphic�� graphs����$ �Display��of�mathematical�graphs�in�graphic�sheets.��A��lot�of�\routine�w��gork"�for�handling�these�things�is�already����$ done�� and�can�be�used�in�your�applications!��N8�There�� is�a�chapter�for�each�of�these�parts.��� �� ˍ�� ��p ���Լ\�������M2���� �=f�NWhat��is�XGAP?����8N8��In���this�chapter�you�nd�the�answer�to�the�abo�٠v�e���question���be�ginning�from�a�short�o�v�ervie�� w�up�to�a�description�of�the�� �technical�� concept.��N8��P2.1�� Basics��N8��The��Zidea��[of��QXGAP��is�that��QGAP��should�be�able�to�control�graphics.�A��Igraphical�user�interf��gace�is�sometimes�easier�to���use��than��a�te�٠xt�and�command�oriented�one�and�there�are�mathematical�applications�for�which�it�can�be�quite�useful�to���visualize�� objects�with�computer�graphics.��N8�On�d]the�d^other�hand�it�is�not�sensible�to�change�the�whole�concept�and�user�interf��gace�of��QGAP�dW�because�it�is�not�advisable���to��1put��0all�the�f��gacilities�of��QGAP��$�into�a�menu�system.�So��QXGAP��is�a�separate�C��$program�running�under�the�X��$W���indo�� w���System,�@�which�@�starts�up�a��QGAP��job�and�allo�� ws�normal�command�e�٠x�ecution�@�within�a�windo�� w��Y�.�Note�that�the�online�help���of�� �QGAP��is�a���v�� ailable,�ho�we�v�٠er�it�will�appear�in�a�separate�windo�w��Y�.���In�f3addition�f2there�is�a�library�written�in��QGAP�,�which�mak��ges�it�possible�to�open�ne�� w�windo�ws,�display�f2graphics,�control���menus�� and�do�other�graphical�user�communication�in��QGAP��via�the�separate�C�part.���Built�k�on�those�\simple"�windo�� ws�and�graphic�objects�are�k�other�libraries�which�display�graphs�and�posets�in�a�windo�w���and�=allo�� w�>the�user�to�mo�٠v�e�v�ertices�=around,�select�them�and�in���v���ok��ge��QGAP��functions�on�mathematical�objects�which���belong�� to�the�graphic�objects.���One���\application"�of���these�libraries�is�a�program�to�display�subgroup�lattices�interacti�� v�٠ely��Y�.�So��QXGAP��w��gorks�as�a���front�4/end�4.for�mathematical�operations�on�subgroup�lattices.�It�is�possible�to�\switch"�between�the�graphics�and�the����QGAP�U��commands.�This�U�means�that�you�can�for�e�٠xample�use�the�graphically�selected�v�٠ertices�resp.�subgroups�to�do���your�� o�� wn�calculations�in�the�command�windo�w��Y�.�Y���gou�can�then�display�your�results�ag��7ain�as�v�٠ertices�in�the�lattice.���Of�� course�there�are�other�applications�possible�and�the�libraries�are�de�� v�٠eloped�with�code�reusage�in�mind.��N8��P2.2�� What��&y���ou�can�do�with�XGAP��N8��QXGAP�j��graphic�j�sheets�w��gork�graphic�object�oriented.�This�means�that�the�basic�j�graphic�objects�are�not�pix�٠els�b���ut�lines,���rectangles,��circles�and�so�on.��Although�technically�e�� v�٠erything�on�the�screen�consists�of�pix�els��QXGAP����remembers�the���structure��:of�your�graphics��;via�higher�objects.�This�has�adv�� antages�as�well�as�disadv�� antages.�Do�not�e�٠xpect�to�be�able���to��aplace��bpix�٠el�images�into�your��QXGAP��R�graphic�sheets.�That�is�as�of�no�� w��Hnot�possible��with��QXGAP��R�and�probably�will���ne�� v�٠er�� be,�because�it�is�not�the�idea�of�the�design.���What��(you��'can�do�is�create,�mo�٠v�e�around��(and�change�lines,�circles,�te�٠xt�and�so�forth�in�graphic�sheets.�Y���gour�programs���can�� communicate�with�the�user�via�graphical�user�interf��gaces�lik�e�mouse,�menus,�dialogs,�and�so�on.���It��is�v�٠ery�easy��to�link�this�graphical�en���vironment�with�your�programs�in�the�mathematical�en���vironment�of��QGAP�.�So���you�Lcan�Lv�٠ery�quickly�implement�visualizations�of�the�mathematical�objects�you�study��Y�.�The�user�can�select�objects,���choose�� functions�from�menus�and�ask�for�more�information�with�a�fe�� w�mouse�clicks.���A���good�e�٠xample�for�this�approach���is�the�implementation�of�the�interacti�� v�e�T��37odd-Cox�eter���-Algorithm�to�compute�coset���tables��in�nitely�presented�groups.�It�uses�the�graphical�features��of��QXGAP����to�gi�� v�٠e�the�user�quick�and�easy�access�to���the�R�algorithm�by�a�fe�� w�mouse�clicks.�This�program�w��gas�R�written�by�Ludger�Hippe�in�Aachen�using��QXGAP�3�and�is���currently�� ported�to��QXGAP�4�and�e�٠xtended�by�V����olkmar�Felsch.��� �� %���� ��LSection�� 3.�How�does�it�work?�Y���7���p ���� �Another��enice��dlittle�e�٠xample�is�in�the����<x
cmtt10�examples��subdirectory�in�the��QXGAP��"�distrib���ution.�It�w��gas�written�by�Thomas�� �Breuer���(Aachen)���to�demonstrate�the�features�of��QXGAP�.�The�user�gets�a�small�windo�� w�with�a�puzzle�and�can�solv�٠e�it���using�:tthe�:smouse.�Y���gou�can�test�this�e�٠xample�by�starting��QXGAP�:b�and��Read�ing�the�le��pkg/xgap/examples/puzzle.g�.���Y���gou�� can�do�this�by�using�� ��9��gap>�?�ReadPkg("xgap","examples/puzzle.g");����9�gap>�?�p�:=�Puzzle(4,4);��N8��Y���gou�[�do�not�[�ha���v�٠e�to�in���v�ent�the�wheel�man�y�[�times.�F�or�certain�mathematical�concepts�lik��ge�[�graphs,�posets�or�lattices����QXGAP����pro�٠vides���implementations���which�can�be�adapted�to�your�special�situation.�Y���gou�can�use�those�parts�of�the�code���you�� lik��ge�and�substitute�the�other�parts�to�adapt�the�beha���viour�of�the�user�interf�ace�to�your�wishes.��N8��P2.3�� Ho��w��&does�it�w��uork?����QXGAP���consists��of��a�C�program��xgap��(in�the��follo�� wing��xgap��in�type�writer�style�refers�to�this�C��part)�separate�from����QGAP�,�`�and�of�some�libraries�written�in�the��QGAP�`g�language.��xgap�`��is�started�by�the�user�and�launches�a��QGAP��job�in���the�]fbackground.�It�then�talks�to�this��QGAP�]-�job���.�Especially�it�]edisplays�all�the�output�which�comes�from��QGAP��in�the���communication�� windo�� w�and�feeds�e�v�٠erything�the�user�types�in�this�windo�w�into�the��QGAP��job���.��N8�But���there�is���also�some�communication�with�the��QGAP����job�about�the�graphics�that�should�be�displayed.�Because��QGAP����has�L�no�concept�of�putting�graphics�on�the�screen,�this�part�L�is�done�by��xgap�.�Therefore�there�is�a�protocol�between���the�0��QGAP�0��part�0�of��QXGAP��running�in�0�the��QGAP��session�0�and��xgap��which�is�embedded�in�the�input/output�stream.�The���user��,does��+not�notice�this.��xgap��stores�all�windo�� ws�and�graphic�objects�and�does�all�the�w��gork�necessary�for�displaying���windo�� ws�� and�managing�user�communication�and�so�on.���The���QGAP��|�part�of��QXGAP��{�also��stores�all�graphical�information,�b���ut�in�form�of��QGAP��{�objects.�The�user�can�inspect�all���these���structures�and���use�them�in�o�� wn�programs.�Changes�in�these�structures�are�transmitted�through�the�communica-���tions��protocol�to��xgap��and�are�e�� v�٠entually�displayed�on�the��screen.�User�actions�lik��ge�mouse�clicks�or�k�e�٠yboard�e�� v�ents���are�F�caught�by��xgap��and�F�transmitted�to�the��QGAP�F��job�via�function�calls�that�are�\typed�in"�as�if�the�user�had�typed�them.���So�� the�library�can�w��gork�on�them�and�change�the��QGAP��objects�accordingly��Y�.���T��L�echnically��Y�,�@]�QXGAP�@N�is�a�package�@^and�one�of�the�rst�commands�that�is�e�٠x�ecuted�automatically�@]within�the��QGAP�@M�session���is���a��LoadPackage("xgap")��call.���This�reads�in�the�e�٠xtra��QXGAP��u�libraries.�The�y�are���found�in�the��pkg/xgap/lib����subdirectory��Y�,�� normally�in�the�main��QGAP��directory�.�The�les�contain�the�follo�� wing:��N8��window.g����$ �basic�� denitions�for�the�communications�protocol����sheet.g[di]����$ �graphic�� sheets�and�their�operations����color.g[di]����$ �color�� information����font.g[di]����$ �te�٠xt�� font�information����menu.g[di]����$ �menus,�� dialogs,�popups,�and�user�communication����gobject.g[di]����$ �lo�� w�� le�v�٠el�graphic�objects�and�their�operations����poset.g[di]����$ �graphic�� graphs�and�graphic�posets����ilatgrp.g[di]����$ �graphic�� subgroup�lattices��� �� 5E��� ��8�bd�LChapter�� 2.�What�is�XGAP?���p ���� ��meataxe.g[di]�� ��$ �support�� to�display�submodule�lattices�calculated�within�the�C�MeatAx�٠e���p�The��Luser��Knormally�does�not�need�to�kno�� w�this�or�the�details�of�it.�Ho�� we�v�٠er���,��Lit�is�important�to�understand�that�the���program�ҏ�xgap�Ҏ�is�highly�machine�or�at�least�operating�system�dependent.�There�is�no�generic�w��gay�to�access�graphics���across�D�dierent�D�platforms�up�to�no�� w��Y�.��QXGAP�D��should�run�on�all�v�� ariants�of�Unix�with�the�X�D�W���indo�� w�System�V����ersion�11���Release�/\5�/[or�higher��s8.�As�of�no�� w��QXGAP�/G�does�not�run�on�Microsoft�W���indo�� ws.�It�is�also�denitely��Hnot��easily�ported�there,���because���some�important�features�that���are�used�within��QXGAP����are�missing�there�(such�as�pseudo�terminals).�There�are���currently�� no�plans�underw��gays�to�do�w�ork�in�this�direction.��N8��P2.4�� Historical��&Remarks�and�Ac��ukno��wledg�!Fements��N8��A���rst���program���for�dra�٠wing�a�diagram�sho�� wing�the�lattice�of�subgroups�of�a�nite�group�that�had�been�calculated�by���a�� computer�w��gas�implemented�by�H.�J�� �Ğ�3�ur���gensen�in�1965�(see�[FJ70]).��N8�The�sdesign�of�s �QXGAP�s�w��gas�strongly�sin
uenced�and�in�f�act�s triggered�by�the�Q�UO���TPIC�ssystem�of�Derek�s Holt�and�Sarah���Rees�d(see�[HR91])�which�allo�� ws�to�depict�graphically�kno�wledge�eabout�normal�subgroups�of�a�nitely�presented�group���found���by���a�v�� ariety�of�methods�for�the�in���v�٠estig��7ation�of�nitely�presented�groups.�It�seemed�most�desirable�to�allo�� w�to���depict�S1in�S2a�similar�w��gay�the�e�� v�٠en�wider�v�ariety�S2of�information�on�subgroups�of�groups�that�can�be�obtained�by�a�system���such�� as��QGAP�.���Be�٠ginning�^1993,�Frank�]Celler�de�� v�eloped�the�idea�of�an�]interf��gace�from��QGAP�E�to�graphic�systems�that�allo�� wed�to�actually���write���commands���for�graphical�tasks�in�the��QGAP����language�and�together�with�Susanne�K�� eitemeier�(see�[K�� ei95])�wrote���a��rst�v�٠ersion��of�programs�in��QXGAP����for�dra�wing��diagrams�representing�posets�of�subgroups�of�nite�and�nitely���presented���groups.�W��37e�most���gratefully�ackno�� wledge�the�help�of�Sarah�Rees�in�implementing�the�interacti�� v�٠e�lattice���functions�� and�in�beta�testing�the��QGAP�3�v�٠ersion�of��QXGAP�.���In���1998,���Thomas�Breuer���,�Frank�Celler���,�Joachim�Neub�� �Ğ�3�user�and�Max�Neunh�� �Ğ�3�oer�planned�the�ne�� w�concepts�for�the����QGAP�4��v�٠ersion.��The�implementation�and�porting�to��QGAP�4�w��gas�done�mainly�by�Max�Neunh�� �Ğ�3�oer�in�1998�and�1999.���Michael�Y&Ringe�Y%added�the�link�to�his�MeatAx�٠e�programs.�W��37e�lik��ge�to�thank�all�those�who�ha���v�٠e�adapted�the��QGAP�Y�library���to�� the�needs�of�the�ne�� w��QXGAP�,�in�particular�Ale�٠xander�Hulpk��ge�who�has�been�e�xtremely�helpful�with�this�task.��� �� C���� ��p ���Լ\�������M3���� �*��NInstalling���XGAP����;���Installing����QXGAP����should�be���easy�once�you�ha���v�٠e�installed��QGAP��itself.���W��37e�assume�here�that�you�w��gant�to�install��QXGAP�� ��in�� its�standard�location,�which�is�in�the�\pkg"�subdirectory�of�the�main��QGAP�4�installation.��ˍ�P3.1�� Over�!Fvie��w����Y���gou�� ha���v�٠e�to�perform�the�follo�� wing�steps�to�install��QXGAP�:��aC���
{�� Get�� the�sources���l���
{�� Unpack�� the�sources�����
{�� Use�� the��Lcongur��Ge��script�to�adjust�e�� v�٠erything�to�your�specic�system�����
{�� Compile�� the�C�part�of��QXGAP�����
�{�� Edit�� a�certain�startup�script�(if�necessary)�and�install�it�in�an�e�٠x�ecutable�� location�in�your�system��4���P3.2�� What��&y���ou�need�to�install�XGAP����Being��Ia��Jgraphical�user�interf��gace�to��QGAP�,��QXGAP��2�of�course�needs�graphics.�At�the�moment�this�means�that�you�need���the���X��windo�� w���system�in�the�V����ersion�11�Release�5�or�ne�� wer��s8.�On�the�other�hand�the�type�of�Unix�you�use�should�not���matter��s8.�� Please�le�an�issue�report�on��i���9��https://github.com/gap-packages/xgap/issues����if��0you��1encounter�problems�with�certain�system�congurations.�Note�that�usage�on�a�computer�running�Microsoft���W���indo�� ws��)is�not��*ocially�supported.�See�the�le��xgap/README.Windows��for�a�report�ho�� w�it�could�still�w��gork�on���W���indo�� ws.���l�Because�� �QXGAP��contains�a�C-part�you�need�a�C�compiler��s8.��ˍ�P3.3�� Getting��&and�unpac��uking�the�sour�ces����In�u�most�u�cases,�the��QXGAP�u��package�will�already�be�included�in�the�main�distrib���ution.�Ho�� we�v�٠er���,�u�you�can�also�do�� wnload���the�� sources�of�the�latest�v�٠ersion�from����9��https://gap-packages.github.io/xgap/����Y���gou���need�only�one���le�with�the�name�\xg��7ap-4.26.tar��s8.gz"�which�is�in�the�subdirectory�for�the�packages.�Y���gou�no�� w���change��nyour�current��mdirectory�to�the��pkg��subdirectory�of�the�location�where�you�installed��QGAP��Z�No�� w�you�e�٠xtract�the���sources�� for�the��QXGAP��package:����9��#�?�tar�xzvf�xgap-4.26.tar.gz����9�...����The����Ltar�0m�utility�unpacks�the���les�and�stores�them�into�the�apropriate�subdirectories.��QXGAP��o�resides�completely�in�the���follo�� wing�� subdirectory�(assuming�standard�location):��i���9��gap4r8/pkg/xgap��� ��
Og��� ��10�ZT��LChapter�� 3.�Installing�XGAP���p ���� ��P3.4�� Conguring��&and�Compiling�the�C�par�B�t��0
��Y���gou�� ha���v�٠e�to�change�your�current�w��gorking�directory�to�the�\xg��7ap"�subdirectory��Y�.�Y�ou�do�this�by�����9��#�?�cd�xgap����if�� your�current�w��gorking�directory�is�the�one,�where�you�used��Ltar�:��.�There�you�in���v���ok�e�the��Lcongur��Ge��script�by:����9��#�?�./configure�� ��9�creating�?�cache�./config.cache����9�checking�?�for�make...�make����9�checking�?�build�system�type...�x86_64-unknown-linux-gnu����9�checking�?�host�system�type...�x86_64-unknown-linux-gnu����9�checking�?�target�system�type...�x86_64-unknown-linux-gnu����9�checking�?�for�gcc...�gcc����9�checking�?�whether�the�C�compiler�(gcc�
�)�works...�yes����9�checking�?�whether�the�C�compiler�(gcc�
�)�is�a�cross-compiler...�no����9�checking�?�whether�we�are�using�GNU�C...�yes����9�...����9�updating�?�cache�./config.cache����9�creating�?�./config.status����9�creating�?�Makefile����9�creating�?�xgap.sh��0���A���?
zptmcm7m�A:���:�:��:��indicate��-omissions.��,This�script�tries�to�determine,�which�kind�of�operating�system�and�libraries�you�ha���v�٠e�installed���and�� congures�the�source�accordingly��Y�.�Normally�this�should�produce�some�output�b���ut�no�error�messages.���t�Note�_that�you�can�add�\CONFIGN��gAME=def��gault64"�after�`the��L./congur��Ge��command�(with�\def�ault64"�replaced�by�a���conguration�� name�you�used�to�compile��QGAP��with)�to�compile�for�a�dierent�than�the�standard�conguration.���The�� last�step�of�the�script�produces�some�mak��geles�which�are�used�to�compile�the�code.�Y���gou�do�this�by�typing�����9��#�?�make����9�mkdir�?�-p�bin/x86_64-unknown-linux-gnu-gcc����9�cp�?�cnf/configure.out�bin/x86_64-unknown-linux-gnu-gcc/configure����9�(�?�cd�bin/x86_64-unknown-linux-gnu-gcc�;�CC=gcc�./configure�
�)����9�checking�?�for�gcc...�gcc����9�checking�?�whether�the�C�compiler�works...�yes����9�...����9�creating�?�./config.status����9�creating�?�Makefile����9�creating�?�config.h����9�(�?�cd�bin/x86_64-unknown-linux-gnu-gcc�;�make�CC=gcc�)����9�make[1]:�?�Entering�directory����9�`/scratch/neunhoef/4.0/pkg/xgap/bin/x86_64-unknown-linux-gnu-gcc'����9�gcc�?�-I.�-g�-O2���-o�xcmds.o�-c�../../src.x11/xcmds.c����9�...����9�make[1]:�?�Leaving�directory�\�h��#�line�broken�for�this�manual!����(y�`/usr/local/lib/gap4/pkg/xgap/bin/i686-unknown-linux2.0.34-gcc'��0
��(a�� fe�� w�lines�were�brok��gen�for�typesetting�purposes�in�this�manual,�the�position�is�mark�ed�by�a�backslash)���No�� w�;�all�;�C�;�sources�are�compiled�and�a�binary�e�٠x�ecutable�is�;�b���uilt.�It�is�stored�in�a�subdirectory�of�the�\bin"�subdirectory���in��Jyour�\xg��7ap"��Kdirectory��Y�.�The�name�of�this�location�has�something�to�do�with�your�installation.�It�could�for�e�٠xample���be�����9��bin/x86_64-unknown-linux-gnu-gcc/xgap��0
��if�� you�compile�on�a�64-bit�Linux�system�using�the�GNU-C-Compiler��s8.��� �� X���� ��LSection�� 6.�Installing�in�a�dier��Gent�than�the�standar�d�location� �!��11���p ���� ��P3.5�� Installing��&the�Star�B�tup�Script��N8��T��37o���mak��ge�the�startup���of��QXGAP��%�more�con���v�٠enient�there�is�a�startup�script�which�contains�also�some�conguration�� �information���lik��ge���the�position�of�your��QGAP��~�installation.�It�is�in�the�\xg��7ap"�directory�and�is�called�\xg��7ap.sh".�This�le���is���automatically���generated�by�the��configure��script�and�normally�you�should��Hnot��ha���v�٠e�to�change�an�٠ything�in�it.�Just���cop��gy���it���to�some�location�that�people�ha���v�٠e�in�their�\P��A����TH"���en���vironment�v�� ariable,�for�e�٠xample�to�\/usr/local/bin".�This���completes�� the�installation.��N8�If�� you�w��gant�to�change�an�٠ything�in�the�installation,�you�can�also�edit�the�script�until�the�line�� ��9��##�
�STOP�?�EDITING�HERE�!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!����Y���gou�H�can�specify�the�H�directory�where��QGAP�H��is�installed�(\GAP�� ��� ff ����DIR"),�the�amount�of�memory�that��QGAP�H��should�use���as�7initial�w��gorkspace�(\GAP�� ��� ff ����MEM"),�the�7
name�of�the��QGAP�-e�٠x�ecutable�7(\GAP�� ��� ff ��PRG")�6�and�7
the�name�of�the��QXGAP�-���e�٠x�ecutable��v(\XGAP�� ��� ff ����PRG").��uThe�rst�three�are�e�٠xactly�the�same�things�that�you�could�edit�in�the�main��QGAP��[�startup���script.��After��that�you�ha���v�٠e�the�possibility�to�control�the�beha���viour�of�the��QXGAP�m�startup�script.�Y���gou�can�specify�whether����QXGAP��goes�Binto�the�background�C(\D���AEMON")�and�whether�it�prints�out�information�about�its�parameters�(\VER-���BOSE").�VNote�Uthat�it�is�possible�to�combine�\D���AEMON=YES"�2and�\VERBOSE=YES"�3because�the�script�actually���runs�� in�the�fore�٠ground�and�only�the�C�program�is�put�into�the�background.��N8��P3.6�� Installing��&in�a�di�erent�than�the�standar��ud�location����It��could��happen�that�you�do�not�w��gant�to�install��QXGAP�\�in�its�standard�location,�perhaps�because�you�do�not�w��gant�to���bother�d'your�system�administrator�d(and�ha���v�٠e�no�access�to�the��QGAP�d �directory��Y�.�In�this�case�you�can�unpack��QXGAP�d �in�an�٠y���other���location�within�a�\pkg"�directory�with�the��Ltar��w�command�as�described�abo�٠v�e.���Let�us�call�this�directory�\pkg"�for���the��moment.�Y���gou�get�an��\xg��7ap"�subdirectory�with�all�the�les�of��QXGAP��in�it.�Y�ou��follo�� w�the�standard�procedure�with���one�� e�٠xception:��N8�In�� the�\./congure"�command,�add�the�follo�� wing�option:�� ��9��./configure�?�--with-gaproot=/usr/local/lib/gap4r8����if���/usr/local/lib/gap4r8��is��the�location�of�the�main��QGAP����installation.�Y���gou�can�nd�out�where�the�main��QGAP�4���installation�� is�by�starting��QGAP��as�usual�and�looking�at�the�v�� ariable��GAPInfo.RootPaths��within��QGAP�.��� �� d���� ��p ���֭�������M4���� �� ��s�NSubgr��G�oup�<Lattices��, ����-��>Examples����<@Ս�QXGAP�6�pro�٠vides�Ya�graphical�Xinterf��gace�to�the�lattice�or�a�partial�lattice�of�subgroups�of�groups.�F�٠or�nitely�presented�� �groups�it�gi�� v�٠es�you�easy�access�for�e�xample�to�the�lo�� w�inde�x,�prime�quotient�and�Reidemeister���-Schreier�algorithms���in��4order�to��5b���uild�a�partial�lattice�interacti�� v�٠ely��Y�.�F�or��4other�types�of�groups�it�pro�٠vides�easy�access�to�man�y��5of�the�group���functions�� (for�e�٠xample,�the�normalizer���,�normal�subgroups,�and�Sylo�� w�subgroups).��N8�This�h{chapter�e�٠xplains�hzho�� w�to�use�this�interf��gace�by�w��gay�of�e�٠xamples.�Chapter�5�gi�� v�٠es�details�about�the�v�� arious�op-���tions���and���menus�a���v�� ailable.�These�tw��go�chapters�will�not�describe�ho�� w�to�write�your�o�� wn�programs�using�the�graphic���e�٠xtensions�� supplied�by��QXGAP�,�see�chapters�6�to�9�for�details.���It�� is�assumed�that�you�ha���v�٠e�already�started��QXGAP�.�On�most�systems�you�do�this�by�typing�� ��9��user@host:~>�?�xgap��N8��on�~the�~
command�line.�Ask�your�system�administrator�if�this�does�not�w��gork.�This�command�will�create�a�ne�� w�windo�w��Y�,���the�X�so�called��QGAP�XR�windo�� w��Y�,�in�which��QGAP�XS�is�a�٠w��gaiting�your�input.�Depending�on�the�windo�w�system�and�windo�w���manager���you�use,�placing���a�ne�� w�windo�w�on�your�screen���might�be�done�automatically�or�might�require�you�to�use�the���mouse�� to�choose�a�position�for�the�windo�� w�and�pressing�the�left�mouse�b���utton�to�place�the�windo�w��Y�.���The�U�small�arro�� w�U�or�cross�you�see�on�your�screen�is�called�a�pointer��s8.�Although�the�de�� vice�used�to�mo�٠v�e�this�U�pointer�can���be��an�٠ything,�a�mouse,��a�track�ball,�a�glide-pad,�or�e�� v�en�something��as�e�xotic�as�a�rat,�we�will�use��the�term�mouse�to���refer�� to�this�pointer�de�� vice.���In��7case��6that�some�computation�tak��ges�longer�than�e�٠xpected,�for�instance�the�lo�� w�inde�٠x�and�the�prime�quotient�can���be��quite��time�consuming,�you�can�al��gw�ays�interrupt��a�computation�by�making�the��QGAP���windo�� w�acti�v�٠e��and�pressing����LCTRL-C�,_�or��,selecting��Interrupt��-�in�the��Run��menu.�Ag��7ain,�making�a�windo�� w�acti�v�٠e��,is�system�and�windo�� w�manager���dependent.�g�In�g�most�cases�you�either�ha���v�٠e�to�mo�٠v�e�the�g�pointer�inside�the��QGAP�g��windo�� w�or�you�ha���v�٠e�to�click�on�the�title���bar�� of�the��QGAP��windo�� w��Y�.���Note��Jthat��Kfor�each�of�the�follo�� wing�e�٠xamples�there�is�a�small��QGAP��I�script�in�the��examples��subdirectory�of�the��QXGAP����home���directory���which�contains�the�necessary�commands.�Ho�� we�v�٠er���we�consider�it�better�for�learning��QXGAP��}�in�a�rst���time�� session�if�you�type�the�commands�by�hand�as�suggested�in�the�ne�٠xt�fe�� w�sections�of�this�manual.��N8��P4.1�� The��&Subgr��uoup�Lattice�of�the�Dihedral�Gr�oup�of�Or�der�8��N8��This�0�section�0�gi�� v�٠es�you�an�e�٠xample�on�ho�� w�to�use�the�function��GraphicSubgroupLattice��(see�5.1�for�details),�which���will�� display�the�Hasse�diagram�of�the�subgroup�lattice�of�a�gi�� v�٠en�group.���Using�� the��
dihedral�group�of�size��>�V
zptmcm7t�8��as�e�٠xample�the�follo�� wing�will�sho�w��
you�most�features�of�the��GraphicSubgrou-���pLattice�� �program.�This�e�٠x�ercise�� is�best�carried�out�in�front�of��QXGAP�,�trying�the�v�� arious�commands�yourself.���First�� you�ha���v�٠e�to�dene�a�group�in��QGAP�,�this�e�xample�uses�a�dihedral�group�dened�as�polyc�yclic�group.�� ��9��gap>�?�d8�:=�DihedralGroup(8);����9�<pc�?�group�of�size�8�with�3�generators>����9�gap>�?�SetName(d8,"d8");��N8��No�� w�� you�ask�for�a�graphical�display�by��� ��
p���� ��LSection�� 1.�The�Subgr���oup�Lattice�of�the�Dihedr�٠al�Gr�oup�of�Or��Gder�8� ��E�13���p ���� ��9��gap>�?�s�:=�GraphicSubgroupLattice(d8);�� ��9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice�of�d8">��N8��QXGAP���will��open��a�windo�� w�containing�a�ne�� w�graphic�sheet,�a�menu�bar�(menus�are�described�belo�� w)�abo�٠v�e�the��graphic���sheet��and��a�title.�On�most�systems�the�title�will�be�either�belo�� w�the�graphic�sheet�or�abo�٠v�e��the�menu�bar��s8.�The�dimension���of�Vthe�Ugraphic�sheet�is�x�٠ed,�changing�the�size�of�the�windo�� w�will��Hnot��change�the�size�of�the�graphic�sheet,�see�5.8���ho�� w�>to�resize�the�graphic�sheet.�It�is�possible�that�the�graphic�sheet�is�lar���ger�(depending�on�the�lattice�it�might�be�much���lar���ger)�8 than�the�windo�� w��Y�.�In�this�8case�the�windo�w�will�contain�so�called�scrollbars�which�allo�w�8you�to�select�the�portion���of�� the�graphic�sheet�which�will�be�displayed.��N8��QXGAP�{��rst�|sho�� ws�|only�the�whole�group�(which�is�already�selected)�and�the�tri�� vial�subgroup,�connected�by�a�line���indicating�� inclusion.����ConjugacyClassesSubgroups��"�computes�and��!returns�the�conjug��7ac�٠y�classes�of�subgroups,�so�summing�up�the�sizes���of�� the�classes�tells�you�ho�� w�man�٠y�elements�the�lattice�has.�� ��#9��gap>�?�Sum(�List(�ConjugacyClassesSubgroups(d8),�Size�)�);����#9�10��N8��10��M�is��Nsmall�enough�to�use��AllSubgroups��without�painting�the�screen�black.�After�you�ha���v�٠e�click��ged�this�menu�entry���in�� the��Subgroups��menu�you�see�the�complete�Hasse�diagram�in�the�graphic�sheet.���The�� follo�� wing�initial�remarks�can�be�made�about�the�graphical�representation�of�the�subgroup�lattice:��N8���
{�� The�� v�٠erte�x�representing�the�tri�� vial�subgroup�is�labeled��1�.�����
{�� V����ertices���representing�subgroups�of���the�same�size�are�dra�٠wn�at�the�same�height.�The�٠y�are�said�to�be�\on�the�same���� le�� v�٠el".�WMIn�our�e�xample�WLthe�subgroups�that�belong�to�the�v�ertices��2�,�WL�4�,��5�,��8��and��9��all�ha���v�e�size�WL2,�and�the�subgroups���� of�X��3�,��6�,�and��7��ha���v�٠e�size�X��4�.�The�def��gault�beha�viour�is�to�place�a�v�٠erte�x�X�abo�v�e�another�one�X�if�the�size�of�the�subgroup���� represented��Pby��Othe�rst�v�٠erte�x�is��Plar���ger�than�the�size�of�the�subgroup�of�the�second,�b���ut�see�5.1�for�details.�At�the���� right�Redge�Rof�the�graphic�sheet�each�le�� v�٠el�is�labeled�with�the�inde�٠x�of�the�subgroups�contained.�See�5.3�for�details���� on�� the�labelling�of�le�� v�٠els.�����
{�� V����ertices�qbelonging�pto�the�same�conjug��7ac�٠y�class�are�placed�closely�together��s8.�In�our�e�٠xample�the�subgroups�of��4���� �and�� �5��form�one�conjug��7ac�٠y�class.���p�The���initial���placement�of�the�v�٠ertices�chosen�by��GraphicSubgroupLattice��might�not�be�optimal�or�you�might�w��gant���to�/�choose�/�a�dierent�one�in�order�to�e�٠xploit�certain�features�of�the�diagram.�It�is�therefore�possible�to�mo�٠v�e�the�/�v�ertices���around�� using�the�mouse.���The���mouse�together�with�the�left�mouse�b���utton�can���be�used�to�mo�٠v�e���and�select�v�٠ertices.�A��gselected�v�erte�x�is�represented���by�q&a�q'thick��ger�circle,�colored�red�if�your�screen�supports�color��s8.�F�٠or�e�xample,�q&in�order�to��Hmo��gv�e�q&�v�٠erte�x��4�q&�use�the�mouse�to���place��cthe��dpointer�inside�the�circle�around��4��and�press�the��Hleft��mouse�b���utton.�K�� eep�the�mouse�b���utton�pressed�and�start���mo�٠ving�uthe�vmouse.�The�v�erte�x�vwill�no�� w�follo�w�the�vpointer��s8.�Because�of�the�height�restrictions�gi�� v�٠en�by�the�size�it�is���not���possible�to���mo�٠v�e����4��abo�٠v�e����6��or�belo�� w��1�.�It�must�al��gw�ays���stay�within�its�le�� v�٠el.�If�you�release�the�left�mouse�b���utton���v�٠erte�x����4��will�stay�at�its�current�position�and�the�rest�of���the�conjug��7ac�٠y�class�(in�this�e�xample��5�)�will�be�mo�v�ed�to�this���ne�� w�� position.���In�ԉorder�to��Hselect��v�٠erte�x�ԉ�LG��place�the�pointer�inside�the�Ԉdiamond�around��LG�,�press�the��Hleft��mouse�b���utton�and�release�it���immediately��Y�.�p�Do�p�not�mo�٠v�e�the�p�mouse�while�you�hold�do�� wn�the�left�mouse�b���utton.�V����erte�٠x��LG��no�� w�has�a�slightly�thick��ger���boundary�d�and�d�is�red�if�you�ha���v�٠e�a�color�screen.�There�are�tw��go�dierent�w��gays�to�select�more�than�one�v�٠erte�x,�d�see�4.2�or���5.5.���On�Qzthe�top�Q{of�the�windo�� w��Y�,�abo�٠v�e�Qzthe�graphic�sheet,�you�can�see�a�list�of�menu�names:��Sheet�,��Poset�,�and��Subgroups�.���In�:�order�:�to�open�an�٠y�of�these��Hpull�do��gwn�menus��place�the�pointer�inside�the�b���utton�containing�the�menu�name�and���press�0qthe�left�mouse�0pb���utton.�K�� eep�the�b�utton�pressed.�A�0Cpull�do�� wn�menu�will�be�sho�wn�and�0pby�mo�٠ving�the�pointer���do�� wn��you��can�choose�a�menu�entry��Y�.�By�choosing�an�entry�and�then�releasing�the�mouse�b���utton�the�entry�is�selected,���the��dcorresponding��efunction�is�e�٠x�ecuted��dand�the�pull�do�� wn�menu�is�closed.�If�you�release�the�mouse�b���utton�while�the��� �� ���� ��14�$���LChapter�� 4.�Subgr���oup�Lattices�-�Examples���p ���� ��pointer��?is�outside�the�pull��>do�� wn�menu�the�menu�is�closed�without�selecting�an�٠y�entry��Y�.�Note�that�this�beha���viour�is�� �dierent�� from�that�of�some�other�graphical�user�interf��gaces�such�as�for�e�٠xample�W���indo�� ws.��N8�No�� w�Kselect��Change�?�Labels��from�the��Poset��menu.�If�this�entry�Lis�not�a���v�ailable�you�ha���v�٠e�f��gailed�to�select�v�erte�x��LG�.���After��gselecting��Change�?�Labels��f�a�small�dialog�box�is�opened�asking�for�a�label.�T��37ype�in��D8��and�press�the��Lr��Geturn��k��ge�٠y���or��Rclick�on��Q�OK�.�The�label�of�v�٠erte�x��R�LG��will�no�� w�be�changed�to�\�LD�8�".�Note�that�in�the�X��9W���indo�� w�System�you�ha���v�٠e�to���mo�٠v�e�� the�pointer�on�the�te�٠xt�eld�if�you�w��gant�to�edit�the�label.���In���order�to���nd�out�which�v�٠erte�x�represents���the�centre�of��LD����?�V
zptmcm7t�8�� �,�rst�select�v�٠erte�x��LD�8����and�then�the�menu�entry��Centres����from�zvthe��Subgroups��menu.�In�case�zuof�a�color�screen,�v�٠erte�x�zv�LD�8��will�be�selected�and�colored�red,�and�v�٠erte�x�zv�2��will�be���colored��(green.�The�color�green�indicates��'that�v�٠erte�x��(�2��is�the�result�of�a�computation.�There�will�also�be�a�message�in���the�� �QGAP��windo�� w�saying�that�v�٠erte�x�� �2��represents�the�centre�of�the�group�belonging�to�v�٠erte�x�� �LD�8�.�� ��9��#I�
�Centres�?�(D8)�-->�(2)��N8��Most�֢of�the�menu�entries�in��Subgroups��should�be�self-e�٠xplanatory��Y�,�for�details�and�the�dierence�between��Closure����and�� �Closures��see�5.9.���If�'�you�ha���v�٠e�selected�some�'�v�ertices�(in�the�e�xample��LD�8��is�no�� w�selected),�and�you�'�w��gant�to�in���v�estig��7ate�the�subgroups���corresponding��to�these��v�٠ertices�further�in��QGAP�,�the�function��SelectedGroups��will�return�a�list�of�these�subgroups���(note�"that�!you�can�also�achie�� v�٠e�calling�this�function�by�selecting��SelectedGroups�?�to�GAP��in�"the��Subgroups��menu):�� ��9��gap>�?�SelectedGroups(s);����9�[�?�d8�]��N8��On���the���other�hand,�the�functions�supplied�via�the��Subgroups��menu�are�by�f��gar�not�all�functions�applicable�to�groups.���In�J�order�to�sho�� w�results�of�a�J�computation�in��QGAP�J��in�the�diagram,�you�can�use��SelectGroups�.�The�function��Select-���Groups�� �allo�� ws�you�to�mark�an�٠y�set�of�subgroups�of��LD����8��� �in�the�diagram.���F�٠or�� instance,�you�can�compute�the�lo�� wer�central�series�of�this�(nilpotent)�group�in��QGAP�.�� ��9��gap>�?�l�:=�LowerCentralSeries(d8);����9�[�?�d8,�Group([�f3�]),�Group([�<identity>�of�...�])�]����9�gap>�?�SelectGroups(s,l);��N8��This��Vlo�� wer�central�series�corresponds�to��Wthe�v�٠ertices��LD�8�,��2��and��1��which�will�no�w�be�selected.�If,��Was�it�is�not�the�case���in���this�e�٠xample,�the�subgroups�are�not�yet�depicted�in�the���lattice,�a�w��garning�appears�in�the��QGAP���command�windo�� w��Y�.���Y���gou�kUha���v�٠e�to�use��InsertVertex��to�kVinsert�a�ne�� w�v�erte�x�into�the�lattice�(note�that�you�kVcan�also�achie�� v�e�this�by�selecting����InsertVertices�?�from�GAP�] �in�]*the�])�Subgroups��menu,�see�section�5.6.1�for�the�complete�description�of�this�function���or�� section�4.2�for�an�e�٠xample).���T��37o��ksummarize�the��labo�٠v�e:��kthe�function��SelectedGroups��can�be�used�to�transfer�information�from�the�diagram�to��QGAP�,���the�� functions��SelectGroups��and��InsertVertex��can�be�used�to�transfer�information�from��QGAP��to�the�diagram.���In���order�to�nish�this�e�٠xample,�close�the�windo�� w�by�selecting��close�?�graphic�sheet����from�the��Sheet��menu.�This���will�� close�the�windo�� w�containing�the�Hasse�diagram�of��LD����8�� �.���In��*this��)e�٠xample�you�ha���v�e�learned,�ho�� w��)to�display�the�Hasse�diagram�of�the�subgroup�lattice�of�a�group�using��Graph-���icSubgroupLattice�,�scho�� w�to�use�the�mouse�to�mo�٠v�e�scand�select�sdv�٠ertices,�ho�w�to�select�a�menu�entry�and�ho�w�to���transfer�� information�between�the�Hasse�diagram�and��QGAP��using��SelectGroups��and��SelectedGroups�.���In�� order�to�learn�more�about�the�menus��Sheet��and��Poset�,�which�were�only�mentioned�v�٠ery�brie
y��Y�,�see�5.7,�and�5.8.��� �� �"��� ��LSection�� 2.�A�P��37artial�Subgr���oup�Lattice�of�the�Symmetric�Gr�oup�on�6�P��37oints� ���15���p ���� ��P4.2�� A��&P��.ar�B�tial�Subgr��uoup�Lattice�of�the�Symmetric�Gr�oup�on�6�P��z�oints��N8��This�� section�in���v�٠estig��7ates�the�subgroup�lattice�of��LS����6�� �.�� ��9��gap>�?�s6�:=�SymmetricGroup(6);�� ��9�Sym(�?�[�1�..�6�]�)����9�gap>�?�SetName(s6,"S6");����9�gap>�?�cc�:=�ConjugacyClassesSubgroups(s6);;����9�gap>�?�Sum(List(cc,Size));����9�1455����As�Z;there�Z<are��1455��subgroups,�displaying�the�whole�lattice�of�subgroups�w��gould�not�be�helpful�because�there�are�simply���too�f�man�٠y��Y�.�f�Therefore�this�e�xample�f�b���uilds�only�a�partial�subgroup�lattice.�W��37e�assume�that�you�are�f��gamiliar�with�the���general�� ideas,�mouse�actions�and�menus,�which�were�discussed�in�4.1.��N8�W��37e�� ag��7ain�start�to�b���uild�a�partial�lattice,�by�using��GraphicSubgroupLattice��(see�5.1).�After�you�ha�v�٠e�entered�� ��9��gap>�?�s�:=�GraphicSubgroupLattice(s6);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice�of�S6">����QXGAP�C��will�C�open�a�C�windo�� w�containing�a�ne�� w�graphic�sheet�with�tw��go�connected�v�٠ertices�labeled��1��and��LG�.�V����erte�٠x��1����represents�}�the�}�tri�� vial�subgroup�and�v�٠erte�x�}��LG��the�group��LS����6�� �.�V����erte�٠x��LG��is�already�selected,�so�it�will�be�red�if�your�screen���supports�� color��s8.��N8��QXGAP��n�can��xautomatically�write��ya�protocol�of�all�the�subsequent�actions�you�perform�via�mouse�clicks.�This�is�con���v�٠e-���nient�S2because�in�comparison�S3to�normal��QGAP�S&�sessions�you�do�not�ha���v�٠e�the�script�of�typed�commands.�Y���gou�can�acti�� v�ate���this�Vfeature�by�Uselecting��Start�?�Logging��from�the��Subgroups��menu.��QXGAP�.�prompts�you�for�a�lename�via�a�le���selector�� box.�See�5.2�for�details�about�this�feature.���In���order���to�nd�all�subgroups�of�size��60�,�we�cannot�not�use�the��Subgroups��menu�directly��Y�,�so�go�back�into�the��QGAP����windo�� w�� and�e�٠xtract�the�conjug��7ac�y�classes�of��cc��whose�representati�� v�es�ha���v�e�size��60�.�� ��9��gap>�?�c60�:=�Filtered(cc,x->Size(Representative(x))=60);;����9�gap>�?�s60�:=�List(c60,Representative);����9�[�?�Group([�(1,2)(3,4),�(1,3,5)�]),�Group([�(1,2)(3,4),�(1,2,3)(4,5,6)�])�]��N8��W��37e�� no�� w�use�the�function��InsertVertex��(see�5.6.1)�to�add�these�tw��go�subgroups�to�your�partial�lattice.����9��gap>�?�for�g�in�s60�do�InsertVertex(s,g);�od;����Note�Xthat�we�could�Wha���v�٠e�achie�� v�ed�this�result�with�the�Wentry��InsertVertices�?�from�GAP�2�in�Xthe��Subgroups��menu,�� �see�^5.6.1.�^The�Hasse�diagram�no�� w�contains�four�v�٠ertices.�The�ne�� w�v�٠ertices�are��Hnot��selected�automatically��Y�.�Y���gou�can�do���this���as���mentioned�abo�٠v�e�by���clicking�with�the��Hleft��mouse�b���utton�on�them.�Selecting��Conjugate�?�Subgroups��from�the����Subgroups�X`�menu�adds�X_the�complete�conjug��7ac�٠y�classes.�Please�do�this�rst�for�v�٠erte�x��2�X`�and�then�for�v�٠erte�x��3�X`�such�that���the�� numbering�of�v�٠ertices�in�the�follo�� wing�description�is�correct!��N8�In��order��to�nd�out�what�type�of�subgroups�we�are�looking�at,�use�another�kind�of�menu�not�discussed�so�f��gar���,�namely���the�|\Information"�menu.�Place�the�{pointer�inside�v�٠erte�x�|�3�,�press�the��Hright��mouse�b���utton�and�release�it�immediately��Y�.���This�lkwill�llpop�up�a�ne�� w�windo�w��Y�,�lkcontaining�some�te�٠xt�describing�v�erte�x��3�ll�(as�mentioned�abo�v�e,�depending�llon�the���windo�� w��ysystem��xand�windo�w��xmanager���,�placing�this�windo�� w�on�the�screen�might�require�some�interaction�with�the���mouse).��� �� ���� ��16�$���LChapter�� 4.�Subgr���oup�Lattices�-�Examples���p ���� ��9��Size�)��60�� ��9�Index�$��12����9�IsAbelian���unknown����9�IsCentral���unknown����9�IsCyclic���unknown����9�IsNilpotent�?�false����9�IsNormal���false����9�IsPerfect���true����9�IsSimple���unknown����9�IsSolvable�
�false����9�Isomorphism�?�unknown��N8��Note�p that��QGAP�o��does�not�o�yet�automatically�dra�٠w�the�conclusion�that�a�nonsolv�� able�subgroup�is�also�not�abelian,�c�٠yclic���or�?Kcentral.�Place�the�pointer�?Lon�top�of�the�entry�\Isomorphism"�and�press�the��Hleft��mouse�b���utton.�After�a�while�this���entry�� is�changed�to�� ��9��Isomorphism�?�[�60,�5�]����telling���you�that���the�subgroup�represented�by�v�٠erte�x����3��is�isomorphic�to�the�alternating�group�on��� v�٠e�symbols.�The���notation���[�?�60,�5�]��comes�out�of�the�small�groups�library�and�is�the�only�information�about�the�isomorphism�type���we��9can��8get�from��QGAP�4�up�to�no�� w��Y�.�Select��Lclose��to�close�the�\Information"�menu.�Repeat�this�with�v�٠erte�x��9�2�,�you�will���see�U�that�the�U�subgroup�of�v�٠erte�x�U��2��is�also�isomorphic�to��LA����5�� �,�ho�� we�v�٠er�U�these�tw��go��LA����5��U��inside��LS����6���are�not�conjug��7ate�U�in��LS����6�� �.�The���\Information"�� menu�is�described�in�detail�in�5.10.��N8�No�� w�y/we�w��gant�to�compute�the�normalizers�of�the�elements�y0of�the�conjug��7ac�٠y�class�containing�the�subgroup�of�v�erte�x��3�.���Y���gou��could�� either�select�v�٠erte�x���3��and�then��LNormalizer��gs��and�repeat�this�process�for�the�v�٠ertices��9��to��13�,�or�you�can�rst���select�|�the�|�v�٠ertices��3�,��9��to��13��and�then�select��LNormalizer��gs�.�But�ho�� w�to�select�more�than�one�v�٠erte�x?�|�If�you�rst�select��3����and�then��9�,�v�٠erte�x��3��will�get�deselected�as�soon�as��9��gets�selected.�Ho�� we�v�٠er���,�if�you�select�v�erte�x��3�,�place�the�pointer���inside�[�v�٠erte�x�[��9�,�hold�do�� wn�the��LSHIFT� ��k��ge�٠y�on�your�k��ge�٠yboard�and�then�select�v�٠erte�x��9�[��using�the�left�mouse�b���utton,���v�٠erte�x���9���will�be�selected�in�addition�to�v�٠erte�x���3�.�Another�method�to�select�more�than�one�v�٠erte�x��is�to�use�the�rubber���band�psto�ptcatch�v�٠ertices�inside�a�rectangle.�Place�the�pointer�left�and�a�bit�higher�than�v�٠erte�x��3�ps�Houtside��an�٠y�other�v�٠erte�x.���Press�q4the�q3�Hleft��mouse�b���utton�and�hold�it�do�� wn.�No�w��Y�,�q3using�the�mouse,�mo�٠v�e�q4the�pointer�right�and�slightly�belo�� w�v�٠erte�x����13�.��PY���gou�see��Qa�rectangle,�one�corner�at�your�start�position�and�the�other�follo�� wing�the�pointer��s8.�If�v�٠ertices��3��and��9��to��13����are���all�inside�this�rectangle,���release�the�mouse�b���utton.�No�� w�these�v�٠ertices�are�selected.�Select��Normalizers��from�the����Subgroups�� �menu�to�compute�and�display�the�normalizers.���No�� w�g]select�v�٠erte�x�g\�3�g]�and��4��and�compute�the�intersection.�The�intersection�is�of�size��10�.�Select�this�intersection�and�use����SelectedGroups�� �to�get�a��QGAP��record�describing�the�subgroup.�� ��9��gap>�?�l�:=�SelectedGroups(s);����9�[�?�Group([�(2,3)(4,6),�(1,2)(3,4)�])�]����9�gap>�?�u�:=�l[1];����9�Group([�?�(2,3)(4,6),�(1,2)(3,4)�])��N8��In�@Rorder�@Qto�nd�out�which�subgroups�of�the�complete�lattice�lie�abo�٠v�e�@Rthe�subgroup��u��you�can�use��Intermediate���Subgroups�.���Y���gou���select�the�whole�group�in�addition�to��u��and�choose��Intermediate�?�Subgroups��in�the��Subgroups����menu.�� Y���gou�get�6�groups,�some�of�them�are�already�in�the�lattice,�the�others�are�added.���There�� is�another�feature�we�ha���v�٠e�not�seen�yet.�Close�the�current�graphic�sheet�and�start�ag��7ain�with�a�fresh�one.�� ��9��gap>�?�Close(s);����9�gap>�?�s�:=�GraphicSubgroupLattice(s6);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice�of�S6">��N8��In�9aorder�9bto�compute�a�Sylo�� w��2��subgroup�select��Sylow�?�Subgroup��from�the��Subgroups��menu.�A�9Osmall�dialog�box�will���pop��up�asking��for�a�prime,�type�in��2��and�press��Lr��Geturn��or�click�on��OK�.�No�� w�select�this�ne�w�v�٠erte�x���2���representing�the��� �� �䍟� ��LSection�� 3.�A�P��37artial�Subgr���oup�Lattice�of�the�Cavicc�٠hioli�Gr�oup� ���17���p ���� �Sylo�� w���2���subgroup�and�compute�its�normal�subgroups.�This�is�rather�slo�� w�because�the�function�checks�for�each�ne�� w�� �v�٠erte�x�� if�the�corresponding�subgroup�is�conjug��7ate�to�an�old�one�of�the�same�size.���=�This���is�no�� w�the�end�of���our�partial�in���v�٠estig��7ation�of�the�(partial)�subgroup�lattice�of��LS����6�� �,�close�the�graphic�sheet(s)�using����close�?�graphic�sheet�L��of�L�the��Sheet��menu.�If�you�started�the�logging�f��gacility�of��QXGAP�L��as�described�abo�٠v�e�you�L�no�� w���ha���v�٠e�� a�le�(probably�called��xgap.log��if�you�did�not�change�the�def��gault)�describing�the�actions�we�performed.��kD��P4.3�� A��&P��.ar�B�tial�Subgr��uoup�Lattice�of�the�Ca��vicc�hioli�Gr�oup��@��This��section�in���v�٠estig��7ates�the�follo�� wing�nitely�presented�group��LC����2�� �,�which�w��gas�rst�in�v�٠estig��7ated�by�Alberto�Ca���vicchioli���in�� [Ca���v86]:���� ����Dh�La�A;����Lb���;�q��Laba������Eƛ�
zptmcm7y�E �2�� p]�Lba��=��Lb�A;��(�Lb������E �1�� p]�La������3�� �Lb������E �1���La������E �3���)������2����=���La������E �1���Di��kC��In�u�this�u�e�٠xample�we�will�sho�� w�a�w��gay�to�pro�٠v�e�a�u�nitely�presented�group�to�be�innite,�and�to�nd�some�big�nonabelian���f��gactor�� groups�of�it.���The�� follo�� wing��QGAP��commands�dene��LC����2�� �.��c��9��gap>�?�f�:=�FreeGroup(�"a",�"b"�);�
�a�:=�f.1;;�b�:=�f.2;;����9�<free�?�group�on�the�generators�[�a,�b�]>����9�gap>�?�c2�:=�f�/�[�a*b*a^-2*b*a/b,�(b^-1*a^3*b^-1*a^-3)^2*a�];����9�<fp�?�group�on�the�generators�[�a,�b�]>����9�gap>�?�SetName(c2,"c2");��A��W��37e��ag��7ain��assume�that�you�are�f��gamiliar�with�the�general�ideas,�mouse�actions�and�menus,�which�were�discussed�in�4.1���and�� 4.2.���In�1order�to�1b���uild�a�partial�lattice�of�a�nitely�presented�group,�you�ag��7ain�use�the�function��GraphicSubgroupLattice�.���But�U3if�U4the�rst�ar���gument�to��GraphicSubgroupLattice��is�a�nitely�presented�group�the�a���v�� ailable�menus�are�dierent���from�� the�e�٠xample�in�the�pre�� vious�section.�After�you�ha���v�e�entered��c��9��gap>�?�s�:=�GraphicSubgroupLattice(c2);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice�of�c2">��@��QXGAP�=��will�=�open�=�a�windo�� w�containing�a�ne�w�graphic�sheet.�Compared�to�the�=�interacti�v�٠e�lattice�of�a�permutation�group���as�� described�in�the�pre�� vious�section,�there�are�the�follo�wing�dierences:���{�C�There�is�only�one�v�٠erte�x�C�instead�of�tw��go.�This�v�٠erte�x�C�labeled�C��LG��is�the�whole�group��LC����2�� �.�There�is�no�v�٠erte�x�C�for�the���tri�� vial�� subgroup�(yet).���{�@�If�you�pull�@�do�� wn�the��Subgroups��menu,�you�will�see�that�this�menu�is�no�� w�v�٠ery�dierent.�It�gi�� v�٠es�you�access�to���v�� arious�^algorithms�for�nitely�presented�]groups�b���ut�most�of�the�entries�from�the�last�tw��go�e�٠xamples�are�missing�because���most�� of�the��QGAP��functions�behind�these�entries�are�not�applicable�to�(innite)�nitely�presented�groups.���>�This��$e�٠xample�will�sho�� w��%you�ho�w�to�pro�٠v�e��$that��LC����2���$�is��%innite.�First�look�at�the�abelian�in���v�ariants�in��%order�to�see�what���the�,�commutator�f��gactor�group�is.�In�order�to�compute�the�,�abelian�in���v�� ariants�pop�up�the�\Information"�menu.�This�is���done�űin�Ųe�٠xactly�the�same�manner�as�in�the�pre�� vious�section.�Place�the�pointer�inside�v�٠erte�x�ű�LG�,�press�the��Hright��mouse���b���utton�� and�release�it�immediately��Y�.�This�\Information"�menu�is�described�in�detail�in�5.13.��c��9��Index�I�1����9�IsNormal�9��true����9�IsFpGroup�4�unknown����9�Abelian�?�Invariants�unknown����9�Coset�?�Table�)��unknown����9�IsomorphismFpGroup�?�unknown����9�Factor�?�Group�$��unknown��@��This���tells�you���what��QXGAP����already�kno�� ws�about�the�group�associated�with�v�٠erte�x��LG�.���In�order�to�compute�the�abelian���in���v�� ariants�� click�onto�this�line.�After�a�while�this�entry�will�change�to��� �� Ċ��� ��18�$���LChapter�� 4.�Subgr���oup�Lattices�-�Examples���p ���� ��9��Abelian�?�Invariants�perfect��N8��telling�Ǔyou�that��LC����2��ǔ�is�perfect.�So�none�of�the��Subgroups�ǔ�menu�entries��Abelian�?�Prime�Quotient�,�Ǔ�All�Over-�� �groups�,�FZ�Conjugacy�?�Class�,��Cores�,��Derived�Subgroups�,�FY�Intersection�,��Intersections�,��Normalizers��or����Prime�?�Quotient�� �will�compute�an�٠y�ne�� w�subgroups.��N8�In��horder�to�a���v�oid��haccidents�the�menu�entries��Abelian�?�Prime�Quotient�,��h�All�Overgroups�,��Epimorphisms�(GQuo-�8� *� ���tients)�,����Conjugacy�?�Class�,����Low�Index�Subgroups�,�and����Prime�Quotient��from�the����Subgroups��menu�are�only���selectable�@�if�e�٠xactly�@�one�v�erte�x�is�selected�@�because�the�functions�behind�these�entries�are�in�general�quite�time�and���space�� consuming.���Close�~Athe�\Information"�windo�� w�and�~@select��Low�?�Index�Subgroups�~A�from�the��Subgroups��menu.�A�small�dialog�box���will�XPpop�up�XQasking�for�a�limit�on�the�inde�٠x.�T��37ype�in��12��and�press��Lr��Geturn��or�click�on��OK�.�In�general�it�is�hard�to�say�what���kind�{�of�{�inde�٠x�limit�will�still�w��gork,�for�some�groups�e�� v�٠en��5��might�be�too�much�while�for�others��20��w��gorks�ne,�see�also���47.10.1.����QGAP�9��computes�9��10��subgroups�9�of�inde�٠x��11��and��8��subgroups�of�inde�x��12�.�If�you�no�� w�9�start�to�check�the�abelian�in���v�ariants���of�Dthe�inde�٠x��12��subgroups�you�Dwill�nd�out�that�all�subgroups�represented�by�v�ertices��3�D�to��10��ha���v�e�a�nite�commutator���f��gactor�ggroup�e�٠xcept�the�subgroup�belonging�to�v�erte�x��4��which�has�an�innite�abelian�quotient.�Therefore�the�group��LC����2�����itself�� is�innite.���No�� w��
we�� w��gant�to�in���v�٠estig��7ate��LC����2��� �a�little�further�using��QGAP�.�Select�v�٠ertices��3�,��4�,�and��5��and�switch�to�the��QGAP���windo�� w��Y�.���Use�� �SelectedGroups��to�get�the�subgroups�associated�with�these�v�٠ertices.�� ��9��gap>�?�u�:=�SelectedGroups(�s�);����9�[�?�Group([�a,�b*a^2*b^-2,�b*a*b^2*a^-1*b^-1*a^-1*b^-1,�b^4*a^-2*b^-2,����-��b^2*a^3*b^-1*a^-1*b^-2�?�]),������Group([�?�a,�b^2*a*b^-1*a^-1*b^-1,�b^3*a^-1*b^-1,�b*a*b*a^3*b^-1�]),������Group([�?�a,�b^2*a*b^-1*a^-1*b^-1,�b*a^3*b^-2,�b^4*a^-1*b^-3,����-��b*a*b^3*a^-1*b^-1�?�])�]��N8�FactorCosetAction��H�computes��Gfor�each�of�these�subgroups��Lu����TKj�
ptmri7t�Ti��/p�the�operation�of��LC����2���G�on�its�cosets.�It�returns�the�result���as��da�homomorphism��cof��LC����2���d�onto�a�permutation�group.�The�operation�on��Lu����Ti�����is�therefore�a�permutation�representation�of���the�� f��gactor�group���� �\��LC����2�� �A=�LCor��Ge�(�Lu����Ti��r(�)�D�� ��Using�� �DisplayCompositionSeries��we�can�identify�these�f��gactor�groups.����9��gap>�?�p�:=�List(�u,�x�->�FactorCosetAction(�c2,�x�)�);;����9�gap>�?�l�:=�List(�p,�Image�);;����9�gap>�?�for�x�
�in�l�do�DisplayCompositionSeries(x);�Print("\n");�od;����9�G�?�(2�gens,�size�95040)������M(12)����9�1�?�(0�gens,�size�1)�� ��9�G�?�(2�gens,�size�660)������A(1,11)�?�=�L(2,11)�~�B(1,11)�=�O(3,11)�~�C(1,11)�=�S(2,11)�~�2A(1,11)�=�U(2,11)����9�1�?�(0�gens,�size�1)����9�G�?�(2�gens,�size�239500800)������A(12)����9�1�?�(0�gens,�size�1)��N8��(This�� display�can�look�a�little�dierent�according�to�the��QGAP��v�٠ersion�you�use.)��� �� �荟� ��LSection�� 4.�A�P��37artial�Subgr���oup�Lattice�of�the�T��s8r��Gefoil�Knot�Gr�oup� �ź�19���p ���� �So��.�LC����2���/�contains�the�Mathieu�group��/�LM����12��� �,�the�alternating�group�on��12��symbols�and��LPSL���(2�A;����11)��as�f��gactor�groups.�There-�� �fore���it�w��gould�ha���v�٠e���been�possible�to�nd�v�erte�x��4��using����Epimorphisms�?�(GQuotients)��instead�of��Low�Index�Sub-���groups�.�F(Close�F'the�graphic�sheet�by�selecting�the�menu�entry��close�?�graphic�sheet��from�F(the��Sheet��menu�and�start���with�� a�fresh�one.�� ��9��gap>�?�s�:=�GraphicSubgroupLattice(c2);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice�of�c2">��N8��Select�5{�Epimorphisms�?�(GQuotients)�5z�from�the��Subgroups��menu.�This�pops�up�a�menu�similar�to�the�\Information"���menu�� (see�5.12).����9��Sym(n)����9�Alt(n)����9�PSL(d,q)����9�Library����9�User�?�Defined��N8��Select����LPSL(d,q)�,���which�pops�up�a�dialog�box�asking�for�a�dimension.�Enter��2��and�click�on��LOK� ���.�Then�a�second�dialog���box��pops�up��asking�for�a�eld�size.�Enter��11��and�click�on��LOK� ���.�After�a�short�time�of�computation�the�display�in�the����Epimorphisms�?�(GQuotients)�� �menu�changes�and�sho�� ws����9��PSL(2,11)��1�?�found��N8��telling�l�you,�l�that��QGAP�l��has�found��1��epimorphism�(up�to�inner�automorphisms�of��LPSL���(2�A;����11)�)�from��LC����2��l��onto��LPSL��(2�A;����11)�.���Click��'on��&�Ldisplay�point�stabilizer�7�to�create�a�ne�� w�v�٠erte�x��'representing�a�subgroup��Lu��such�that�the�f��gactor�group�of����LC����2�� �A=�LCor��Ge�(�Lu�)����is�isomorphic�to��LPSL���(2�A;����11)�.�Y���gou�could�ha���v�٠e�click��ged�on��Ldisplay��to�create�a�ne�� w�v�erte�x�representing�the���k��gernel�� of�the�epimorphism.��N8�This�qdis�qeno�� w�the�end�of�our�partial�in���v�٠estig��7ation�of�the�(partial)�subgroup�lattice�of��LC����2�� �,�you�ha���v�٠e�seen�that��LC����2��qd�is�innite���and�c�contains�c��LM����12��� �,��LAlt�.�(12)�,�and��LPSL���(2�A;����11)��as�f��gactor�groups.�Close�the�graphic�sheet�by�selecting��close�?�graphic���sheet�� �from�the��Sheet��menu.��N8��P4.4�� A��&P��.ar�B�tial�Subgr��uoup�Lattice�of�the�T����ref�oil�Knot�Gr�oup����This�� section�in���v�٠estig��7ates�the�follo�� wing�nitely�presented�group,�the�trefoil�knot�group��LK����3�� �.�� �� �<��Dh�La�A;����Lb���;�q��Laba��=��Lbab�Di����This�� e�٠xamples�sho�� ws�some�limitations�of�the�methods�a���v�ailable,�in�particular�if�innite�f��gactors�occur��s8.�� ��9��gap>�?�f�:=�FreeGroup(�"a",�"b"�);�� ��9�<free�?�group�on�the�generators�[�a,�b�]>����9�gap>�?�k3�:=�f�/�[�f.1*f.2*f.1�/�(f.2*f.1*f.2)�];����9�<fp�?�group�on�the�generators�[�a,�b�]>����9�gap>�?�s�:=�GraphicSubgroupLattice(k3);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice">����If��dyou��ecompute�the�Abelian�in���v�� ariants�of��LK����3���d�you�will�see�that�the�commutator�f��gactor�group�is�isomorphic�to�the���innite�Y\c�٠yclic�group.�If�you�try�to�compute�the�Y]deri�� v�ed�subgroups�it�w��gorks!�Just�click�on��Derived�?�Subgroups��in���the��Y�Subgroups��menu.�A��Vv�٠erte�x��Yappears�in�a��Zle�� v�٠el�mark��ged�with��[�?�infinity,�1�]�.��YHo�we�v�٠er���,�there�are�not�too�man�y���things�� you�can�do�with�such�innite�inde�٠x�subgroups�up�to�no�� w��Y�,�as�we�will�illustrate�belo�w:��N8�First��produce�some�more�subgroups�by��Low�?�Index�Subgroups���(for�e�٠xample�with�inde�x�limit�5).�If�you�no�� w�try�to���compare�Tfone�of�the�ne�� w�subgroups�with�the�deri�v�٠ed�subgroup,�Tethis�is�possible.�If�you�ho�we�v�٠er�try�to�calculate�the���intersection�� of�one�of�the�nite-inde�٠x�subgroups�with�the�deri�� v�ed�subgroups,��QGAP��will�run�into�an�error:��� �� �m��� ��20�$���LChapter�� 4.�Subgr���oup�Lattices�-�Examples���p ���� ��9��Error�?�the�coset�enumeration�has�defined�more�than�256000�cosets:�� ��9�type�?�'return;'�if�you�want�to�continue�with�a�new�limit�of�512000�cosets,����9�type�?�'quit;'�if�you�want�to�quit�the�coset�enumeration,����9�type�?�'maxlimit�:=�0;�return;'�in�order�to�continue�without�a�limit,����9�...���(a�?�few�lines�follow)������This�dcan�chappen�if�the�coset�enumeration�algorithm�tries�to�enumerate�the�cosets�of�a�subgroup�with�innite�inde�٠x.���This�� situation�can�also�occur�with�other�operations.�����Y���gou���can�lea���v�٠e���this�break�loop�by�entering�the�command��quit;��or�by�clicking��Leave�?�Break�Loop����in�the��Run��menu���of�� the�main��QXGAP��windo�� w��Y�.�����Earlier�֒you�֑ha���v�٠e�computed�the�subgroups�of�inde�٠x�at�most��5�.�There�is�one�normal�subgroup�of�inde�٠x��2��belonging�to���v�٠erte�x����6��and�one�of�inde�٠x����4��belonging�to�v�erte�x��8�.�There�is��Hno��line�between�those���tw��go�v�ertices.�Select�both�and�click���on�8d�Compare�?�Subgroups�8e�in�the��Subgroups��menu.�A�85line�appears�and�the�line�between�v�٠ertices��8��and��LG��v�� anishes.���The��reason�for��this�is,�that�the��LowIndexSubgroupsFpGroup��call�did�not�deli�� v�٠er�the�complete�inclusion�info.�This���can���al��gw�ays���happen�for�nitely�presented�groups�in��QXGAP�.�In�this�case�you�ha���v�٠e�to�compare�the�subgroups�manually���by�� �Compare�?�Subgroups�.�Note�that�this�can�mean�lar���ge�computations,�especially�if�the�indices�are�huge.���No�� w�,�select�,�v�٠erte�x��10��and�,�choose��Cores��from�the��Subgroups��menu.�Y���gou�will�get�a�ne�� w�v�٠erte�x�,��12��for�an�inde�٠x��24����subgroup.�fLSelect�the�fKv�٠ertices��12��and��LG��and�choose��Intermediate�?�Subgroups��from�the��Subgroups��menu.�Y���gou�will���get�rJlots�of�ne�� w�v�٠ertices.�Note�that�some�of�them�are�rIduplicates�of�those�which�were�already�in�the�lattice.�This�is���because��@comparison�of�subgroups�can�be�quite�e�٠xpensi�� v�e��@and�is�therefore��Hnot��performed�automatically�in�the�case�of���nitely�� presented�groups.���Select���all�v�٠ertices���with�a�rubber�band�(click�into�the�top�left�corner�of�the�sheet,�hold�do�� wn�the�mouse�and�mo�٠v�e���the�̌pointer�to�̋the�lo�� wer�right�corner���,�then�release�the�mouse�b���utton),�and�choose��Compare�?�Subgroups��from�the����Subgroups��Y�menu.�A��?fe�� w�v�٠ertices�will�disappear��Xand�you�get�some�messages�in�the��QGAP��@�windo�� w�about�mer���ging�of���v�٠ertices.���The�m�display�m�is�also�not�fully�correct�with�respect�to�conjug��7ac�٠y�classes.��IntermediateSubgroups��does�not�return�the���complete�@�information�@�about�conjug��7ac�٠y�of�subgroups.�Because�also�conjug��7ac�٠y�tests�can�be�v�٠ery�e�xpensi�� v�e,�@�the�y�are���also��c�Hnot��performed�automatically�for�nitely�presented��bgroups.�Select��Test�?�Conjugacy��from�the��Subgroups��menu���to��Mtrigger��Lthis�test�manually�(note�that�all�v�٠ertices�are�still�selected!).�The�v�٠ertices�belonging�to�conjug��7ate�subgroups���are�?�arranged�together�and�?�if�you�mo�٠v�e�?�those�containing�the�normal�subgroup�of�inde�٠x��24��abo�v�e�?�this�one�you�recognize���the�� subgroup�lattice�of�the�symmetric�group�on��4��points�abo�٠v�e�� that�normal�subgroup.���This���is�no�� w�the�end�of�our�partial�in���v�٠estig��7ation�of���the�(partial)�subgroup�lattice�of��LK����3�� �,�close�the�graphic�sheet�by���selecting�� �close�?�graphic�sheet��from�the��Sheet��menu.��{U��P4.5�� A��&P��.ar�B�tial�Subgr��uoup�Lattice�of�a�Finitel��y�Presented�Gr�oup������This�� section�describes�the�in���v�٠estig��7ation�of�the�follo�� wing�nitely�presented�group:��h!�� ��^�LG���:=��Dh�La�A;����Lb��;�q��La������6����=�1�Di��h ��W��37e��Dwill��Esho�� w�especially�ho�w��Eto�deal�with�subgroups�which�ha���v�٠e�a�v�ery��Elar���ge�inde�x�lik��ge��Ethose�occuring�in�the�prime���quotient�� algorithm.���Dene�� the�group�and�open�the�subgroup�lattice�windo�� w:���ύ�9��gap>�?�f�:=�FreeGroup(2);����9�<free�?�group�on�the�generators�[�f1,�f2�]>����9�gap>�?�g�:=�f/[f.1^6];����9�<fp�?�group�on�the�generators�[�f1,�f2�]>����9�gap>�?�s�:=�GraphicSubgroupLattice(g);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice">������First���compute���prime�quotients�by��Prime�?�Quotient��in�the��Subgroups��menu.�Y���gou�are�ask��ged�for�a�prime�and�a�class.���Enter��+�2��*�and��7��respecti�� v�٠ely��Y�.�Y���gou�get�lots�of�output�in�the��QGAP��command�windo�� w�and�se�� v�٠en�ne�w��*v�٠ertices.�Some�of�the��� �� �w��� ��LSection�� 6.�A�P��37artial�Subgr���oup�Lattice�of�a�Space�Gr�oup� �_$�21���p ���� �corresponding���subgroups���ha���v�٠e�huge�indices.�Note�that�these�groups�are�only�represented�as�k��gernels�of�epimorphisms�� �within� F�QGAP�.� ESo�e�٠xplicit�calculation�of�a�coset�table�or�a�presentation�could�tak��ge�v�٠ery�long�or�be�absolutely�impossible!��N8�No�� w��compute��epimorphisms�onto�the�symmetric�group�on��3��points�by��Epimorphisms�?�(GQuotients)��in�the��Sub-���groups�� �menu,�b���ut�use�a�polyc�٠yclic�presentation�as�follo�� ws�(the�reason�for�this�will�be�e�xplained�belo�� w):�� ��9��gap>�?�IdGroup(SymmetricGroup(3));����9�[�?�6,�1�]����9�gap>�?�s3�:=�SmallGroup(6,1);����9�<pc�?�group�with�2�generators>����9�gap>�?�IMAGE_GROUP�:=�s3;;��N8��This�4�rst�determines�4�the�identication�number�of�the�symmetric�group�on��3��points�within�the�small�groups�library��Y�,���and���then���fetches�this�group�as�a�polyc�٠yclic�group.�F�٠or�groups�of�size�less�than��1000��this�is�often�a�good�w��gay�to�get�a���polyc�٠yclic���presentation.�Note�that��SymmetricGroup(3)��leads�to�a�permutation�group.�The�last�statement�stores�the���group�� in�a�v�� ariable�which�can�be�used�by��QXGAP�.���Select���v�٠erte�x��LG�,���then�click�on��Epimorphisms�?�(GQuotient)��in�the��Subgroups��menu�and�select��User�?�defined��in���the�w�windo�� w�w�that�pops�up.�This�will�al��gw�ays�w�use�the�group�stored�in�the�global�v�� ariable��IMAGE�� �E� ff &f��ǫGROUP�.��QGAP�w��nds�three���epimorphisms.�� Display�the�three�k��gernels�by�selecting��Ldisplay��in�the�epimorphisms�windo�� w��Y�.���Note��nthat��mthe�ne�� w�v�٠erte�x��9��n�will�be�dra�٠wn�on�the�line�between�v�٠ertices��2��and��3��because�there�is�not�yet�a�v�٠erte�x�in��nthe���le�� v�٠el�d�corresponding�to�d�inde�x�6.�Y���gou�can�d�mo�v�e�it�aside�by�d�dragging�it�with�the�mouse�to�some�better�position�within�its���le�� v�٠el.���No�� w�� select�v�٠ertices��8��and��11��and�calculate�the��!intersection�of�the�tw��go�subgroups�of�indices��137438953472��and��6����respecti�� v�٠ely��Y�.��C�QGAP����can�calculate�this�intersection��Bby�calculating�the�subdirect�product�of�the�image�groups�of�the���epimorphisms��(the��inde�٠x�of�the�subgroup�belonging�to�v�٠erte�x���12��in��LG��is��412316860416��which�is�three�times�of�the���inde�٠x�H#of�the�H$subgroup�belonging�to�v�erte�x��11�).�H$Note�that�this�subdirect�product�can�only�be�calculated�because�the�tw��go���image�� groups�are�polyc�٠yclic�groups.�This�is�the�reason�wh��7y�we�needed��LS����3��� �as�polyc�yclic�group�earlier��s8.���This��is�no�� w�the��end�of�our�partial�in���v�٠estig��7ation�of�the�(partial)�subgroup�lattice�of��LG�,�close�the�graphic�sheet�by���selecting�� �close�?�graphic�sheet��from�the��Sheet��menu.��N8��P4.6�� A��&P��.ar�B�tial�Subgr��uoup�Lattice�of�a�Space�Gr�oup��N8��This��'section��&describes�an�in���v�٠estig��7ation�of�an�(innite)�space�group�pro�٠vided�by�the�catalogue�CR��Y�YSTCA����T��"of�crystal-���lographic�L�groups�and�L�using�the�package�CR��Y�YST��B�.�Here�you�will�see�that�subgroups�of�nite�inde�٠x�and�of�nite�size�can���occur��8at�the�same�time�in�a�graphic�subgroup�lattice�of�an�innite�group.�Note�that�you�ha���v�٠e�to�install�these�packages���to�� try�this�e�٠xample.���Load�� the�packages,�dene�the�group�and�open�the�subgroup�lattice�windo�� w:�� ��9��gap>�?�LoadPackage("crystcat");;����9�gap>�?�LoadPackage("cryst");;����9�gap>�?�g�:=�SpaceGroupBBNWZ(4,6,3,1,2);����9�SpaceGroupOnRightBBNWZ(�?�4,�6,�3,�1,�2�)����9�gap>�?�s�:=�GraphicSubgroupLattice(g);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice�of�SpaceGroupOnRightBBNWZ(�4,�\����9�6,�?�3,�1,�2�)">��N8��This�i�fetches�i�the�space�group�of�dimension��4�,�associated�crystal�system�number��6�,��5���
msbm10�Q�-class�3,��Z�-class��1�,�and�space���group�� type��2��(see�the�CR��Y�YSTCA����T�documentation�for�an�e�٠xplanation�of�this).���No�� w�� we�calculate�some�maximal�subgroups�with�nite�inde�٠x�and�choose�three�of�them:��� �� э�� ��22�$���LChapter�� 4.�Subgr���oup�Lattices�-�Examples���p ���� ��9��gap>�?�m�:=�MaximalSubgroupClassReps(g,rec(latticeequal�:=�true));;�� ��9�gap>�?�mm�:=�m{[1..3]};����9�[�?�<matrix�group�with�7�generators>,�<matrix�group�with�7�generators>,������<matrix�?�group�with�7�generators>�]��Y��Ag��7ain���refer�to�the���CR��Y�YST��ppackage�documentation�for�an�e�٠xplanation�of�these�commands.�Insert�this�list�of�three���subgroups�� into�the�lattice�by�selecting��InsertSubgroups�?�from�GAP�� �from�the��Subgroups��menu.��ϕ�Ne�٠xt�� calculate�subgroups�of�innite�inde�x�b���ut�with�nite�size:���Z��9��gap>�?�w�:=�WyckoffPositions(g);;����9�gap>�?�ww�:=�w{[1..3]};����9�[�?�<�Wyckoff�position,�point�group�11,�translation�:=�[�0,�1/2,�0,�0�],����#9�basis�?�:=�[�
�]�>����#9�,�?�<�Wyckoff�position,�point�group�11,�translation�:=�[�0,�1/2,�0,�1/2�],����#9�basis�?�:=�[�
�]�>����#9�,�?�<�Wyckoff�position,�point�group�11,�translation�:=�[�0,�1/2,�1/2,�0�],����#9�basis�?�:=�[�
�]�>����(y�]����9�gap>�?�www�:=�List(ww,WyckoffStabilizer);����9�[�?�<matrix�group�with�3�generators>,�<matrix�group�with�3�generators>,������<matrix�?�group�with�3�generators>�]����Insert��}these�subgroups�into��~the�lattice�by�selecting��InsertSubgroups�?�from�GAP��l�from�the��}�Subgroups��menu.�The�٠y���will�� be�inserted�in�the�le�� v�٠el�for�groups�of�size�8.��ϕ�No�� w�9you�can�9compute�the�intersection�of�a�subgroup�with�nite�inde�٠x�and�a�subgroup�with�nite�size,�select�for�e�٠xam-���ple�cXv�٠erte�x��2��and�v�erte�x�cY�5��and�choose��Intersection��from�the��Subgroups��menu.�Y���gou�get�a�ne�� w�v�٠erte�x�representing�a���subgroup�� of�size��4�.��ϖ�If�Ǚyou�ǚno�� w�calculate�the�centralizers�of�the�fteen�latticeequal�maximal�subgroups�from�abo�٠v�e,�Ǚyou�get�among�them���four�� non-tri�� vial�c�٠yclic�subgroups:���Y��9��gap>�?�c�:=�List(m,x->Centralizer(g,x));����9�[�?�<matrix�group�with�1�generators>,�Group([�
�]),�Group([�]),�Group([�]),������<matrix�?�group�with�1�generators>,�Group([�
�]),�Group([�]),������<matrix�?�group�with�1�generators>,�Group([�
�]),������<matrix�?�group�with�1�generators>,�Group([�
�]),�Group([�]),�Group([�]),������Group([�
�]),�?�Group([�])�]����Insert��athese��`into�the�graphic�sheet�by�selecting��Insert�?�Vertices�from�GAP��L�from�the��a�Subgroups��menu.�Y���gou�will���get�)+four�),dierent�ne�� w�v�٠ertices�representing�groups�with�innite�inde�٠x��Hand��innite�size.�Each�such�v�٠erte�x�)+is�placed�into���a���le�� v�٠el�on���its�o�wn,�which�is�mark��ged���by��[�?�H1,��Ln�]����where��Ln��is�replaced�with�subsequent�natural�numbers�(see�section���5.3�^efor�^fdetails�about�le�� v�٠els).�\H1"�means�Hirsch�length�1,�that�is,�each�subnormal�series�of�the�group�contains�one�and���only��Mone��Linnite�c�٠ycle.�In�f��gact,�since�these�are�subgroups�of�space�groups,�it�indicates�that�the�translation�subgroup�is���of�� dimension�1.��ϖ�(Note���that���by�calculating�the�point�groups�of�these�centralizers�you�can�in�f��gact�see,�that�the�innite�c�٠yclic�groups���consist�� of�translations�only��Y�.)��ϕ�T��37ak��ge��Itw�o�of�these�centralizers��Hand�calculate�the�closure�by�selecting��Closure��from�the��Subgroups��menu.�Y���gou�will���get�m�a�ne�� w�subgroup�of�Hirsch�length�2,�which�is�also�placed�on�a�le�v�٠el�of�its�o�wn.�Ne�٠xt�select�three�of�them,�and���calculate���the���closure.�What�do�you�observ�٠e?�Also,�select�all�four�of�them�and�calculate�the�closure.�This�time�you�get���a���subgroup���of�inde�٠x�16,�hence�its�le�� v�٠el�is�mark��ged�by�this�nite�inde�٠x�rather�than�a�Hirsch�number�(which�w��gould�be�4���here).�� Note�that�the�nite�inde�٠x�is�used�rather�than�the�Hirsch�length�for�this�placement.���Finally��Y�,�t�check,�t�whether�the�centralizers�are�normal�in�the�whole�space�group�by�clicking�on�the�v�٠ertices�with�the�right���mouse�{�b���utton�and�choosing��IsNormal��in�the�\Information"�windo�� w��Y�,�{�which�springs�up.�No�w�form�the�closures�of��� �� ��� ��LSection�� 6.�A�P��37artial�Subgr���oup�Lattice�of�a�Space�Gr�oup� �_$�23���p ���� �each�|�of�|�them�with�each�of�the�size�8�point�stabilizers.�Y���gou�will�get�some�other�subgroups�of�Hirsch�length�1.�Both�the�� �centralizers�� and�the�point�stabilizers�are�abelian.�Is�this�also�true�for�the�closures?��N8�This��is�no�� w�the��end�of�our�partial�in���v�٠estig��7ation�of�the�(partial)�subgroup�lattice�of��LG�,�close�the�graphic�sheet�by���selecting�� �close�?�graphic�sheet��from�the��Sheet��menu.��� �� $4��� ��p �����������M5���� �� ��s�NSubgr��G�oup�<Lattices��, �� �F�-��]Systematic����
�RDescription����;���In�� this�chapter�we�gi�� v�٠e�details�about�the�v�arious�options�and�menus�a���v�ailable�in�a�systematic�w��gay��Y�.��N8��P5.1�� GraphicSubgr��uoupLattice�� �����3�S3{�
ptmr7t�S1���̟��^�3�u�7 msam7�I���GraphicSubgroupLattice(�?��Lg��)��N8�GraphicSubgroupLattice�z��creates�a�z�ne�� w�graphic�sheet�for�the�Hasse�diagram�of�the�subgroup�lattice�of��Lg�.�The�ne�٠xt�� �sections�� describe�ho�� w�to�select�and�mo�٠v�e�� v�ertices�and�the�follo�� wing�sections�describe�the�a���v�ailable�menus.����9��gap>�?�GraphicSubgroupLattice(�DihedralGroup(8)�);����9�<graphic�?�subgroup�lattice�"GraphicSubgroupLattice">���ȍ����3�S2���̟��^�I���GraphicSubgroupLattice(�?��Lg�,��Lwidth�,��Lheight�n�)��N8��In�zvthis�form��GraphicSubgroupLattice��creates�a�graphic�sheet�of�initial�dimensions��Lwidth��times��Lheight�.�.�Ho�� we�v�٠er�zvit���is�� still�possible�to�change��these�dimensions�later�using�either�the�menu�(described�in�5.8)�or�the�operation��Resize��for���graphic�� sheets�(see�6.1.14).��N8�This�64function�is�63the�same�for�all�types�of�groups.�It�only�beha���v�٠es�dierently�according�to�some�properties�of�the�group.���F�٠or���e�xample�nitely�presented�groups�are�treated�dierently�because�other�algorithms�apply�in�this�case�and�some�of���the�� standard�ones�are�not�feasible�to�be�carried�out.���In�pJcontrast�pKto�the��QGAP�3�v�٠ersion�of��QXGAP�p
�all�graphic�subgroup�lattices�are�interacti�� v�٠e�so�you�can�al��gw�ays�pJremo�٠v�e���v�٠ertices.�� F�or�a�nite�group�you�can�still�get�the�full�lattice�by�choosing��All�?�Subgroups��for�the�whole�group.��N8��P5.2�� GraphicSubgr��uoupLattice�!F,��&Pr�otocol�of�Gr�oup�Theoretic�Constructions��N8��QXGAP�&��oers�&�the�&�possibility�to�write�a�protocol�of�the�group�theoretic�constructions�you�perform�via�mouse�clicks.���This���is�con���v�٠enient�because�otherwise�you�ha���v�e�no�record�of�what�you�did.�The�normal��QGAP��q�command�script�cannot���supply�� this�because�the�menu�entries�you�select�do�not�produce�useful�output�there.���Y���gou�\astart�\bthe�protocol�f��gacility�by�selecting��Start�?�logging��from�the��Subgroups��menu.�Y���gou�are�prompted�for�the�le���name���of�the�protocol���with�a�le�selector�box.�After�selecting��OK�ع�in�this�box,�all�subsequent�actions�are�logged�in�the���protocol�� le.�Y���gou�can�switch�this�feature�o�by�selecting��Stop�?�logging��from�the��Subgroups��menu.���Note�mthat�when�you�select�n�SelectedGroups�?�to�GAP�+�from�mthe��Subgroups��menu,�the�usual��QGAP�+�logging�is�also���directed�to�the��QXGAP���log�le.�This�is�stopped�when�you�select��InsertVertices�?�from�GAP���from�the��Subgroups����menu.�h�The�h�idea�of�this�is�that�you�also�see�the��QGAP�h��commands�you�issue�within�an��QXGAP�h��session�in�the��QXGAP����protocol�}[le,�if�you�}\temporarily�w��gork�with�the�k�e�٠yboard�instead�}\of�the�mouse.�See�5.9.21�and�5.9.22�for�a�description���of�� the�menu�entries.��� �� &t��� ��LSection�� 4.�Gr�٠aphicSubgr���oupLattice��g,�Mo�ving�V����ertices� �&��25���p ���� ��P5.3�� GraphicSubgr��uoupLattice�!F,��&Labelling�of�Le��vels��N8��W��37e�\�intend�to�represent�\�subgroups�of�the�same�inde�٠x�at�the�same�height�of�the�graphic�lattice.�F�٠or�this�purpose�we�� �introduce�� \le�� v�٠els"�as�horizontal�slices�of�a�graphic�subgroup�lattice.��N8�All�(v�٠ertices�for�subgroups�of�a�certain�nite�inde�x�are�'placed�in�e�xactly�one�common�le�� v�el.�But�what�about�innite���indices?���Ev�٠ery��}le�� v�el�has��~a�\le�� v�el�parameter".�There��~are�three�types�of�le�� v�els:��~\nite�inde�x",�\nite�size",��~and�\innity".�\nite���inde�٠x"�dmeans,�that�cthe�inde�x�of�the�csubgroups�in�this�le�� v�el�cis�a�certain,�nite�natural�number���,�the�le�� v�٠el�parameter�is���e�٠xactly�q+this�number��s8.�\nite�size"�means,�q,that�the�size�of�the�subgroups�in�this�le�� v�el�is�nite�q,�Hand��the�inde�x�is�either�not���kno�� wn�}�(to��QGAP�)�or��infinity�.�}�The�le�v�٠el�parameter�is�the�}�size�b���ut�with�a�ne�g��7ati�� v�e�}�sign.�If�the�inde�x�}�is��infinity��and���the�� size�is�not�kno�� wn,�the�third�type�applies:�\innity".�In�each�\innity"�le�v�٠el�only�one�v�erte�x�can�e�xist.���This�+pmeans�+qthat�\nite�inde�٠x"�tak��ges�precedence�o�٠v�er�+p\nite�size"�and�\innity",�and�\nite�size"�tak��ges�precedence���o�٠v�er�� \innity"�if��QXGAP��is�in�doubt�which�le�� v�٠el�to�choose�for�a�ne�w�v�٠erte�x.���If�:4the�:3group�in�question�is�a�space�group�pro�٠vided�by�the�CR��Y�YST�:"package,�le�� v�٠els�of�type�\innity"�are�also�labelled�by���the���Hirsch�length�of�the�subgroup,�which�is�the�number���of�innite�c�٠yclic�f��gactors�in�an�y�gi�� v�en�subnormal�series.�Note���that�8�this�8�is�only�implemented�for�space�groups�as�of�this�writing,�although�the�Hirsch�length�is�dened�for�a�wider���range�� of�groups.���F�٠or�� e�� v�ery�graphic�subgroup�lattice�the�le�� v�els�are�partially�ordered�by�the�follo�� wing�rules:��N8���
{�� A�� \nite�inde�٠x"�le�� v�el�is�greater�than�an�\innity"�le�� v�el.�����
{�� An�� \innity"�is�greater�than�a�\nite�size"�le�� v�٠el.�����
{�� The�� \nite�inde�٠x"�le�� v�els�are�totally�ordered�by�descending�indices.�����
{�� The�� \nite�size"�le�� v�٠els�are�totally�ordered�by�ascending�sizes.�����
{�� F�٠or�� space�groups�the�\innity"�le�� v�els�are�partially�ordered�by�the�Hirsch�lengths�of�the�subgroups.���p�Note�� that�in�general�dierent�\innity"�le�� v�٠els�are�not�comparable�in�this�partial�order!���On�R�the�R�screen,�the�le�� v�٠els�are�of�course�al��gw�ays�totally�R�ordered�with�respect�to�their�height.��QXGAP�RT�ensures�that�this���total��3ordering��4is�al��gw�ays��3compatible�with�the�abo�٠v�ementioned�partial��3ordering.�This�means,�that�the�user�can�permute���\innity"�{le�� v�٠els,�{as�long�as�this�does�not�violate�the�partial�order�by�the�Hirsch�lengths�and�the�principle,�that�a�v�٠erte�x���\containing"�� another�one�is�dra�٠wn�higher�on�the�screen.���Note��lthat�the�le�� v�٠el��ma�v�erte�x�belongs�to�will�be��mchanged,�when�ne�� w�information�about�the�subgroup�is�a���v�� ailable.�This���happens�� if�the�user�chooses�an�٠y�entry�in�the�information�menu�and�ne�� w�information�is�a���v�ailable�thereafter��s8.��N8��P5.4�� GraphicSubgr��uoupLattice�!F,��&Mo�ving�V��Y�er�B�tices��N8��In���order�to�mo�٠v�e���a���v�erte�x,�place�the�pointer�inside�the���v�erte�x�using�the�mouse,�and�press�the����Hleft��mouse�b���utton.�Hold���the�umouse�b���utton�pressed,�and�u start�mo�٠ving�the�pointer�by�mo�ving�the�mouse.�The�v�erte�x�u will�no�� w�follo�w�the�pointer���,���b���ut��vit��wis�not�possible�to�mo�٠v�e�the��vv�erte�x�out��vof�the�boundaries�of�its�le�� v�٠el.�or�lo�� wer�than�a�v�٠erte�x��vof�a�group�of�smaller���size.���As�soon�as�you�release���the�left�mouse�b���utton�the�v�٠erte�x���will�stop�follo�� wing�the�pointer�and,�if�the�v�٠erte�x���w��gas�a���member�� of�a�conjug��7ac�٠y�class,�the�remaining�elements�of�the�class�are�mo�v�ed.���If��kyou�hold�do�� wn�the��LSHIFT��e�k��ge�٠y�before�mo�ving�a�v�erte�x�as�described��labo�v�e�then�only�the�selected�v�erte�x�is�mo�v�ed���b���ut�%�not�%�all�members�of�the�same�class.�Y���gou�can�realign�the�v�٠ertices�of�a�class�by�selecting�one�of�them�and�choose����Rearrange�?�Classes�� �in�the��Poset��menu�(see�5.8.14).��� �� 2㍟� ��26� �J��LChapter�� 5.�Subgr���oup�Lattices�-�Systematic�Description���p ���� ��P5.5�� GraphicSubgr��uoupLattice�!F,��&Selecting�V��Y�er�B�tices��N8��Selected��jv�٠ertices��kare�represented�by�a�slightly�thick��ger�circle�and,�if�your�screen�supports�color���,�are�colored�red.�There�� �are�� �� v�٠e�dierent�w��gays�to�select�or�deselect�a�v�erte�x�or�a�b���unch�of�v�ertices.��N8�Place��the�pointer��inside�a�v�٠erte�x��and�press�the��Hleft��mouse�b���utton.�Release�the�b���utton�immediately�without�mo�٠ving�the���mouse.��This��will�deselect�all�other�v�٠ertices�and�select�this�v�٠erte�x.��If�the�v�٠erte�x�w��gas��already�the�only�selected�v�٠erte�x��it���is�� deselected.���Place��^the�pointer�inside�a�v�٠erte�x,��^hold�do�� wn�the��LSHIFT�{'�k��ge�٠y��Y�,�and�press�the��Hleft��mouse�b���utton.�Release�the�b�utton���immediately�+without�mo�٠ving�,the�mouse,�release�the��LSHIFT���k��ge�٠y�afterw�ards.�,If�the�v�٠erte�x�+w�as�,deselected�this�action���will�� select�it�in�addition�to�an�٠y�other�selected�v�ertices.�If�the�v�erte�x�w��gas�already�selected�it�will�be�deselected.���Place�*the�*�pointer�outside�an�٠y�v�erte�x�*and�press�the��Hleft��mouse�b���utton.�K�� eep�the�b���utton�pressed�and�start�mo�٠ving�the���pointer��s8.��nThis��owill�create�a�rubber�band�rectangle.�One�corner�at�the�position�where�you�pressed�the�mouse�b���utton,�the���opposite��jcorner�follo�� wing��ithe�pointer��s8.�As�soon�as�you�release�the�left�mouse�b���utton,�all�v�٠ertices�inside�the�rectangle���are�� selected,�all�v�٠ertices�outside�the�rectangle�are�deselected.���Place�{the�{pointer�outside�an�٠y�v�erte�x,�{hold�do�� wn�the��LSHIFT�?��k��ge�٠y�and�press�the��Hleft��mouse�b���utton.�Ag��7ain�you�see�a���rubber��band,��ho�� we�v�٠er���,�no�w�as��soon�as�you�release�the�mouse�b���utton,�all�v�٠ertices�inside�the�rectangle�are�selected�in���addition�� to�an�٠y�other�selected�v�ertices.���T��37o���select���v�٠ertices�from�the��QGAP��O�command�windo�� w�call�the�function��SelectGroups��with�a�subgroup�or�a�list�of���subgroups�� to�select.��N8��P5.6�� GraphicSubgr��uoupLattice�!F,��&Inser�B�ting�V��Y�er�tices��N8��T��37o�� insert�ne�� w�v�٠ertices�into�a�graphic�sheet�one�has�to�use�the�follo�wing�operation:�� �����3�S1���̟��^�I���InsertVertex(�?��Lsheet�.�,��Lgrp�,��Lconj�,��Lhint�n�)�����������36�I���InsertVertex(�?��Lsheet�.�,��Lgrp��)��N8��Inserts�.�the�.�group��Lgrp��as�a�ne�� w�v�٠erte�x�.�into�the�sheet.�If�the�lattice�is��Hnot��the�subgroup�lattice�of�a�nitely�presented���group,�a�it�checks,�if�the�group�is�already�in�the�lattice�a�or�if�there�is�already�a�conjug��7ate�subgroup.�Further���,�the�ne�� w���v�٠erte�x��is��sorted�into�the�poset.�So��InsertVertex��checks�for�all�v�٠ertices�on�higher�le�� v�٠els,�whether�the�ne�� w�v�٠erte�x��is���contained,�{Land�{Mfor�all�v�٠ertices�on�lo�� wer�le�v�٠els,�whether�{Mthe�y�are�{Mcontained�in�the�ne�� w�v�٠erte�x.�It�{Lthen�tries�to�add�edges���to��`the�appropriate��av�٠ertices.�If�the�lattice�is�the�lattice�of�a�nitely�presented�group,�nothing�is�done�with�respect�to�the���connections���of���an�٠y�v�erte�x.��InsertVertex����returns�a�list�with�the�ne�� w�v�٠erte�x�as���rst�entry�and�a�
ag�as�second,�which���says,�� whether�this�v�٠erte�x�� w��gas�inserted�right�no�� w�or�has�already�been�there.����Lhint����is�ǃa�ǂlist�of��Lx��*�coordinates�which�should�gi�� v�٠e�some�hint�for�the�choice�of�the�ne�� w��Lx��*�coordinate.�It�can�for�e�٠xample���be��=the��<�Lx����coordinates�of�those�groups�which�were�parameter�for�the�operation�which�calculated�the�group.��Lhints��can�be���empty�� b���ut�must�al��gw�ays�� be�a�list!���If�� �Lconj��is�a�v�٠erte�x�� we�put�the�ne�� w�v�٠erte�x�� into�the�class�of�this�v�٠erte�x.�� Otherwise��Lconj��should�either�be��false��or��fail�.���Y���gou�+�ha���v�٠e�access�to�the�simpler�form�of�the�abo�v�e�functions�via�the��Subgroups��menu�and�the�mouse.�If�you�select����InsertVertices�?�from�GAP�J�in��the���Subgroups��menu,�the�function��InsertVertex��is�called�for�the�group�in�the���(automatic)���v�� ariable����last�,�or���,�if��last��contains�a�list�of�subgroups,�for�all�of�those�subgroups.�This�is�an�easy�w��gay�to���insert��Nresults��Mof�calculations�with��QGAP��A�into�the�lattice.�If��last��is�neither�a�subgroup�nor�a�list�of�subgroups,�nothing���happens.��� �� D���� ��LSection�� 8.�Gr�٠aphicSubgr���oupLattice��g,�P��37oset�Menu� J�27���p ���� ��P5.7�� GraphicSubgr��uoupLattice�!F,��&Sheet�Men�u��N8��The�=@�Sheet��menu�=?will�be�pulled�do�� wn�if�you�place�the�pointer�inside�the��Sheet��b���utton�and�press�the�left�mouse�b���utton.�� �K�� eep�#the�b���utton�"do�wn�and�choose�an�entry�"by�mo�٠ving�the�pointer�on�top�of�this�entry��Y�.�Release�the�mouse�b���utton�to���select�� an�entry��Y�.�� �����3�S1���̟��^�I���save�?�as�postscript��N8��Selecting�2this�3entry�pops�up�a�le�selector��s8.�If�you�enter�a�le�name�and�click�on��LOK� ���,�this�will�sa���v�٠e�a�description�of���the��&graphic��'sheet�and�graphic�objects�on�the�sheet�as�encapsulated�postscript�output.�This�output�should�be�imported���easily�� into�other�documents.�������3�S2���̟��^�I���close�?�graphic�sheet��N8��This���entry���will�close�the�current�graphic�sheet�and�the�windo�� w�containing�the�sheet�and�all�\Information"�menus���related�}_to�this�sheet.�On�some�windo�� w�system�or�using�some�windo�w�manager�the�windo�w�itself�has�also�a�close���b���utton�� or�menu�entry��Y�.�Ho�� we�v�٠er���,�� using�the�windo�� w�close�method�will�not�close�associated�\Information"�menus.��N8��P5.8�� GraphicSubgr��uoupLattice�!F,��&P��z�oset�Men�u��N8��The�=@�Poset��menu�=?will�be�pulled�do�� wn�if�you�place�the�pointer�inside�the��Poset��b���utton�and�press�the�left�mouse�b���utton.���K�� eep�#the�b���utton�"do�wn�and�choose�an�entry�"by�mo�٠ving�the�pointer�on�top�of�this�entry��Y�.�Release�the�mouse�b���utton�to���select�� an�entry��Y�.��N8�This��0menu��/is�a�generic�menu�for�an�٠y�graphic�poset�and�is�not�specic�to�subgroup�lattices.�So�you�nd�here�options���for�� the�handling�of�general�posets.�������3�S1���̟��^�I���Redraw��N8��The�� whole�lattice�will�be�redra�٠wn.�Use�this�option�if�some�manipulation�has�disturbed�the�windo�� w��Y�.�������3�S2���̟��^�I���Show�?�Levels����If���this���menu�entry�is�acti�� v�ated���(after�clicking�it�will�ha���v�٠e�a�small�check�sign�at�its�right,�clicking�ag��7ain�deacti�� v�ates���it),�� �there���will�be���a�little�blue�box�under�each�le�� v�٠el�at�the�left�edge�of�the�graphic�sheet.�Y���gou�can�use�these�little�box�٠es�to���change��the�height�of�a��le�� v�٠el�by�mo�ving�it�up�or�do�� wn�lik��ge��a�v�erte�x.�In�cases�where�the�order�of��the�le�� v�els�is�not�gi�� v�en���by�F>some�\e�٠xternal�source"�lik��ge�the�inde�x�of�the�subgroups�F=you�can�mo�v�e�le�� v�els�by�mo�ving�the�corresponding�blue�box���with�� pressed��LSHIFT�E�b���utton.�������3�S3���̟��^�I���Show�?�Levelparameters��N8��This�pRmenu�pSentry�controls�the�display�of�the�le�� v�٠el�parameters�at�the�right�edge�of�the�graphic�sheet.�Normally�these�are���displayed�� b���ut�you�can�switch�it�o�with�this�menu�entry��Y�.�������3�S4���̟��^�I���Delete�?�Vertices��N8��Selecting���the�entry�will�delete�all�selected�v�٠ertices.�All�edges���from�or�to�one�of�these�are�also�deleted.�Ho�� we�v�er���,���inclusion���information���is�preserv�٠ed.�This�means�that�ne�� w�edges�are�created�from�all�v�٠ertices�which�were�maximal�in���the��deleted�one�to�all�v�٠ertices��in�which�the�deleted�v�erte�x�w��gas�maximal.�So�you�get��the�Hasse�diagram�of�the�poset���which�� is�the�restriction�of�the�former�one�to�the�not�selected�v�٠ertices.�������3�S5���̟��^�I���Delete�?�Edge��N8��This�� menu�entry�is�normally�not�selectable�because�it�w��gould�destro�y�the�Hasse�diagram.�������3�S6���̟��^�I���Merge�?�Classes����This��menu�entry�mer���ges��all�classes�within�each�le�� v�٠el�that�contain�a�selected�v�٠erte�x.��Afterw��gards��RearrangeClasses�� ��(see��Ebelo�� w)�is�performed.�Use��Merge�?�Classes��to�unite�classes�within��Fa�le�v�٠el,�b���ut�use�it�with�care:�No�further�test�is��� �� V:��� ��28� �J��LChapter�� 5.�Subgr���oup�Lattices�-�Systematic�Description���p ���� ��performed!��#If�you�unite�classes�of�subgroups�that�are��"not�conjug��7ate,�other�errors�may�follo�� w��Y�,�because�conjug�ac�٠y�tests�� �are�� later�on�only�performed�by�looking�at�the�rst�subgroup�in�a�gi�� v�٠en�class!�� �����3�S7���̟��^�I���Magnify�?�Lattice��N8��Selecting�)the�*entry�will�multiply�the�dimensions�of�the�graphic�sheet�by�the�square�root�of��2��and�enlar���ge�the�lattice���accordingly��Y�.�������3�S8���̟��^�I���Shrink�?�Lattice��N8��Selecting���the���entry�will�di�� vide�the�dimensions�of�the�graphic�sheet�by�the�square�root�of��2��and�shrink�the�lattice���accordingly��Y�.�������3�S9���̟��^�I���Resize�?�Lattice��N8��Selecting�/�this�entry�will�pop�up�a�dialog�box�asking�for�an�x�and�y�f��gactor�separated�by�a�comma.�Y���gou�can�enter�inte�٠gers���or�~Cquotients.�If�~Byou�enter�only�one�number�this�is�used�for�x�and�y��Y�.�The�graphic�sheet�is�then�enlar���ged�or�shrink��ged�and���the�� lattice�is�resized�accordingly��Y�.�������3�S10���̟��^�I���Resize�?�Sheet��N8��This�|entry�}is�similar�to��Resize�?�Lattice��e�٠xcept�that�only�the�graphic�sheet�is�changed,�the�lattice�remains�unchanged.���The�� numbers�you�enter�must�be�inte�٠gers�and�mean�pix�el�numbers.�������3�S11���̟��^�I���Change�?�Labels��N8��Selecting�#this�"entry�will�pop�up�a�dialog�box�for�each�selected�v�٠erte�x�#asking�for�a�ne�� w�label.�Clicking�on��LCANCEL����will�� cancel�the�relabelling�of�the�remaining�v�٠ertices�b���ut�will�not�reset�the�already�changed�labels.�������3�S12���̟��^�I���Average�?�Y�Positions��N8��Selecting���this�entry���will�a���v�٠erage�the�y�coordinates�of�all�v�٠ertices�belonging�to�the�same�le�� v�٠el.�F�or���graphic�subgroup���lattices�� this�means�all�subgroups�with�the�same�inde�٠x�in�the�whole�group.�������3�S13���̟��^�I���Average�?�X�Positions��N8��Selecting��3this��4entry�will�a���v�٠erage�the�x�coordinates�of�tw��go�or�more�selected�v�٠ertices.�This�will�only�w��gork�if�the�corre-���sponding�� subgroups�do�not�ha���v�٠e�the�same�size�and�is�used�to�align�certain�v�ertices�v�ertically��Y�.�������3�S14���̟��^�I���Rearrange�?�Classes��N8��Selecting��mthis��nentry�will�clean�up�all�classes�which�contain�a�selected�v�٠erte�x.��mY���gou�need�this�option�if�you�ha���v�٠e�mo�v�ed���a�#�v�٠erte�x�#�without�its�class�(holding�do�� wn�the��LSHIFT���k��ge�٠y).�The�v�٠ertices�in�a�class�are�arranged�one�ne�٠xt�to�the�other���horizontally�CWwithout�CXchanging�the�order�of�the�x�coordinates.�So�you�can�permute�the�v�٠ertices�within�a�class�carelessly���and�� then�ag��7ain�get�a�nice�picture�with�the�ne�� w�order�by�selecting�this�menu�entry��Y�.�������3�S15���̟��^�I���Use�?�Black&White��N8��Switches�� to�black�and�white�in�case�of�a�color�screen�or�back�to�colors.��N8��P5.9�� GraphicSubgr��uoupLattice�!F,��&Subgr�oups�Men�u��N8��The���Subgroups��menu��will�be�pulled�do�� wn�if�you�place�the�pointer�inside�the��Subgroups��b���utton�and�press�the�left���mouse�u�b���utton.�K�� eep�the�b�utton�do�� wn�u�and�choose�an�entry�by�mo�٠ving�the�pointer�on�top�of�this�entry��Y�.�Release�the���mouse�� b���utton�to�select�an�entry��Y�.��N8�Note�that�you�can�also�get�the��Subgroups��menu�as�a�popup�menu�by�clicking�with�the�right�mouse�b���utton�into�the���graphic�� sheet�of�the�subgroup�lattice,�b���ut��Hnot��on�a�v�٠erte�x.���The���result�of���a�computation�from�an�٠y�of�the�follo�� wing�entries�is�colored�green,�if�your�screen�supports�color��s8.�There���will�� also�be�a�short�information�message�in�the��QGAP��windo�� w�about�the�result.��� �� e���� ��LSection�� 9.�Gr�٠aphicSubgr���oupLattice��g,�Subgr�oups�Menu� �)Q�29���p ���� �In�� the�follo�� wing�descriptions�we�use�\v�٠ertices"�as�abbre�viation�for�\subgroups�associated�with�v�٠ertices".��N8�The�� follo�� wing�descriptions�do�not�apply�to�the�case�of�nitely�presented�groups.�See�5.12�for�this�case.�� �����3�S1���̟��^�I���All�?�Subgroups��N8��F�٠or��each�selected�v�erte�x���All�?�Subgroups��computes�and�displays�all�its�subgroups.�Requires�at�least�one�selected�� �v�٠erte�x.�� Use�with�care!�This�can�cause�huge�computations!�See�also�39.20.1�in�the��QGAP��reference�manual.�������3�S2���̟��^�I���Centralizers����F�٠or� �each� �selected�v�erte�x� ��Centralizers��computes�and�displays�its�centralizer�with�respect�to�the�whole�group.�Re-�� �quires�� at�least�one�selected�v�٠erte�x.�� See�also�\ref:centralizer"�in�the��QGAP��reference�manual.�������3�S3���̟��^�I���Centres����F�٠or�:Zeach�:[selected�v�erte�x��Centres��computes�:[and�displays�its�centre.�Requires�at�least�one�selected�v�٠erte�x.�See�:Zalso�� �35.4.5�� in�the��QGAP��reference�manual.�������3�S4���̟��^�I���Closure����computes�7and�displays�the�common�7closure�of�the�selected�v�٠ertices.�Requires�at�least�one�selected�v�٠erte�x.�7See�also�� �39.4.1�� in�the��QGAP��reference�manual.�������3�S5���̟��^�I���Closures����computes��&and��%displays�the�closure�of�each�pair�of�selected�v�٠ertices.�Requires�at�least�tw��go�selected�v�٠ertices.�See�also�� �39.4.1�� in�the��QGAP��reference�manual.�������3�S6���̟��^�I���Commutator�?�Subgroups����computes�Đand�displays�the�commutator�ďsubgroup�of�each�pair�of�selected�v�٠ertices.�Requires�at�least�tw��go�selected�� �v�٠ertices.�� See�also�39.12.2�in�the��QGAP��reference�manual.�������3�S7���̟��^�I���Conjugate�?�Subgroups����computes�Xdand�displays�Xcthe�conjug��7ac�٠y�class�(with�respect�to�the�whole�group)�of�each�selected�v�٠erte�x.�XdRequires�at�least�� �one�� selected�v�٠erte�x.�� See�also�39.10.1�in�the��QGAP��reference�manual.�������3�S8���̟��^�I���Cores����F�٠or���each���selected�v�erte�x��Cores����computes�and�displays�its�core�with�respect�to�the�whole�group.�Requires�at�least�one�� �selected�� v�٠erte�x.�See�also�39.11.2�in�the��QGAP��reference�manual.�������3�S9���̟��^�I���Derived�?�Series����F�٠or�2each�2selected�v�erte�x��Derived�?�Series�2�computes�and�displays�its�deri�� v�٠ed�series.�Requires�at�least�one�selected�� �v�٠erte�x.�� See�also�39.17.7�in�the��QGAP��reference�manual.�������3�S10���̟��^�I���Derived�?�Subgroups����F�٠or��Eeach��Dselected�v�erte�x��Derived�?�Subgroups��D�computes�and�displays�its�deri�� v�٠ed�subgroup.�Requires�at�least�one�� �selected�� v�٠erte�x.�See�also�39.12.3�in�the��QGAP��reference�manual.�������3�S11���̟��^�I���Fitting�?�Subgroups����F�٠or��|each��}selected�v�erte�x��Fitting�?�Subgroups��computes��}and�displays�its�Fitting�subgroup.�Requires�at�least�one�� �selected�� v�٠erte�x.�See�also�39.12.5�in�the��QGAP��reference�manual.�������3�S12���̟��^�I���Intermediate�?�Subgroups����computes�%�and�displays�%�all�intermediate�subgroups�between�tw��go�selected�groups.�Requires�e�٠xactly�tw��go�selected�v�٠er���-�� �tices.�� See�also�39.17.18�in�the��QGAP��reference�manual.��� �� t4��� ��30� �J��LChapter�� 5.�Subgr���oup�Lattices�-�Systematic�Description���p ���� �����3�S13���̟��^�I���Intersection��Ƈ��computes�O�and�displays�the�common�intersection�of�the�selected�O�v�٠ertices.�Requires�at�least�one�selected�v�erte�x.�See�� �also�� 30.5.2�in�the��QGAP��reference�manual.���썍���3�S14���̟��^�I���Intersections��ƈ��F�٠or��geach�pair��hof�selected�v�ertices��Intersections��computes�and��hdisplays�the�intersection�of�the�tw��go�v�٠ertices.�Requires���at�� least�tw��go�selected�v�٠ertices.�See�also�30.5.2�in�the��QGAP��reference�manual.�������3�S15���̟��^�I���Normalizers��Ƈ��F�٠or���each���selected�v�erte�x��Normalizers��computes���and�displays�its�normalizer�with�respect�to�the�whole�group.�Requires���at�� least�one�selected�v�٠erte�x.�� See�also�39.11�in�the��QGAP��reference�manual.�������3�S16���̟��^�I���Normal�?�Closures��ƈ��F�٠or�Ooeach�selected�Opv�erte�x��Normal�?�Closure��computes�and�Opdisplays�its�normal�closure�with�respect�to�the�whole�group.���Requires�� at�least�one�selected�v�٠erte�x.�� See�also�39.11.4�in�the��QGAP��reference�manual.�������3�S17���̟��^�I���Normal�?�Subgroups��Ƈ��F�٠or��each�selected�v�erte�x��Normal�?�Subgroups��computes�and�displays��the�normal�subgroups�of�the�subgroup�associated���with��;this��<v�٠erte�x.�These�ne�� w�subgroups��<are�not�necessarily�normal�in�the�whole�group.�Requires�at�least�one�selected���v�٠erte�x.�� See�also�39.19.8�in�the��QGAP��reference�manual.�������3�S18���̟��^�I���Sylow�?�Subgroups��ƈ��pops�w�up�a�w�dialog�box�asking�for�a�prime.�After�entering�a�prime��Lp��and�pressing��Lr��Geturn��or�clicking��LOK�T�it�computes�and���displays��a��Sylo�� w��Lp�-subgroup�for�each�selected�v�٠erte�x.�Requires��at�least�one�selected�v�٠erte�x.�See��also�39.13.1�in�the����QGAP�� �reference�manual.�������3�S19���̟��^�I���SelectedGroups�?�to�GAP��Ƈ��If���the�user�selects�this�menu���entry��Y�,�the�subgroups�belonging�to�the�selected�v�٠ertices�are�put�into�a�list�which�is�stored���into�% the�v�� ariable�%�last�.�This�is�equi�v�alent�to�%the�statement��SelectedGroups(sheet);;��if��sheet��contains�the�graphic���sheet�� object.�If��QXGAP��logging�is�on,�then�the�normal��QGAP��logging�via��LogTo��is�also�directed�to�the��QXGAP��log�le.�������3�S20���̟��^�I���InsertVertices�?�from�GAP��Ƈ��If��xthe�user�selects��ythis�menu�entry��Y�,�the�v�� alue�of�the�v�� ariable��last��is�used�to�insert�ne�w�v�٠ertices��yinto�the�graphic�sheet.���If����last����is�equal�to�one�subgroup,�it�is�inserted�via��InsertVertex�.�If��last��is�a�list�of�subgroups,��InsertVertex��is���called�for�all�those�subgroups.�There�is�no�error�issued�if�one�of�the�entries�of��last��is�no�subgroup.�If��QXGAP���logging�is���on,�3$then�3%the�normal��QGAP�3�logging�via��LogTo��is�switched�o!�The�idea�of�this�is�to�switch�the�logging�temporarily�from����QXGAP����logging��to��normal��QGAP��logging�between��tw��go�clicks�to��SelectedGroups�?�to�GAP����and���InsertVertices���from�?�GAP�� �respecti�� v�٠ely��Y�.���퍍���3�S21���̟��^�I���Start�?�Logging����After�*nclicking�*oon�this�menu�entry�the�user�is�prompted�for�a�lename.�From�this�point�on�all�commands�issued�via���mouse���clicks�in���the�subgroup�menu�are�logged�into�that�le,�such�that�one�can�afterw��gards�see�\what�happened"�in�the����QXGAP�� �session.�The�information�displayed�is�the�same�as�in�the�info�displays�in�the��QGAP��windo�� w��Y�.���썍���3�S22���̟��^�I���Stop�?�Logging����A�� click�onto�this�menu�entry�stops�the��QXGAP��logging.��Ej�These���menu�entries�represent�only�a���small�selection�of�the�functions�of��QGAP����which�the�authors�of��QXGAP����considered���most��Gfrequently�used.�Y���gou�can�calculate��Hother�subgroups�lik��ge�for�e�٠xample�prefrattini�subgroups�from�the��QGAP��4�com-���mand�z�windo�� w��Y�.�z�See�sections�4.1�and�4.2�for�e�٠xamples�ho�� w�to�transfer�information�from�the�graphical�lattice�of��QXGAP����to�� �QGAP��(via��SelectedGroups�,�see�5.5)�and�vice�v�٠ersa�(via��SelectGroups�,�see�5.5,�and��InsertVertex�,�see�5.6).��� �� �n��� ��LSection�� 10.�Gr�٠aphicSubgr���oupLattice��g,�Information�Menu� �3�31���p ���� ��P5.10�� GraphicSubgr��uoupLattice�!F,��&Inf�ormation�Men�u��N8��Note�� that�this�section�does�not�deal�with�the�case�of�a�nitely�presented�group.�See�5.13�for�this�case.��N8�Placing��the�pointer��inside�a�v�٠erte�x��(selected�or�not)�and�pressing�the��Hright��mouse�b���utton�pops�up�the�\Information"�� �menu.�hClicking�on�an�٠y�of�gthe�te�xt�lines�will�compute�the�corresponding�property�of�gthe�subgroup��Lu��associated�with���this�� v�٠erte�x.�Clicking�on��all��will�compute�all�properties,�clicking�on��close��will�close�the�\Information"�menu.�� �����3�S1���̟��^�I���Size��N8��computes�� and�displays�the�size�of��Lu�.�See�also�30.4.6�in�the��QGAP��reference�manual.�������3�S2���̟��^�I���Index����computes�� and�displays�the�inde�٠x�of��Lu��in�the�whole�group.�See�also�39.3.3�in�the��QGAP��reference�manual.�������3�S3���̟��^�I���IsAbelian��N8�����3�S4���̟��^�I���IsCyclic�������3�S5���̟��^�I���IsNilpotent�������3�S6���̟��^�I���IsPerfect�������3�S7���̟��^�I���IsSimple�������3�S8���̟��^�I���IsSolvable����computes���and���displays�the�corresponding�property�of��Lu�.�See�also�35.4.9,�39.15.1,�39.15.3,�39.15.5,�39.15.10,�and�� �39.15.6�� in�the��QGAP��reference�manual.�� �����3�S9���̟��^�I���IsCentral�������3�S10���̟��^�I���IsNormal����computes�t�and�displays�the�t�corresponding�property�of��Lu��with�respect�to�the�whole�group.�See�also�35.4.8�and�39.3.6�in�� �the�� �QGAP��reference�manual.�� �����3�S11���̟��^�I���Isomorphism����computes�a�and�displays�a�the�isomorphism�type�of��Lu�.�This�will�only�w��gork�if�the�size�of��Lu��is�small.�See�50.7.5�in�the��QGAP����reference�� manual�for�details.��N8�Note��that�the��e�٠xact�result�of�all�these�information�displays�is�stored�in�the�global�v�� ariable��LastResultOfInfoDisplay����after�v�each�v�operation.�So�you�can�access�this�easily�from�the��QGAP�v��command�prompt.�It�is�also�returned�as��last��v�� alue.��� �� �卟� ��32� �J��LChapter�� 5.�Subgr���oup�Lattices�-�Systematic�Description���p ���� ��P5.11�� V��Y�er�B�te��x��&Shapes��N8��The�� follo�� wing�v�٠erte�x�� shapes�can�appear�in�an�interacti�v�٠e�lattice:�� �����3�S1���̟��^�I���circle��N8��Subgroup�� is�not�normal�in�whole�group.�������3�S2���̟��^�I���diamond����Subgroup�� is�normal�in�whole�group.�������3�S3���̟��^�I���rectangle����Subgroup�Lhas�L an�inde�٠x�that�is�too�big�for�automatic�calculation�of�normality��Y�.�So�it�is�not�yet�kno�� wn�whether�this�group�� �is�� normal.��N8�Automatic�� calculation�is�controlled�by�the�follo�� wing�v�ariable:�������3�S4���̟��^�I���GGLLimitForIsNormalCalc�T��V���Only���for�subgroups���with�inde�٠x�smaller�than�this�number�an�automatic��IsNormal��test�is�performed�when�the�v�٠erte�x���is�� �added�� to�the�sheet.��N8��P5.12�� GraphicSubgr��uoupLattice��&f�or�FpGr�oups,�Subgr�oups�Men�u��N8��The���Subgroups��menu��will�be�pulled�do�� wn�if�you�place�the�pointer�inside�the��Subgroups��b���utton�and�press�the�left���mouse�u�b���utton.�K�� eep�the�b�utton�do�� wn�u�and�choose�an�entry�by�mo�٠ving�the�pointer�on�top�of�this�entry��Y�.�Release�the���mouse�� b���utton�to�select�an�entry��Y�.��N8�Note�that�you�can�also�get�the��Subgroups��menu�as�a�popup�menu�by�clicking�with�the�right�mouse�b���utton�into�the���graphic�� sheet�of�the�subgroup�lattice,�b���ut��Hnot��on�a�v�٠erte�x.���The��Dresult�of��Ca�computation�from�an�٠y�of�the�follo�� wing�entries�is�colored�green,�if�your�screen�supports�color��s8.�In�most���cases�� there�will�also�be�short�information�message�in�the��QGAP��windo�� w�about�the�result.���Note���that���some�of�the�menu�entries�mak��ge�it�necessary�to�compute�presentations�of�subgroups�using�a�modied�T��37odd-���Cox�٠eter�� algorithm.�This�can�be�v�ery�time�consuming�and�in�some�cases�e�� v�en�impossible,�if�the�inde�x�is�too�high.���In�� the�follo�� wing�descriptions,�we�use�\v�٠ertices"�as�abbre�viation�for�\subgroups�associated�with�v�٠ertices".�� �����3�S1���̟��^�I���Abelian�?�Prime�Quotient��N8��pops�%�up�a�dialog�box�asking�%�for�a�prime��Lp�.�It�then�computes�and�displays�the�lar���gest�elementary�abelian��Lp��quotient���of�the�selected�v�٠erte�x.�If�no�presentation�for�the�subgroup�associated�to�the�v�٠erte�x�is�kno�� wn�a�presentation�is�rst���computed���using���a�modied�T��37odd-Cox�٠eter�algorithm.�It�then�calls��PrimeQuotient��to�compute�the�lar���gest�elementary���abelian�� quotient.��Abelian�?�PrimeQuotient��requires�e�٠xactly�one�selected�v�erte�x.�������3�S2���̟��^�I���All�?�Overgroups��N8��computes�i�and�i�displays�all�o�٠v�er���groups�of�i�the�selected�v�٠erte�x.�i�It�rst�computes�the�permutation�action�of�the�whole���group�Cnon�Cothe�cosets�of�the�subgroup�associated�with�the�selected�v�٠erte�x�Cnand�then�searches�for�all�block�systems.�If���the��csubgroup�of�the�selected�v�٠erte�x��cis�normal,�then�e�� v�٠erything��dis�calculated�within�the�(nite)�f��gactor�group�in�a�better���representation.�� �All�?�Overgroups��requires�e�٠xactly�one�selected�v�erte�x.�������3�S3���̟��^�I���Closure��N8��computes�7and�displays�the�common�7closure�of�the�selected�v�٠ertices.�Requires�at�least�one�selected�v�٠erte�x.�7See�also���39.4.1�� in�the��QGAP��reference�manual.��� �� ! ���� ��LSection�� 12.�Gr�٠aphicSubgr���oupLattice�for�FpGr�oups,�Subgr�oups�Menu� ��Z�33���p ���� �����3�S4���̟��^�I���Compare�?�Subgroups������A�kLnon-empty�kQset�of�v�٠ertices�must�be�selected�to�choose�this�menu�entry��Y�.�All�subgroups�belonging�to�these�v�ertices�are�� �compared��Tpairwise,�and�the��Sinclusion�information�is�displayed�in�the�lattice.�It�may�happen�that�tw��go�or�more�v�٠ertices���are�� mer���ged�if��QGAP��notices,�that�the�subgroups�are�equal.���K�����3�S5���̟��^�I���Conjugacy�?�Class����computes�Wand�Xdisplays�the�conjug��7ac�٠y�class�of�the�selected�v�٠erte�x.�W�Conjugacy�?�Class��requires�e�٠xactly�one�selected���v�٠erte�x.���J�����3�S6���̟��^�I���Cores������computes�� and�displays�the�cores�of�the�selected�v�٠ertices.��Cores��requires�at�least�one�selected�v�erte�x.�������3�S7���̟��^�I���Derived�?�Subgroups����computes�&Qand�displays�the�deri�� v�٠ed�&Psubgroups�of�the�selected�v�ertices.�If�applied�to�a�&Pproper�subgroup�of�the�whole�� �group��dit��ewill�only�display�those�deri�� v�٠ed�subgroups�whose�inde�٠x�is�nite.��Derived�?�Subgroups��requires�at�least�one���selected�� v�٠erte�x.���K�����3�S8���̟��^�I���Epimorphisms�?�(GQuotients)����pops�� up�another�menu.�Requires�e�٠xactly�one�selected�v�erte�x.���J��9��Sym(n)����9�Alt(n)����9�PSL(d,q)����9�Library����9�User�?�Defined��r���Click�3�on�an�٠y�of�3�these�entries�to�try�to�nd�a�quotient�isomorphic�to�the�symmetric�group�(�Sym(n)�),�the�alternating���group���(�Alt(n)�),�the���projecti�� v�٠e�special�linear�group�(�PSL(d,q)�),�a�group�in�a�library�supplied�with��QXGAP��3�(this���will�hpop�up�a�gle�selector),�or�a�user�dened�group�stored�in�the�v�� ariable��IMAGE�� �E� ff &f��ǫGROUP�.�After�supplying�additional���parameters,�\�for�\�e�٠xample,�the�de�٠gree�of�the�symmetric�group�or�the�dimension�and�eld�of��LPSL�di�using�dialog�box�٠es,�the���corresponding�� entry�will�change,�for�e�٠xample�to�something�lik��ge����9��Sym(3)�)��3�?�found��r���After�� one�or�more�quotients�were�found�click��Ldisplay��to�display�them.���o�Note���that�in����QXGAP�4�in�f��gact�the�k��gernel�of�the�epimorphism�is�mark��ged�whereas�in��QXGAP�3�this�w��gas�not�the�case,�e�� v�٠en���though�� the��QXGAP�3�manual�stated�this.���In�� f��gact�in��QXGAP�3�a�stabilizer�of�a�permutation�action�on�an�orbit�w�as�put�into�the�lattice.���In�X�case�X�that�the�image�of�the�epimorphism�is�a�permutation�group�you�can�get�this�functionality�by�clicking�on��Ldisplay���point�� stabilizer����instead�of��Ldisplay�.���J�����3�S9���̟��^�I���Intermediate�?�Subgroups������computes�%�and�displays�%�all�intermediate�subgroups�between�tw��go�selected�groups.�Requires�e�٠xactly�tw��go�selected�v�٠er���-���tices.�� See�also�39.17.18�in�the��QGAP��reference�manual.�������3�S10���̟��^�I���Intersection������computes�O�and�displays�the�common�intersection�of�the�selected�O�v�٠ertices.�Requires�at�least�one�selected�v�erte�x.�See���also�� 30.5.2�in�the��QGAP��reference�manual.���K�����3�S11���̟��^�I���Intersections����computes�"�and�"�displays�the�pairwise�intersections�of�the�selected�v�٠ertices.��Intersections��requires�at�least�tw��go�se-���lected�� v�٠ertices.��� �� "