-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance FreeGroup
to support the option generatorNames
to prescribe the names of the generators
#4111
Merged
Merged
Enhance FreeGroup
to support the option generatorNames
to prescribe the names of the generators
#4111
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -162,7 +162,7 @@ gap> Size( f ); | |||||||||||
]]></Example> | ||||||||||||
<P/> | ||||||||||||
The factor group is again represented as a permutation group | ||||||||||||
(its first three generators are trivial, meaning that the first three | ||||||||||||
(its last three generators are trivial, meaning that the last three | ||||||||||||
generators of the preimage are in the kernel of <C>hom</C>). However, | ||||||||||||
the action domain of this factor group has nothing to do with the | ||||||||||||
action domain of <C>norm</C>. (It only happens that both are subsets of the | ||||||||||||
|
@@ -197,8 +197,9 @@ gap> x * rep^-1 in ker; | |||||||||||
true | ||||||||||||
]]></Example> | ||||||||||||
<P/> | ||||||||||||
The factor group <C>f</C> is a simple group, i.e., it has no non-trivial | ||||||||||||
normal subgroups. &GAP; can detect this fact, and it can then also find | ||||||||||||
The factor group <C>f</C> is a simple group, i.e., it is a non-trivial | ||||||||||||
group whose only normal subgroups are its trivial subgroup and itself. | ||||||||||||
&GAP; can detect this fact, and it can then also find | ||||||||||||
the name by which this simple group is known among group theorists. (Such | ||||||||||||
names are of course not available for non-simple groups.) | ||||||||||||
<P/> | ||||||||||||
|
@@ -316,7 +317,7 @@ group), but it also denotes the natural action of permutations on | |||||||||||
positive integers (and exponentiation of integers as well, of course). | ||||||||||||
It is in fact the default action and will be supplied by the system if not | ||||||||||||
given. Another common action is for example | ||||||||||||
always assumes <Ref Func="OnRight" BookName="ref"/>, which means right | ||||||||||||
<Ref Func="OnRight" BookName="ref"/>, which means right | ||||||||||||
multiplication, defined as <M>d</M><C> * </C><M>g</M>. | ||||||||||||
(Group actions in &GAP; are always from the right.) | ||||||||||||
<P/> | ||||||||||||
|
@@ -340,7 +341,8 @@ for example would the default domain of <C>Group( (2,3,4) )</C> be | |||||||||||
To avoid confusion, all action functions require that you | ||||||||||||
specify the domain of action. | ||||||||||||
If we had specified <C>[ 1 .. 113 ]</C> in the | ||||||||||||
primitivity test above, point 113 would have been a fixpoint (and the | ||||||||||||
primitivity test above, point 113 would have been a fixed point | ||||||||||||
(and the | ||||||||||||
action would not even have been transitive). | ||||||||||||
Comment on lines
+344
to
346
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Optional
Suggested change
|
||||||||||||
<P/> | ||||||||||||
Now <C>blocks</C> is a list of blocks (i.e., a list of lists), which we do not | ||||||||||||
|
@@ -362,7 +364,7 @@ true | |||||||||||
Note that we give a third argument (the action function | ||||||||||||
<Ref Func="OnSets" BookName="ref"/>) to | ||||||||||||
indicate that the action is not the default action on points but an | ||||||||||||
action on sets of elements given as sorted lists. | ||||||||||||
action on sets of elements given as strictly sorted lists. | ||||||||||||
(Section <Ref Sect="Basic Actions" BookName="ref"/> lists all | ||||||||||||
actions that are pre-defined by &GAP;.) | ||||||||||||
<P/> | ||||||||||||
|
@@ -553,7 +555,7 @@ a subgroup. | |||||||||||
<Section Label="Subgroups!as Stabilizers"> | ||||||||||||
<Heading>Subgroups as Stabilizers</Heading> | ||||||||||||
|
||||||||||||
Action functions can also be used without constructing external sets. | ||||||||||||
Action functions can also be used to construct subgroups. | ||||||||||||
We will try to find several subgroups in <C>a8</C> as stabilizers of such | ||||||||||||
actions. One subgroup is immediately available, namely the stabilizer | ||||||||||||
of one point. The index of the stabilizer must of course be equal to the | ||||||||||||
|
@@ -831,6 +833,7 @@ stabilizer using the centralizer algorithm for permutation groups. In the | |||||||||||
usual way we now look for the subgroups above <C>u105</C>. | ||||||||||||
<P/> | ||||||||||||
<Example><![CDATA[ | ||||||||||||
gap> orb:=Set(orb);; | ||||||||||||
gap> blocks := Blocks( a8, orb );; Length( blocks ); | ||||||||||||
15 | ||||||||||||
gap> Set(blocks[1]); | ||||||||||||
|
@@ -847,9 +850,9 @@ the points of the orbit and the cosets of <C>u105</C>. The point | |||||||||||
To get the subgroup above <C>u105</C> that has index 15 in <C>a8</C>, | ||||||||||||
we must form the closure of <C>u105</C> with an element of the coset that | ||||||||||||
corresponds to any other point in the first block. | ||||||||||||
If we choose the point <C>(1,3)(2,4)(5,8)(6,7)</C>, | ||||||||||||
If we choose the point <C>(1,3)(2,4)(5,7)(6,8)</C>, | ||||||||||||
we must use an element of <C>a8</C> that maps <C>(1,2)(3,4)(5,6)(7,8)</C> to | ||||||||||||
<C>(1,3)(2,4)(5,8)(6,7)</C>. | ||||||||||||
<C>(1,3)(2,4)(5,7)(6,8)</C>. | ||||||||||||
The function <Ref Func="RepresentativeAction" BookName="ref"/> does | ||||||||||||
what we need. | ||||||||||||
It takes a group and two points and returns an element of the group | ||||||||||||
|
@@ -862,18 +865,18 @@ lie in one orbit under the group, | |||||||||||
<P/> | ||||||||||||
<Example><![CDATA[ | ||||||||||||
gap> rep := RepresentativeAction( a8, (1,2)(3,4)(5,6)(7,8), | ||||||||||||
> (1,3)(2,4)(5,8)(6,7) ); | ||||||||||||
(1,5,7,2,8,4,3) | ||||||||||||
> (1,3)(2,4)(5,7)(6,8) ); | ||||||||||||
(2,3)(6,7) | ||||||||||||
gap> u15 := ClosureGroup( u105, rep );; Index( a8, u15 ); | ||||||||||||
15 | ||||||||||||
]]></Example> | ||||||||||||
<P/> | ||||||||||||
<C>u15</C> is of course a maximal subgroup, because <C>a8</C> has no subgroups of | ||||||||||||
index 3 or 5. There is in fact another class of subgroups of index 15 | ||||||||||||
above <C>u105</C> that we get by adding <C>(2,3)(6,7)</C> to <C>u105</C>. | ||||||||||||
above <C>u105</C> that we get by adding <C>(2,3)(6,8)</C> to <C>u105</C>. | ||||||||||||
<P/> | ||||||||||||
<Example><![CDATA[ | ||||||||||||
gap> u15b := ClosureGroup( u105, (2,3)(6,7) );; Index( a8, u15b ); | ||||||||||||
gap> u15b := ClosureGroup( u105, (2,3)(6,8) );; Index( a8, u15b ); | ||||||||||||
15 | ||||||||||||
gap> RepresentativeAction( a8, u15, u15b ); | ||||||||||||
fail | ||||||||||||
|
@@ -1094,7 +1097,8 @@ the mapping was surjective). | |||||||||||
<Section Label="Nice Monomorphisms"> | ||||||||||||
<Heading>Nice Monomorphisms</Heading> | ||||||||||||
|
||||||||||||
For some types of groups, the best method to calculate in an isomorphic | ||||||||||||
For some types of groups, the best method for calculations in it is to use | ||||||||||||
instead an isomorphic | ||||||||||||
group in a <Q>better</Q> representation (say, a permutation group). | ||||||||||||
We call an injective homomorphism, | ||||||||||||
that will give such an isomorphic image a <Q>nice monomorphism</Q>. | ||||||||||||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Optional (but IMHO makes the XML more readable)