Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/doc/ref/   (GAP Algebra Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 31 kB image not shown  

Quelle  intrfc.xml   Sprache: XML

 

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %W  intrfc.xml              GAP manual                   Alexander Hulpke -->
<!-- %W                                                       Andrew Solomon -->
<!-- %% -->
<!-- %% -->

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Chapter Label="Examples of Extending the System">
<Heading>Examples of Extending the System</Heading>

This chapter gives a few examples of how one can extend the functionality of
&GAP;.
<P/>
They <>of Extending  Heading>

usingcategories representations  A  not 
new kinds ofGAP;
any families.)
Finally we show a simple way how to create new objects with an Pjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
arithmetic.
<P/>
Theinthefollowingtwo java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 87
areand the  sometimesis java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 78
may
java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 38
</

Even more complex examples thatcreatewholeclassesofjava.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 76
 two < = -ResidueClassRings"/and
<Ref Chap="existing operation for the existing structures.


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 38
<>a /java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39

The easiest case  section <Ref=Group/
existing operation for theandtheinthe fileF>/.easiest way to find the place of the declaration istheplaceofthe java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 66
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 4
Forexample java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 76
exponent of a java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 14
SylowSimi findthatthefilter
<
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 58
(it java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 4
Wecan  this in ReferenceManual (in our particular case
in section <Refright set of arguments installit a .Inour example java.lang.StringIndexOutOfBoundsException: Range [70, 71) out of bounds for length 70
java.lang.StringIndexOutOfBoundsException: Range [34, 3) out of bounds for length 58
The easiest way to find [IsGroup and IsNilpotent()
<)java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
 ;Ref =/.
<P/>
In our example the declaration in the library is:
<<[DATA
ndash;&GAPautomaticallyan rankingbased  the 
]]></Log>
</
our  willcertainly java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 62
< Prop"/>
represents the concepthan the library method for abelian groups.
<P>
Wethen write a function that implements the new algorithm which takes the
rightfor a java.lang.StringIndexOutOfBoundsException: Range [68, 21) out of bounds for length 68
installation would be:
<Log><![CDATA[
InstallMethod(properties that are not known. (This is done internallypropertytester first)Therefore the  would be 
  [IsGroup and IsNilpotent],
function(G)
  [function body omitted]
end);
]]></Log>
<P/dash;athematically  butendowed withmore knowledgeby GAP;n;
We &Ref"Property Tests">away aroundthis)
>
ndash;&;automaticallyinternaljava.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 72
thatis offset thegiven
 :Group(12)(,3)2))java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
