Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 91213ddcfbe7f54821d42c2d9e091326 > files > 1089

gap-system-packages-4.4.12-5mdv2010.0.i586.rpm

<html><head><title>[format] 2 Formations in GAP</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href = "chapters.htm">Up</a>] [<a href ="C001S000.htm">Previous</a>] [<a href ="C003S000.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>2 Formations in GAP</h1><p>
<p>
A <strong>formation</strong> is a class of groups closed under taking epimorphic
images and subdirect products. Closure under subdirect products is equivalent to the property that each finite group <var>G</var>  has a unique 
smallest normal subgroup <var>G<sup><font face="helvetica,arial">F</font></sup></var> with factor group <var>G / G<sup><font face="helvetica,arial">F</font></sup></var> in&nbsp;<var><font face="helvetica,arial">F</font></var>. 
The subgroup <var>G<sup><font face="helvetica,arial">F</font></sup></var> is called the <strong><var><font face="helvetica,arial">F</font></var>-residual</strong> subgroup of <var>G</var>. Thus, 
for example, the derived subgroup of <var>G</var> is its residual for the formation 
of abelian groups, and the residual for the formation of nilpotent groups 
is the last term of the descending central series. 
<p>
In FORMAT a formation is described by a function that computes <var>G^<font face="helvetica,arial">F</font></var> 
for each (finite solvable) group <var>G</var>, and from that perspective <var><font face="helvetica,arial">F</font></var> 
consists of the groups <var>G</var> for which <var>G^<font face="helvetica,arial">F</font></var> is trivial. To define a 
formation that is not one of the standard examples provided (see below), 
one must give <font face="Gill Sans,Helvetica,Arial">GAP</font> an identifier for the formation and also some method 
for computing residual subgroups. 
<p>
Some of the most interesting formations can also be described by 
``local definition.''  For each prime <var>p</var> 
let <var><font face="helvetica,arial">F</font>(p)</var> be a formation or the empty class, and let <var><font face="helvetica,arial">F</font></var> be the class 
of all finite solvable groups <var>G</var> such that for each prime <var>p</var> and each <var>p</var>-chief factor <var>H/K</var> of <var>G</var> the group of automorphisms that <var>G</var> 
induces on <var>H/K</var> by conjugation belongs to <var><font face="helvetica,arial">F</font>(p)</var>. Then <var><font face="helvetica,arial">F</font></var> is a 
formation,  with  <strong>local definition</strong> <var>{ <font face="helvetica,arial">F</font>(p) midp </var> is prime <var> }</var>. 
The set <var>{ p  midp</var> is prime and <var><font face="helvetica,arial">F</font>(p) neqemptyset}</var> is called the 
<strong>support</strong> of&nbsp;<var><font face="helvetica,arial">F</font></var>. A <var>p</var>-chief factor is <strong><var><font face="helvetica,arial">F</font></var>-central</strong> in case <var>G</var>
induces an <var><font face="helvetica,arial">F</font>(p)</var>-group on it or, equivalently, in case <var>G<sup><font face="helvetica,arial">F</font>(p)</sup></var>
centralizes it. It is possible to define a formation in FORMAT by
giving such a local definition. Indeed one can define a kind of
generalized formation by giving what is called a normal subgroup function 
or <strong>screen</strong>, which specifies arbitrary normal subgroups, not necessarily 
of form <var>G<sup><font face="helvetica,arial">F</font>(p)</sup></var>, to test ``centrality.'' Section&nbsp;<a href="C007S000.htm">Other Applications</a> describes one such usage of general screens. Most applications of formation 
theory to solvable groups require local definition, as do the <font face="Gill Sans,Helvetica,Arial">GAP</font> 
functions for computing <var><font face="helvetica,arial">F</font></var>-normalizers and <var><font face="helvetica,arial">F</font></var>-covering subgroups. 
<p>
<a name = ""></a>
<li><code>Formation( </code><var>rec</var><code> ) O</code>
<a name = ""></a>
<li><code>Formation( </code><var>str</var><code> [, </code><var>primes</var><code> ] ) O</code>
<p>
The definition of a formation in FORMAT begins with the creation of a
record <var>rec</var>, which must contain a <var>name</var> component and at least one of
the components <var>fResidual</var> or <var>fScreen</var>. The component <var>name</var> is a string, 
<var>fResidual</var> is a function that computes a normal subgroup of each group,
and <var>fScreen</var> is a function of two variables, a group and a prime, that
returns a normal subgroup of the input group.
<p>
In the second form the function <code>Formation</code> can be used to obtain a
formation from the supplied library of formations. The formations
provided are:
<p>
<p>
<dl compact>
<dt><code>Formation( "Nilpotent" )</code> <dd> The formation of nilpotent groups,  
<p>
<dt><code>Formation( "Supersolvable" )</code> <dd> The formation of supersolvable groups,
<p>
<dt><code>Formation( "Abelian" )</code> <dd> The formation of abelian groups,
<p>
<dt><code>Formation( "ElementaryAbelianProduct" )</code> <dd> The formation of direct products of elementary abelian groups,
<p>
<dt><code>Formation( "PNilpotent", prime )</code> <dd> The formation of <var>p</var>-nilpotent groups 
for <var>p =</var> <code>prime</code>,
<p>
<dt><code>Formation( "PiGroups", primes )</code> <dd> The formation of <var>pi</var>-groups for 
<var>pi=</var> the set <code>primes</code>,
<p>
<dt><code>Formation( "PLengthOne", prime )</code> <dd> The formation of groups of <var>p</var>-length 1 
for <var>p =</var> <code>prime</code>.
</dl>
<p>
<a name = ""></a>
<li><code>IsFormation( </code><var>F</var><code> ) C</code>
<a name = ""></a>
<li><code>NameOfFormation( </code><var>F</var><code> ) A</code>
<a name = ""></a>
<li><code>ResidualFunctionOfFormation( </code><var>F</var><code> ) A</code>
<p>
<code>IsFormation</code> returns <code>true</code> if and only if <var>F</var> is a GAP formation. 
<code>NameOfFormation</code> returns the name of a formation and <code>ResidualFunctionOfFormation</code>
returns the  residual function of a formation. 
<p>
<a name = ""></a>
<li><code>ScreenOfFormation( </code><var>F</var><code> ) A</code>
<p>
If <var>F</var> is locally defined by some screen <code>{</code><var><font face="helvetica,arial">F</font></var><code>(p) | p</code> is prime <code>}</code>, 
then <code>HasScreenOfFormation( </code><var>F</var><code> )</code> is <code>true</code>, <code>ScreenOfFormation( </code><var>F</var><code> )</code> is a function of two variables, <var>group</var> and <var>prime</var>, and 
the command <code>ScreenOfFormation( </code><var>F</var><code> )(  </code><var>G</var><code>, </code><var>p</var><code> )</code> returns <var>G<sup>F(p)</sup></var> if <var>p</var> is
in the support of <var>F</var> and  gives the empty list otherwise. 
<p>
<a name = ""></a>
<li><code>SupportOfFormation( </code><var>F</var><code> ) A</code>
<p>
The attribute <code>SupportOfFormation</code> is optional. It may be bound by
<code>SetSupportOfFormation</code>. If <code>SupportOfFormation</code> is not bound, then the support
of the formation is taken to be the set of all primes. In case the support of
<var>F</var> is a finite set of primes, then <code>SupportOfFormation( </code><var>F</var><code> )</code> is a list of
those primes, and <code>HasSupportOfFormation( </code><var>F</var><code> )</code> returns true. In case the
support of <var>F</var> is an infinite set but not the set of all primes, then the user
will need to make sure, perhaps with <code>ChangedSupport</code> or
<code>SetSupportOfFormation</code>, that all primes dividing the orders of relevant groups
are considered.
<p>
<a name = ""></a>
<li><code>ChangedSupport( </code><var>F</var><code>, </code><var>primes</var><code> ) O</code>
<p>
This function may be used to change the support of a formation. Let <var>F</var>
be a formation and <var>primes</var> a list of primes. Then <code>ChangedSupport</code>
returns a formation with a new name whose support is the intersection 
of the support of <var>F</var> and <var>primes</var>.
<p>
<a name = ""></a>
<li><code>IsIntegrated( </code><var>F</var><code> ) P</code>
<p>
The local definition  is called <strong>integrated</strong> in case <var><font face="helvetica,arial">F</font>(p) subseteq
<font face="helvetica,arial">F</font></var>  for each  prime&nbsp;<var>p</var>. The property <code>IsIntegrated</code> is also optional.
It makes sense only if <code>HasScreenOfFormation( </code><var>F</var><code> )</code> is <code>true</code>. Notice that
some of the functions described below will require that <code>HasScreenOfFormation(
</code><var>F</var><code> )</code>, <code>HasIsIntegrated( </code><var>F</var><code> )</code> and <code>IsIntegrated( </code><var>F</var><code> )</code> are <code>true</code>. If
unbound, this property can be bound with <code>SetIsIntegrated</code>, but it is up to the
user to determine whether such a setting is appropriate.
Section <a href="C006S000.htm">Formation Examples</a> contains an example of such usage.
<p>
<a name = ""></a>
<li><code>Integrated( </code><var>F</var><code> ) O</code>
<p>
A local definition of a formation may always be replaced by an
integrated one without changing the formation itself, though the meaning
of <var><font face="helvetica,arial">F</font></var>-central may change.  Let <var>F</var> be a locally defined formation with
name <code></code><var>name</var><code></code>.  If <var>F</var> is already integrated, then <code>Integrated( </code><var>F</var><code> )</code> 
yields <var>F</var> itself. Otherwise, it yields a  formation <code></code><var>name</var><code>Int</code> that is
abstractly the same as <var>F</var> but has integrated local definition.
<p>
<a name = ""></a>
<li><code></code><var>F1</var><code> = </code><var>F2</var><code></code>
<a name = ""></a>
<li><code></code><var>F1</var><code> &lt; </code><var>F2</var><code></code>
<p>
Two formations <var>F1</var> and <var>F2</var> are considered to be equal in case they 
have the same name. The natural ordering on strings gives an ordering 
on formations. This ordering is useful for organizing key-dependent 
lists but has no mathematical significance.
<p>
<a name = ""></a>
<li><code>Intersection( </code><var>F1</var><code>, </code><var>F2</var><code> ) O</code>
<p>
The intersection <var>F := F1 capF2</var> of two formations <var>F1</var> and 
<var>F2</var> is again a formation. <code>Intersection</code> produces the new formation
<code>(</code><var>name1</var><code>And</code><var>name2</var><code>)</code>, which has attribute <code>ResidualFunctionOfFormation</code> if
either <var>F1</var> or <var>F2</var> does, has <code>FScreen</code> whenever both formations have it, and is
integrated if both are. 
<p>
<a name = ""></a>
<li><code>ProductOfFormations( </code><var>F1</var><code>, </code><var>F2</var><code> ) O</code>
<p>
The product of two formations <var>F1</var> and <var>F2</var> is the formation <var>F</var>
such that a finite group <var>G</var> is a member of <var>F</var> if and only if
<var>G<sup>F2</sup></var> is in <var>F1</var>. (Notice that the product of <var>F1</var> by <var>F2</var> is 
not necessarily equal to the product of <var>F2</var> by <var>F1</var>, and unless <var>F1</var> is normal subgroup-closed the product need not contain all extensions of a group in <var>F1</var> by a group in <var>F2</var>.) The function 
<code>ProductOfFormations( </code><var>F1</var><code>, </code><var>F2</var><code> )</code> yields the product <code>(</code><var>name1</var><code>By</code><var>name2</var><code>)</code> of the two  
formations. The product has the attribute <code>ResidualFunctionOfFormation</code> and has
the attribute  <code>ScreenOfFormation</code> whenever both <var>F1</var> and <var>F2</var> have this entry
or whenever both <code>HasScreenOfFormation( </code><var>F2</var><code> )</code> and <code>not HasSupportOfFormation(
</code><var>F1</var><code> )</code> are <code>true</code>. In these cases the property <code>IsIntegrated</code> will be inherited
if possible. 
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="C001S000.htm">Previous</a>] [<a href ="C003S000.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<address>format manual<br>February 2003
</address></body></html>