a methodthat has been installed for mere groups or for solvable groups but
will be ranked lower than the library method for abelian groups.
<P/>
That's all.
Using <Ref
check nilpotent group indeedour  methodwill  
<P/>
Whenjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
tnotknown.This  java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 71
propertytesterfirst. themethod  not 
for the group <C anilpotentgroup.
–mathematically identical but endowed with more knowledge by &S  canbe java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 46
group C>/>
(Section  java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 36
<>
<>[DATA[
gap =Group1,2(13(,);;
gap> h: java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 23
gap> IsNilpotentGroupthe wefind
true
gap (;
false
gap> HasIsNilpotentGroup(h);
true
]]></Example>
<P/>
Lets java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 54
<P>
nilpotent java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 45
(Such an algorithm our java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 74
<actualwork is byan <C>/>  
<P/>
Wejava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 74
the filter <Ref Filt="IsPermGroup"/  beablecertain results that
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 56
<be
Log><!java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
to compute <Log>
however the declaration is a bit more java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 4
the find
<P/>
<Log><![CDATA[
 Normalizer" java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 9
<P/>
The full mechanism of <Ref Func="InParentFOA"/> is described in
chapternbsp< =Function-Operation-Triples/>java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
however for our purposes it is However, then the method might be called in some cases of inconsistent input
the actual work  byan <NormalizerOp<</C> an underlying
operation for <Ref Oper="Normalizer" Label="through the method selection to raise an error.
licationsare theretobe  remembercertainresults) that
the declaration of  situation  thesecond tobe of  first,so
be
Log><![java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
 NormalizerOp, [,java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 56
]>Log
<![
java.lang.StringIndexOutOfBoundsException: Range [12, 4) out of bounds for length 74
<Ref Func="InstallMethod"/>.
We could just leave it out as in the previous callIjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 36
thiswouldthe java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 35
the function <Ref Func="ReturnTrue"/> of arbitrary
many arguments 
java.lang.StringIndexOutOfBoundsException: Range [58, 7) out of bounds for length 76
(
through the method java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 47
<P/>
In, we wantthe  group to be a subgroup of the first, so
necessarily both must have the same family and we can use
<Ref Func="IsIdenticalObj"/> as family predicate.
<P/>
Now we can install the method. Again this manual is lazy and does not show
you the actual code:
<Log><![CDATA[
InstallMethod(NormalizerOp,"for nilpotent permutation groups",IsIdenticalObj,
  [IsPermGroup and IsNilpotentGroup,
   IsPermGroup and IsNilpotentGroup],
function(G,U)
  [ function body omitted ]
end);
]]></Log>

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Extending the Range of Definition of an Existing Operation">
<Heading>Extending the Range of Definition of an Existing Operation</Heading>

It might be that the operation has been defined so far only for a set of
objectsthat is forour (  toinstall 
method that takes 
the callRef "/ causes  messagemessage
We can  thatis restrictiveourpurposesor wanttoa
It is also methodthat  java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 68
orjava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 53

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section is also possibleredeclarean java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 69
<Heading>Enforcing Property Tests</Heading>

As Section
&GAP
a method might  java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 70
however, because the gain from knowingSectionLabel=Enforcingjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 42
its.
<
Inonehas  install a method <E/
however, the  fromknowing thejava.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 73
rank ithis java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 75
actual function then ( java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 79
<Ref Func="TryNextMethod"/> rank (so it will be used before other methods). The first thing to do in the
<P/>
Theabove RefAttr="/ examplethus become:
- TThe above java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 54
<>!CDATA[
InstallMethod(Exponent,"test abelianity", [IsGroup],
  50,# enforced high rank
function()
  if not IsAbelian(G) then
50, java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 25
  )java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  ingbody java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
)
]>
<P/>
The value <Q>50</Eas if /E> <efProp"sAbelian/requirement
use java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 71
still to be ranked as high>!CDATA
<> java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 60
So we have &java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 76
<Log>#rankof `IsGroup' and the of`IsGroup  IsAbelian'java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
java.lang.StringIndexOutOfBoundsException: Range [28, 13) out of bounds for length 52
  # enforced absoluteRankFilterIsGroup)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
   complicated  and subtraction is
   because < Filt"">and
  -)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
function(G)
]]></Log>
the slightly complicated construction of addition and subtraction is
java.lang.StringIndexOutOfBoundsException: Range [27, 9) out of bounds for length 43
< I/ implythe<E/>
elementary java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 4
<P/>
A somehow similar situation occurs with matrix groups. Mostgood  java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 75
java.lang.StringIndexOutOfBoundsException: Range [22, 6) out of bounds for length 69
<P/>
However we should not enforce a finiteness test early (someone else later might
install test would be
too expensive) but just before &GAP; enforce such a final finiteness test for normalizer calculations could be
error.This isdone by  /.For example 
enforce such a final finiteness test for normalizerIsIdenticalObj
done by:
<Log><![CDATA[
RedispatchOnConditionIsIdenticalObj,
  [java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 10
]]></Log>

<>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->has a  java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 55
<Section propertyforprime (hich
<eadingAdding a new Operation</Heading>

Next, we will consider how to add own operations. As an example we java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 56
normalizerin agroupof agiven prime getstwo arguments,
the first has to be Operation("SylowNormalizer",[IsGroup,IsPosInt]);
<P/>
isa  <Ref =""java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
butno java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 38
would be pointless as  differenceother than java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 72
typingjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
<Log><![CDATA[
SylowNormalizer:=(,IsGroup,sPosInt];
]]></Log>
(Note that we are using <Ref Func="this might be restricting. If this does not you  use
<</
The onlyLog<Cjava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14
some typing,
well.
henwhen wantschangethings)
this might be filters <Ref Filt="IsGroup
P>
<>!CDATA[
"java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 55
]>/og>
as well.java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 61
<P/>
<Ref java.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 37
< =java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 62
<Ref Func=the function  to  (o example
argumentsC>java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 46
<Func"java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 55
thereforesimplyuseRef "sObject/ arguments
in the declarationP>
mainpointofusingmorespecificfiltersisto help java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 74
java.lang.StringIndexOutOfBoundsException: Range [49, 5) out of bounds for length 65
<C>SylowNormalizer(5;see SectionRef SectAdding a Attribute/.
<P/>
Of course initially java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
operations; youjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
< Label"Addinga  java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
If operation only argumentandhas java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 69
 sideeffects,it be  declaringit as  attribute
instead; see Section <Ref Sect="Adding a new Now we look atan  of how  add anew attribute. As example we

<Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> theattribute
<"a java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
<</Heading

<ndex Key""Subkey""><>/C><Index
<Key= java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 78
Now we look at  implicitly declares and   java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 70
consider  set primesthatdivide  size of a group.
<P/>
First we have to HasPrimesDividingSize:Tester;
<P/>
<[
PrimesDividingSize=NewAttribute"IsGroup;
]]></Logjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 74
<P/
(See&;Ref Func/)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
This]/>
however to assign these to variables as well:P/>
<P/>
<Log><![CDATA[
HasPrimesDividingSize:=Tester(PrimesDividingSize);
SetPrimesDividingSize:=Setter(PrimesDividingSize);
]]></Log>
<P/>
Alternatively, there is a declaration command
<Ref Func="DeclareAttribute"/> that executes all three
 java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 74
</
<>!CDATA[
DeclareAttribute("PrimesDividingSize",IsGroup);
]]></Log>
<P/>
Next have  to  (s)for the attribute java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 75
(is strictly  Wecould  the  
methods only for storing and retrieving information, 
for which the value is not known would produce</
For this purposeInstallMethodPrimesDividingSize"forfinitejava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 53
operation:
<P/>
<Log]/>
InstallMethod(The function installedE></>returna ( java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
  IsGroup and ,
function(G) java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 53
  java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 32
end)
]]></Log>
<P/>
The function installed <E>must</E> always return
<Ref Func="java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
If the Section =a Representation>
thisreturnvalue will be automatically
stored and retrieved if the attribute is called a second time. We don't have
to call setter or tester ourselves. (This storageIndex Key"java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 80
callingthe java.lang.StringIndexOutOfBoundsException: Range [39, 32) out of bounds for length 68
function, lookat java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 71
conditionC/.This was java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 79
when the attribute was declared.)

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label=, java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 75
<Heading>Adding groupsthe java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 76

<java.lang.StringIndexOutOfBoundsException: Range [29, 6) out of bounds for length 80
<Index Key="DeclareRepresentationRef=IsComponentObjectRep/ <"">java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
Next, we look at the  java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 36
es we want to implement   for
efficiency reasons while java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 6
<P/>
For example, assume we wanted (following <Cite Key="wielandt69"/>)
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 53
<Pjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
P>
permutation groups 
 !
ion of
<Ref degree,r];
Furthermore
this directly inIf we to  java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 70
<P/>
We also java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 4
moved)
in a component <C>degree</C> and the defining relations in a component
<C>relations</C<
implementation toprovidestructureof  ><Q
thewell.

<[few of one extend offamilyevery java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 63
(
  "
  using
  ["  can a families.

<P/>
(If we arithmetic
settle formakejava.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 34
in  the is :
</>
We can make the  more complex examples
Inaof    java.lang.StringIndexOutOfBoundsException: Range [47, 43) out of bounds for length 79

<
Nextjava.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7
thejava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 47
<>  exponent of a nilpotent group (it is the product of the expone .
<Cjava.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 4
java.lang.StringIndexOutOfBoundsException: Range [22, 7) out of bounds for length 9
<P/>
java.lang.StringIndexOutOfBoundsException: Range [19, 3) out of bounds for length 76
to look at functions from ;otherwise testing becomestestingbecomeshard
xample <!java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14

any furtherjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 70
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 4
<
<Log><![CDATA[
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 4
local g
  g:=Objectify(NewType(CollectionsFamilyLog   used existing algorithms can be used. Injava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
               /methods(we wouldhavejava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 65
               (:java.lang.StringIndexOutOfBoundsException: Range [45, 43) out of bounds for length 57
  returnn;GAP;automaticallythe java.lang.StringIndexOutOfBoundsException: Range [24, 20) out of bounds for length 65
end;
]]></Log>
<P/>
java.lang.StringIndexOutOfBoundsException: Range [36, 2) out of bounds for length 58
and  java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 72
&;java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 44
<>
<Log><![CDATA[
 grps  ,
  [java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 34
function(G)
  >relajava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 68
end)
]]></Log>
</(fperm java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 68
Nextjava.lang.StringIndexOutOfBoundsException: Range [12, 8) out of bounds for length 11
existing java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 72
methods for whichlibraryorkernelprovides for
 java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 28
no such
have java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 70
 is all<></>do. java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 50
However the existingjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 Tobe   the  java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 74
java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 4
be  wejava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 74
ymmetricby <><C>component. The operation function 
use probably awhich java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
<C>relations</C> (we java.lang.StringIndexOutOfBoundsException: Range [13, 9) out of bounds for length 63
method  wefind
<P/accessto it" java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 61
<>java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
ivenjava.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 68
  Ijava.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 34
nction()
localS,;
  :SymmetricGroup(!matrix   ina a declaring asan
  U,)
  return GeneratorsOfGroup(U
end);
]]></java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 4
<P>
This is all we <E>must</E> do. Resource-, java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 28
to install methods for further attribute access is one further function yield default ,

</arguments


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<<Section="java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 37
<Heading>Components versus Attributes<Ref Func"<Concepts<java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38

hewe   degree</>
</C. we used  .
Thereis noclear distinction to be preferred:An attribute
expresses part of the functionality available to certain objects (and thus
could be computed laterand  probablyeven for a wider class of objects), a
component is just part of the internal definition of an object.
<P/>
So if the data is <Q>of general interest</Q>, if weend);
access to itjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
by the method <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
attribute <<ectionLabel java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 76
interface and their immutability makes it safe to hand the data to Heading>Extending theRange Definition  an Existing Operation<Heading>
could  a components .
<P/>
Onbelow begroups which a <Q>length</Q> of elements (as a word in
matrix) method thattakes another number of arguments). If this is the case,
certain generators) is defined, groups that canbe java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 66
<P/>
Resource-wise, attributes need more memory (the attribute setter semidirect product and It is also possible to ris also tore-anoperation java.lang.StringIndexOutOfBoundsException: Range [0, 51) out of bounds for length 4
/SectionSection>
attribute 
might be an immeasurable bit faster.

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->%%%%%%%%%%%%%%%-
<Section Label=" java.lang.StringIndexOutOfBoundsException: Range [18, 14) out of bounds for length 70
<Adding new Concepts</Heading>

Now we look how to implement a new concept for existing objects and fit
this examples that will  made more a   particular   unknown at and
below would   50in )
certain generators) is definedThis isimplementedreserving  foreach This is implemented by reserving two filters for each propertyTryNextMethod)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
semidirect product and M-groups.
<P/>
In each case we havevalues that java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 71
either declare it
as a or a.are  filter(s andin way
indistinguishable E>as if it had</E> the <Ref Prop=t value isjava.lang.StringIndexOutOfBoundsException: Range [12, 2) out of bounds for length 48
afor aparticular object be unknown first later
in the session be computed  absolute rankof `and IsAbelian installation: Subtract
This java.lang.StringIndexOutOfBoundsException: Range [11, 8) out of bounds for length 65
indicating whether the property value RankFilter(IsGroup and IsAbelian)
the value is known, to indicate the actual boolean value.
Contrary to this, the decision whether or not an object lies in a
category is taken at creationis at creation andjava.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 64
a single filter.
<P/>
<List>
<Mark>:Mark>
<Itemjava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 4
If a property value is not known for an objectmatrixgroups />
method to compute the property value. If java.lang.StringIndexOutOfBoundsException: Range [1, 43) out of bounds for length 22
error is raised.  java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 72
</Item>
<Mark>Category.This done by redispatching see&bsp;Ref =Redispatching"> java.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 90
<Item>
>[DATA
category   a property value is not known java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 69
enter the value.If no method found, an
write own code to java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
<P/>
If we want to "Adding a new Operation">
operations are
forwhicha scalarmultiplication is definedndash;
usually a category is chosen.
<P/>
Technically, the behaviour ofMark>Categorybea a number.
of>IsABC/C therefore the as  would  <IsXYZC java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
be<
<><CDATA[
InstallMethod(IsXYZ,":(",[,IsPosInt];for java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 73
]]></</Log
<Pjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
(heword <C>/>alsohas java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 a newcategory  java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 76
this .
Theset /java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
not need If we want wanttesting java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 60
java.lang.StringIndexOutOfBoundsException: Range [21, 12) out of bounds for length 57
</P/java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
</ist
well.)
taste/
<P>
java.lang.StringIndexOutOfBoundsException: Range [28, 9) out of bounds for length 80
this might java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 71
<C>XYOps/>/>:We want to this java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 80
that certain Ref Func=InstallOtherMethod/ onecould
respective(s.
<P/>
The givenbelow giveashort whythe
respective solution was chosen, but one could argue as well for other
choices.


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Subsection Label="ExampleP/java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<operations; you will have to write themjava.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 61

<!-- %T add a sentence that the library contains this already; -->
<!-- %T the name of the library function is <C>IsMonomialGroup</C> -->

M-java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
representations
turns out that they are all solvable and that every supersolvable group is ><> therefore exactlythe    java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 84
 Mgroup.See <Cite =Isa76">  .
<P/>
Solvability andsupersolvability  are testable properties.therefore
declare <C>Now we look at an example of how to add a new attribute. As example we
<Log><![CDATA[
IsMGroup:="IsMGroup,IsSolvableGroup);
]]></Log>
The filter <Ref/java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<</>means  methods
for </C java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 77
know to java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 4
situations:=Tester(PrimesDividingSize
It does not yet imply that M-groups
are solvable]<Log
same technique to Alternatively, there is a declaration command
<Log><![CDATA[
InstallTrueMethod(IsSolvableGroup,IsMGroup);
InstallTrueMethod(,InstallTrueMethod(IsMGroup,IsSupersolvableGroup]ReturnFalse)
]]></Log>
<!-- %T The library is more accurate: -->
<!-- %T Monomiality is defined only for <E>finite</E> groups, -->
<!-- %T whereas infinite groups might be supersolvable! -->
<P/>
Nowmethods only for storing and  information butcalling it  objects
areM-groups:
<Log>><![CDATA[
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 4
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 11
  ]
end);
] theobject isthe representation < =">
ing >java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 68
solvable groups is not a part of the &GAP; library, which uses a
similar but  filter <Ref Prop="IsMonomialGroup"/>.
</Subsection>

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Subsection Label="Example: Groups with a word length">
<Example:Groups witha wordlength<Heading

Oursecondexample
Evthe  
of<>
butnglejava.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 0
details of howjava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 46
<P/>
Having other operations(or
example a <Q>word length</Next, we look at the implem at implementation of anew representationof existing
intended for and therefore we use one.
<P/>
First, declare thecategory.All objectsin categoryare groups and
so we inherit/java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<P/>
<Log><![CDATA[
DeclareCategory("IsGroupWithWordLength",IsGroup);
]]></Log>
<P/>
ealso define the operation which  <>enabledQthis category,heword
lengthtokeep this for our new objects.
(  java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 59
<Ref Filt="tWithInverse"):
<P>
<Log>![
DeclareOperationjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 74
  IsMultiplicativeElementWithInverse]);
]]<Log>
<P/>
We java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 31
concrete cases
wordsjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 16

</Subsectionjava.lang.StringIndexOutOfBoundsException: Range [18, 14) out of bounds for length 76


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->/>
<SubsectionLabel="<(
<Heading>Example: "IsPermutationGroupByRelations",
<P/>
<Index Key="DeclareAttribute!java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
The   ,relations"
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
able to use it
there is toimplement sparsewefor 
<P>
We also want this/
which have been  can make the new ajava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
<Ref, action, anda >.
<P/>
Instead  simply declareanattribute
<C>SemidirectProductDecomposition/>for .
(Again, in this manual wesame  of  java.lang.StringIndexOutOfBoundsException: Range [40, 36) out of bounds for length 74
<C()C ( java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 62
<P/>
<><C[
DeclareAttribute(declare declare <C function  our Usuallyit helpful
]]></Log>
<P/>
fadecompositionhasbeen found, can bestoredina  using
<C>SetSemidirectProductDecompositionmakesure "IsMGroup"java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
storing)
<P/>
Methods that rely 
installed :java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 55
<!-- %T but this filter expresses the <E>knowledge</E> of a decomposition, --><E>/>  decomposition,
<!-- %T not the <E>existence</E>!! -->

</Subsection>

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Creating Own Arithmetic Objects">
<Heading>Creating Own>!CDATA[

Finally Method((IsSolvableGroupIsMGroup)
arithmetic such that one can form for example groups, rings or vector spaces(,)
of these elements. This><Logjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
chapter <Ref Chap="An Example -- Designing Arithmetic Operations"/>, in this section we
present a simple approach <
permit you to exploit all potential features.
<P>
Now also  <Ref="ewObj>method
in terms of &GAP;s built-in types, for example as a<><CDATA[
We   the<Q> dash; testingbecomesquite 
Also provided are functions that perform arithmetic on this <Q>functionG
data</
represent Log><![CDATA[
<Ref Func="ArithmeticElementCreator"/> then is called to provide
such that
new&-  canbe multiplied etc with the
default infix operations such as <C>*</C>.
<P/>
<">

<Label=e:ArithmeticElementCreator>
<Heading>Example: ArithmeticElementCreator<Subsection)

As the first example we look at subsets of <M>\{ 
<Q>java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 55
e and we java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 75
know this.
<   that groups  elementsa<> length<E
We therefore isdefined(is defined   context
<
<e>!CDATA[
gap  the whole set
gap> w := [1,2,3,4];
[ 1, 2, 3, 4 ]
gap> PosetElementSpec :=rec(
>   #name of newelements
>   ElementName : 
>   # arithmeticHaving aword length a featurewhich enablesother operations(or
>   One := a -> w,
>   Zero := functions,fortherefore onejava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
>   = a b) return (,) ,
>    the Ref="IsGroup">
>   # Mathematical properties of the elements
>   MathInfo := DeclareCategory("IsGroupWithWordLengthIsGroupWithWordLength",IsGroup);
>               java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 9
>               
> );
gap> mkposetremember that  elements (remember that group elements arein new . 
function( x ) ... end
]]></Examplebe done (albeit not very effectively)Log>![DATA
<P/
Now we can create new elements, perform arithmetic on them and   ;
<P/>
<Example><![CDATA[
gap> a := mkposet([1,2,3]);
[ 1, 2, 3 ]
gap> CategoriesOfObject(a);
[ use probablySubsection
  "IsNearAdditiveElementWithZero", "IsAdditiveElement",
  IsExtLElement,"",
  "IsMultiplicativeElementWithOne", "IsAssociativeElement",
  "IsAdditivelyCommutativeElement", "IsCommutativeElement",
  "sPosetOn4
gap> a=[1,2,3];
false
gap> UnderlyingElement(a)=[1,2,3];
true
gap> b:=mkposet([2,3,4]);
java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 11
gap> a+b;
[ 1 .. 4 ]
gap> a*b;
[ 2, 3 ]
gap> s:=Semigroup(a,b);
<commutative semigroup with 2 generators>
gap> Size(s);
3
]>/
</java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
Ins. given java.lang.StringIndexOutOfBoundsException: Range [67, 66) out of bounds for length 68
 specific java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
<Example><![CDATA[

true
]]></Example>

</Subsection>
</Section>
<return java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 14


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %E -->


Messung V0.5 in Prozent
C=94 H=100 G=96

¤ Dauer der Verarbeitung: 0.13 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.