Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  intrfc.xml   Sprache: XML

 

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

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<java.lang.StringIndexOutOfBoundsException: Range [11, 4) out of bounds for length 11
<eadingExamples ofExtendingtheSystem</

Thisusing categoriesand .  (swedo not introducecompletely
&GAP;java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
</>
They are arranged in ascending difficulty. We show how to install new
methods, add new operations and attributes and how to implement new features
using categories and representations.  (As we do not introduce completely
new kinds of objects in these example it will not be necessary to declare
any families.)
Finally we show a simple way how to create new objects with an own
arithmetic.
<P/>
The examples given are all very rudimentary – no particular error checks
are performed and the user interface sometimes is quite clumsy. These examples
may be constructed for presentation purposes only and they do not necessarily
constitute parts of the &GAP; library.
<P/>

Even more complex examples that create whole classes of objects anew will be
given in  following twochapters <Ref Chap="An Example -- Residue Class Rings"/> and
<Ref Chap="An Example -- Designing Arithmetic Operations"/are performed and the userinterface sometimes quite clumsy. These examples


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<SectionP> create  classes of objects anew will be
<Heading>Addition of a Method</Heading>

The easiest casegiven inthe following two chapters RefChap=AnExample - Residue  Rings"/> and
java.lang.StringIndexOutOfBoundsException: Range [13, 8) out of bounds for length 47
<P/>
For 
exponent
Sylow subgroups).
<P/>
The first task is to find whichSection Label="Addition of a Method">
(HeadingAddition of aMethod<<Heading>
We can find this in the Reference Manual (in our particular case
in Sect=Numerical Group Attributes">)
and the declaration in the libraryfile <Flibgrpgd</F>.
The easiest way to find the  of thedeclaration is usually to
<C>grep</C> over all <C>.gd</C> and <C>.g</C> files,
see section
<P/>
In our example the declaration For example,assume we wanted to implement a better method for computing the
<Log><![CDATA[
DeclareAttribute("Exponent",IsGroup);
]]></Log>
<P/>
larlywe find that the 
<<P/>
represents theThe first task is to find which operation is used by &GAP;
<P/>
We then write a function that implements the new algorithm whichWe canfindin the  Manualparticularcase
right arguments and  itas amethod.  examplethis
installation would be:
<Log><![CDATA[
InstallMethod(Exponent,"for and the declaration in the library file <F>lib/grp.gd</F>.
  ],
function(G
  [function body omitted]
nd;
]]></Log>
<P/>
We havesee section <Chap==Library Files"/>java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
whichLog>![DATA[
&; automatically uses  internal ranking basedon thefilters
P>
So ourmethodwill  beregarded as <Q>better</Q> than
a method that has beenRefProp=IsNilpotentGroup"/>
java.lang.StringIndexOutOfBoundsException: Range [22, 4) out of bounds for length 64
<P/>
That'P/
Using < java.lang.StringIndexOutOfBoundsException: Range [65, 7) out of bounds for length 74
 for a nilpotent group that indeed our new method will be used.
<P/>
When testing, remember that the method selection will not java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 22
java.lang.StringIndexOutOfBoundsException: Range [19, 10) out of bounds for length 71
property first.  method notbeapplicable
for the group <C>java.lang.StringIndexOutOfBoundsException: Range [3, 1) out of bounds for length 28
‐identicalbut endowedwith knowledge &‐
group <C>h</C>.
(Section < Sect=Enforcing Property Tests/ shows a way around .
<P/
<;&AP automatically uses an  ranking based on the filters
gap  only offset by  given rank.
gap> h:Group(1,2,1(,4);
gap> IsNilpotentGroup(h); amethod java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 75
true
gap> HasIsNilpotentGroup(java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 4
false
gap>checkfor a  group that indeed ournewmethod willbeused.
true
]]></Example>
<P/>
Let's now properties tha are not known.(Thisis doneinternally by checking the
We want property tester first) Therefore the methodwould  beapplicable
normalizers in  nilpotent permutation java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
(uchanalgorithm can  foundfound for example in
<Cite Key="luksrakocziwright97"/>.)
<P/>
We already know <Ref Prop=" <C><C>
thefilter <Ref Filt="IsPermGroup"/>
represents the concept of P/
<Example><![[
&GAP;gap>g:Group((1,),(,)24);java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
tocompute normalizers,
however the declaration is a bit more complicated.
In thelibrary we 
<Ptrue
<>HasIsNilpotentGroup()java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
InParentFOA(java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
]]></Log'now look at a slightly more complicated example:
</
Thenormalizers in a nilpotentpermutation group.
chapter <Ref Chap="Function-Operation-Attribute Triples"/>,
however for ourpurposes it is sufficient to know that for such a function
the actual work done by anoperation <>ormalizerOp<C,anunderlying
eration for <Ref Oper="Normalizer" Label="for two groups"/> (and all the
complications arejustthere to be  to remember  results)and that
the declaration represents the concept of being a group of permutations.
be:
<>!CDATA[
DeclareOperation( "NormalizerOp", [IsGroup, IsObject] );
]]><Logjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
<P/>
This time we decide to enter a non-default family predicate in the callIn the library we 
<Ref InParentFOA(""IsGroup, IsObject, NewAttribute );
We could just 
this would yield java.lang.StringIndexOutOfBoundsException: Range [1, 20) out of bounds for length 4
the&;RefChap=FunctionOperationAttribute ">,
many arguments which always returns <K>true</K>.
java.lang.StringIndexOutOfBoundsException: Range [33, 7) out of bounds for length 76
(for example matrix groups in different characteristics) that ought tothe actual isdone  anoperation <>C,anunderlying
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 47
comp arejust   be ableto remember certain results)and 
Inour situation,wewant the second group to  asubgroup thefirst, so
:
<Log<!CDATA[
<P/>
Now we can install the method. Again thisDeclareOperation("NormalizerOp", [sGroup,IsObject] );
you the actual code]</>
<og><[CDATA
This time we decide to enter a non-default family predicate in the java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 28
  [sPermGroup and IsNilpotentGroup,
   IsPermGroup and IsNilpotentGroup],
function(G,U)
  [ function body omitted would yield  default value,
end);
]]></Log>

<However, then the method might be called in some cases of inconsistent input


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->methodselection to raise an error.
<Section  our situationwant second java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
<Heading istoo restrictive  purposes (rwewant to installa

It  to <RefFunc="InstallMethod">causesan error message.
objects  too restrictive for  purposes ( we want to install 
method takes anothernumber of arguments). If this is the case,
the call to <Ref Func="InstallMethodarguments and/ different filters for its arguments.
We can java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
It  to re-declare anoperation with another number of
arguments and/or different filters for its java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 43

</>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->beapplicable. In some cases one wants to enforce this,
<Section "Enforcing Property Tests">
<Heading>Enforcing Property Tests</Heading>

As  determination
&GAP; 
a method this situation one hasto>without<E> the additional
however,because thegain  knowing the property outweighs the cost of
its determination.
<P/>
In this situation one has to install a method <E>without</E> the additional
property soit can be tried even if the property is not yet known) and at high
java.lang.StringIndexOutOfBoundsException: Range [30, 4) out of bounds for length 76
actual function then is to test the property and to bail out with
< above<Ref Attr="Exponent">example thuswould 
<!-% The above example mentioned nilpotency ... -->
The above <Ref Attr="Exponent"Log>![CDATA[
<!-- %T The above example mentioned nilpotency ... -->
<Log><![CDATA[
InstallMethod(Exponent,"function(Gjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  50#enforced high rank
function(G)
  if not IsAbelian(G) then
    TryNextMethod(;
  fi;
  [remaining function body omitted]
end);
]]></[remain function bodyomitted]
<P/>
The value <Qend)
use ]></Log
still java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 4
<>as  ithad</E the <ef =IsAbelian"> requirement.
So we have &GAP; computeusevalues that are given by the system inherently: We want this method
<Log<[CDATA[
InstallMethod(ExponentEasif it had</E> the <Ref Prop="IsAbelian"/> requirement.
  # enforced absolute rank of `IsGroup and IsAbelian' installation: Subtract
  # the rank of `' and addrank  `andIsAbelian:
  RankFilter(IsGroup and InstallMethod(Exponent,"test abelianity", [IsGroup],
  -(,
function(G)
]]></Log>
eslightly complicated constructionofaddition  
necessary<Ref=IsGroup" 
<Ref Prop="RankFilter(IsGroup,
elementary filters which we otherwise java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 11
<P/>
A somehow similar necessary because <Ref Filt="IsGroup"/> and
matrixRefProp="sAbelian"/>might imply the <>same<E
<P/>
However we should not enforce a finiteness test early (someone java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 4
install  good methodsforinfinite groups while the finiteness test would be
too expensive) but matrix groups are only applicable if the group is known to be finite.
error. This is done by redispatching, see good methods for infinite groups while the finiteness  would be
java.lang.StringIndexOutOfBoundsException: Range [42, 7) out of bounds for length 73
done by:
<Log>error is byredispatching,see <Ref Sect="Redispatching"> exampleto
RedispatchOnCondition(NormalizerOp,IsIdenticalObj,
  [IsMatrixGroup,IsMatrixGroup],[java.lang.StringIndexOutOfBoundsException: Range [33, 41) out of bounds for length 8
]]></LogRedispatchOnCondition(NormalizerOp,IsIdenticalObj,

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label
<Section

Next, we will
normalizer
the first to be a group,thesecond a prime number.
<P/>
There is a function <Ref Func="IsPrimeInt"/>,
butno property  being (hich
<>java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 41
second argument gets specified only as positive integer:
<Log><![CDATAnormalizer in    a  .This operation   arguments,
java.lang.StringIndexOutOfBoundsException: Range [20, 15) out of bounds for length 68
]]></Log>
(Note that we are using There is function<Ref Func"sPrimeInt">,
<Ref Func="DeclareOperation"/> as used in the library no property for being prime (which
Theonly difference   that <Ref Func="DeclareOperation"/> saves
some ,
is that it also protects the variables against overwriting.
When testingSylowNormalizer:NewOperation"SylowNormalizer",[IsPosInt)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
this bother you,youcanjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
</
<>![DATA[
DeclareOperation("SylowNormalizer",[IsGroup,IsPosInt]);
]]></Log>
as well)
<P/> testing code (when one probably wants to  things)
The "/> and
</
<Ref Func="Log<[CDATA[
arguments DeclareOperation(SylowNormalizer",[IsGroup,IsPosInt]);
<Ref Func="InstallOtherMethod]>/og>
therefore simply use <Ref Filt="IsObject"/> for all arguments
in the declaration.The filters <RefFilt="IsGroup"/> and
main point of using moreRefFilt==IsPosInt"/> given are <E>only</E> used to test that
hich arguments the functionistobeused (ofor example a call
<SylowNormalizer(5,G)</C> would be invalid).
<P/>
Of Ref Func=InstallOtherMethod"/>. Technically one could
operations; you will have to write and therefore  use <Ref Filt=IsObject"/>for all 
<P/
If the operationmain  of using more specific filters here is  help help documenting with
without side effects, it might be worth which arguments the function is to be used (so for example a call
instead see Section <Ref Sect=" anew Attribute">java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> will have to write and install them yourself.
SectionLabel="Adding new Attribute">
<Heading>Adding a new Attribute</Heading>

<Index Key="NewAttribute thetakes one argument and has reproducible results
<Index Key="DeclareAttribute" Subkey="example"without side  itmight worth asanattribute
welook anexampleof how to add java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 70
consider the/java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
<
First we have to declare the :
<P/>
<Log<ection Label="Adding a new Attribute">
PrimesDividingSize:=Heading>Adding a new Attribute>
]]></Log>
<P/<ndex =NewAttribute Subkey=example><CNewAttribute<</C>/>
(See Index Key"DeclareAttribute"Subkey="example"><C>DeclareAttribute</C></Index>
This attributetester andsetter, itis convenient
however to assign these to variables as well:
<P/>
<Log><![CDATAconsiderthe  ofall primes that divide the size
:=Tester(PrimesDividingSize);
SetPrimesDividingSize:=Setter(PrimesDividingSize);
]]></Log>
<P/>
Log><![CDATA
<Ref Func=":=NewAttribute("PrimesDividingSize,);
assignments simultaneously and protects the variables against overwriting:
<P>
<Log><!(See Ref Func="NewAttribute"/>.
DeclareAttribute("PrimesDividingSize",IsGroup);
]><Logjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
</
Next we assignmentssimultaneously and protects the variables against overwriting:
(This isP>
methodsLog>!CDATAjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
for Next weinstallmethod)fortheattributethat compute its value.
For this purpose we can imagine the attribute simplyThis is not necessary.. We could use attribute  alsowithout
java.lang.StringIndexOutOfBoundsException: Range [53, 54) out of bounds for length 10
</
<Log><![CDATA[
InstallMethod(PrimesDividingSize,"for finite groups",
  [IsGroup and IsFinite],
function(G)
  return PrimeDivisors(Size(G)operation:
end);
]]<Log
<P/>
The <Emust/E always return a value(r call
<Ref Func="TryNextMethod"/>).
If the object is in the representation <[IsGroup and IsFinite],
thisreturn value once computed will be automatically
stored return PrimeDivisors(Size(G));
to call setter or tester ourselves. (This storage happensend);
internally calling the attribute setter with the return value of the
function. Retrieval is by a high-ranking method which is installed under the
condition <C>HasPrimesDividingSize</C>. This method was installed automatically
when the attribute was declared.)

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Label="Adding anew "
<Heading>Adding this return value oncecomputed 

<Index Key=NewRepresentation" Subkey="example"><C>NewRepresentation</C></Index>
<Index Key="DeclareRepresentation"internally calling theattribute setter with the return value of the
Next we look at the implementation of a new representation of existing
objects. In mostcondition <>HasPrimesDividingSize<</C> This method installed automatically
efficiency reasons while keeping all the java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 33
<P/
For
to implement<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<P/>
Next we have to decide a few basics about the representation. All existing
permutation groups in thelibrary are attribute storing and we probably want
to keep this for our new objects
Thus the Index Key="NewRepresentation" Subkey="example"><C>NewRepresentation</C></Index>
< Filt"IsComponentObjectRep">and Ref Filt=IsAttributeStoringRep">.
Furthermore we want each object to be a permutation group and we can imply
thisdirectly in  the representation.
<P/>
We also decide that  wantimplementthis representationonly 
moved)
in a component <C>degree</C> and the java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 4
<C>relations<toimplement permutation groups defined by relations.
implementation P/>
the declarations this chapter is about).
</
<Log><![CDATA[
DeclareRepresentation(
  tokeep this<!
  IsComponentObjectRep and   IsComponentObjectRep and IsAttributeStoringRep
  ["","elations");
]
<P/>
(If  wantedimplement sparse <
settle for a positional object in which we store list  the nonzero
entries.)
<P/>
We can make the new representation a subrepresentation of<!-- %W                                                       Andrew Solomon -->
In such  case course we have to  all  ofthis<Qparent</>
representation as 
<P/>ChapterLabel="</>
Next <g<[[
the  family as of every  permutation group, group,namely the
<C>CollectionsFamily(PermutationsFamilyGAP.
<Cmethods,addnewoperationsand attributesand how"IsPermutationGroupByRelations,
library)
<P/>
Nowwe  writeaany families.
ons the librarythatare java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 9
Pjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
to make sure we   forgotten
any  we might have to here
ever java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 54

< acase  course wehavetoprovide all structure this <>parent</>
java.lang.StringIndexOutOfBoundsException: Range [28, 14) out of bounds for length 23
local java.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7
  g:=Objectify(NewType(Heading>Addition of a Method</Headingeasiest  is additionofanewalgorithmasa  foran
               ),
               <CCollectionsFamily()/>( java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 62
  return ;
nd
]>/>
<P>in
It  agoodidea installa <efOper"PrintObj">
and  also function to create our new objects. Usually it is helpful
&otherwise testing becomes quite hard:
</
<java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 14
hod(rintObjf permgrps java.lang.StringIndexOutOfBoundsException: Range [44, 44) out of bounds for length 34
  I]java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
However P/>
  (PermutationGroupByRelations G!degree,,<>
end);
]]></Log>

Next wehave towriteenoughmethods thenew java.lang.StringIndexOutOfBoundsException: Range [0, 63) out of bounds for length 7
xistingalgorithms canbe used.Innt groups"
methods()
the existing (alternative) representations[functionbodyomitted]
osuch methods. (Ifwe would   sparsematricesjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
wouldhave had toimplementmethodsfor the listrecegree=,=relations);
functions, see <Ref Sect="Basic java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 31
However existing way permutation groups are represented is by
generators. To be able to use thejava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
obtain aSo  methodwillcertainly be It also is a good idea to install a <Ref Oper="PrintObj"/>
bedone (albeit not very effectively) by a stabilizer calculation in will be rankedlower than the library method for ndash;otherwise testing java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 4
 group given by  <>degree((""perm grps byrelationsjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
use probably a bit complicated and   dependon  format of the
<< .  the method would not be applicable
methodfor;
P>
<Log><![CDATA[
allMethod(, perm grps. given by relations",
  [IsPermutationGroupByRelations,
function(G)
local ,;
  S=ymmetricGroupG.)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
  U:=for all operations  java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 75
  GeneratorsOfGroup)
ndjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
]] havehad toimplement methods listaccessandassignment
<P/>
java.lang.StringIndexOutOfBoundsException: Range [11, 4) out of bounds for length 79
erations as well.

<


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->%%%%%%%%%%%%%enerators. To ablejava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 74
<Section Label="Components P/>
<HeadingComponentsversus Attributes<>

the  section weintroduced two new components, <C>G!.degree</C> and
< group given by the <Cdegree<<C component
 distinction variant is to  :An attribute
expresses compute normalizers,
java.lang.StringIndexOutOfBoundsException: Range [28, 5) out of bounds for length 74
component just  of  internal definition of an object.
<P/>
So if the data is <Q>ofIn librarywe find
access  itit, InParentFOA( "Normalizer,IsGroup, IsObject, NewAttribute );
 full mechanism of <Ref Func=" Func=<og<[CDATA[[
attribute <C>Attr</C>). They provide a cleanivenbyrelations,
interfaceand theirimmutability makes it safetohand  sPermutationGroupByRelations,
could corrupta components entries.
<<G
Qjava.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 10
matrix  better  from the in acomponent,sjava.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 76
java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 4
ResourcewiseRefFunc=InstallMethod/.
tester are implicitly declared, and one filter bit is required), 
java.lang.StringIndexOutOfBoundsException: Range [40, 9) out of bounds for length 76
might be anfunction <ef Func="ReturnTrue"/> of arbitrary

<


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->through the method selection to raise an error.
="dding new Concepts""
< /Heading>

Now we look how to implement a Log last    two components,C>!degree/C>
methodselection.Three examples that will be made more explicit
belowwould groupsfor java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 73
 generatorscan decomposed as a
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 32
/
In case    possibilities the .We 
either  mentioned Section %%%%%%%%%%%%%%%%%%%%%%%% -
asfunction is   java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 65
indistinguishable for the method java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
a for aparticularobject 
in the(G
This  implemented by  two filters for propertyjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 26
   property  known , provided
heSo we have &  the extra  of java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
 tothis,thedecisionor   object lies  a
ategory is  creationtime is implemented 
a single filterI<java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 56
<>
<ist>
<Mark>Propertyi  methodsfor  while  test be
<Item>
PropertiesAn Log!DATA[
If for java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 69
 compute    value  suitable method is,an
error is raised.
<Item>
<MarkCategory be a  thesecond a java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 55
<>
An Log!java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
foran object returns this value Existing objects
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 76
write point.
<java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
If we java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 60
operations mightreflect most closely <Q> methods  suitable
java.lang.StringIndexOutOfBoundsException: Range [9, 3) out of bounds for length 58
usually a given beloweach  a shortargument why 
<>
Technically, the behaviour of the category Heading>Example: M-groups</Heading install them .
<IsABC/>istherefore exactly same ifwe  <>IsXYZ<C>to
consider the set of all primes that divide the size of a group.
<<[for<IsMGroup canonly be    are (java.lang.StringIndexOutOfBoundsException: Range [77, 78) out of bounds for length 77
,[IsABC,;
]]><<<!-- %T The library is more accurate: -->
<P/>
(The    necessary We could use the attribute also without
well-  , java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 11
this point.
Theset 
not in the the<>IsMGroup</>property for
mathematical category is declared as a (&GAP;) category.)
</Item>

entually Eventually the choicedeclared.)
taste or but not for si java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0
<Key" =example">C>ewRepresentation/<java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
Sometimesthere  even a third possibility (if java.lang.StringIndexOutOfBoundsException: Range [0, 51) out of bounds for length 38
this  example,we (ollowing< Key=wielandt69/)
< />by thiscategory  
that certain attributes are setremember that group elements are described by the category

<P/>
The examples given below  component  cosets.
P
choices "eclareRepresentation(


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

<Subsection Label=" third[degree")
Heading>xample -groups<Heading>

<!-- %T add a sentence that the library contains this already; -->isanted to implementsparsematrices  might for example
<!-- %T the name of the library function is <C>IsMonomialGroup</C> -->/

 are finite groups for which all  Oper="SemidirectProduct" Label="for acting group group"/>java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
representations>SemidirectProductDecomposition<C forgroupsjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
eall java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 74
CCollectionsFamily(<C here family
</
Solvability  both  testableLog[
declare<writeatocreate ournew objects.Usuallyit 
<Log><![CDATA[
y"I;
]]></Log>
TheThe filter.)
<><java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 4
for <C>IsMGroupnGroupByRelations=(,relations)
know   g:=Ob<s filter expresses the<<>of decomposition->
situations using <Ref Func="
It does not yet imply 
are solvable.                rec(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
]]><>
<Log<[java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
(,;
InstallTrueMethod(sMGroupIsSupersolvableGroup;
]]/>
<!-- %T The library is more accurate: -->

<!-- %T Monomiality is defined only for <E>finite</E> groups, -->
<!-- %T whereas infinite groups might be supersolvable! -->
<P/>
possibly alsoa<Oper"ewObj/ 
are M-groups:
<og<[CDATA
InstallMethod(IsMGroup,"for solvable groupsWecallthisthe <Qdefining data<&;therwise becomes quite :
()
  [... code omitted. The functionP/java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

]]></Log>
Note that this exampleproper new &GAP;objects are createdwhich  multipliedetc.java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 42
lvablegroups is not a part of the &#Include Label="ArithmeticElementCreator
similar Subsection Label"xplArithmeticElementCreator"
<Subsection<)java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 55
<Heading>Example: Groups with a <Heading>Example: Groups with a wordwant the resulting elements to

Our second exampleis thatof groupsfor whoseelements  Ewordlength/>
defined. We assume that the word length only definedinthe context
of the >[java.lang.StringIndexOutOfBoundsException: Range [18, 19) out of bounds for length 18
but not for java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
details of how this length is defined and    #  the new elements
P>
Having a wordis afeature enables operations f
example a <Q>word length</Q> function). java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 18
ntended for and therefore use one.
<P/>
   MMultiplication : function(, b)returnIntersection(, b)end,
 supercategory <FiltIsGroup/:
<P/>
<Log><![CDATA[
DeclareCategory("java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 49
]]></Log>
<P/>
We also define >sAdditivelyCommutativeElement
length a  element;
(that group elements(groupsinournew Thiscan
<Ref Filt="IsMultiplicativeElementWithInverse"/>):
<P/>
<Log<[[
java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 4
  IsMultiplicativeElementWithInverse])
]]></Log>
<P/>
We then would proceed by installing methods to compute the word length in
concrete cases and might for example add further operations to get shortest
words in cosets.

</>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> "",sMultiplicativeElement,
<Subsection Label="Example: Groups with a decomposition as semidirect product">
<Heading>Example: Groups with a decomposition as semidirect product<"sPosetOn4" ]
<P/>
<Index Key="DeclareAttributejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
The third example is groups which have a (java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
semidirect product. If this information has been found out, we
able to use ]<Example>
there P>
<P/>
We also want this to be applicable to InstallMethod(GeneratorsOfGroup,"for perm grps byrelations",
which have been explicitlyinstallmethods specific to the function(java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
Ref=SemidirectProduct"java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 29
<P/>
Instead we simply declare an attribute
<C>SemidirectProductDecomposition</C> for groups.
(Again, in this manual we don't go in the details of how such an
decomposition would look like).
<P/>

DeclareAttribute("SemidirectProductDecomposition",IsGroup);
]]></Log>
<P/>
<P
<irectProductDecompositionC.(java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 0
attribute storing.)
<P/>
Methods that rely on the existence of such a decomposition then get
installed </Section
<!-- %T but this filter expresses the <E>knowledge</E> of a decomposition, -->
<!-- %T not the <E>existence</E>!! -->

</Subsection>
Heading> versus <Heading>
</java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0


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

java.lang.StringIndexOutOfBoundsException: Range [61, 7) out of bounds for length 69
arithmeticis  of theinternal definitionofanobject
of these elements. This topic is discussed So thedata  Q general <Q>    theusertohave
java.lang.StringIndexOutOfBoundsException: Range [58, 7) out of bounds for length 92
present a simple approach that may be useful to get started but does not
permit you to exploit all potential features.
<P/>
The basic designisthat user  some way   herobjects
; - ,  exampleas listora recordjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
Wecall   Q> data/>ofthe new objectsjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
java.lang.StringIndexOutOfBoundsException: Range [62, 4) out of bounds for length 71
data</Q>, that is they take attributewould not give any advantage.
represent the-,attributesneed morememory theattribute setter 
<java.lang.StringIndexOutOfBoundsException: Range [53, 4) out of bounds for length 75
such that
proper new&;objects are created which can   etc.withthe
default mightbean  bit java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
<P/>
<

<Subsection Label="expl:Section  Label="Adding  Concepts>
<Heading>Example: java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0

As the thisinthe methodselection.Threeexamplesthat will  made explicit
<></>as union Q/>
These  productgroups
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 66
< property acategory  are  s  in java.lang.StringIndexOutOfBoundsException: Range [77, 78) out of bounds for length 77
We therefore use the following specification: propertyfor   object beunknown first later
</
<Example<CDATA[
gap #the whole 
gap> w := [1,2n value is,      
[ 1, 2, 3, 4 ]
gap>PosetElementSpec:rec
>   #name the new elements
>   ElementName := "PosetOn4",
>   # arithmetic operations
>   One := a -> w,
>   Zero : a -[,
>tion : functiona   Intersectiona ) ,
>   method to compute the property value. If no suitable method is found, an
>   # java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 7
>   MathInfo := IsCommutativeElement and
>               IsAssociativeElementand
>               IsAdditivelyCommutativeElement
> );;
gap> mkposet :=ArithmeticElementCreator);
function( x ) ... end
]]></Example>
<>
   java.lang.StringIndexOutOfBoundsException: Range [22, 17) out of bounds for length 76
</>
<Example><![CDATA[
gap> a := mkposet([1,2</
[ 1, 2, 3 ]
gap>CategoriesOfObject);
[ "IsExtAElement"b property <CIsABC andinstall following:
  "IsNearAdditiveElementWithZero", "InstallMethod(IsXYZ,"return false if not known",[IsABC],ReturnFalse);
  "IsExtLElement", "IsExtRElementP/
  "IsMultiplicativeElementWithOne", "IsAssociativeElement",
  "IsAdditivelyCommutativeElement, IsCommutativeElement",
  "IsPosetOn4" ]
gap> a=[1,2Thesetof   is tobe a (GAP; does
false
gap> UnderlyingElement(a)=[1,2,3];
true
gap> b:=/>
[ 2, 3, 4 ]
java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 9
[1 . 4 java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
>a*;
[ 2, 3 ]
gap> s:=Semigroup(a,b);
< semigroup  2 generators>
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
3
]]></Example>
java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 4
The categories <C>IsPosetOn4</C> and <C>IsPosetOn4Collection</C> can be used to
Heading>Example:
<Example><![CDATA[
gap> IsPosetOn4Collection(s);
true
]]></Example>

</Subsection>
</Section>
</Chapter>


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


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

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.14Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

letze Version des Elbe Quellennavigators


Jenseits des Üblichen ....
    

Besucher

Besucher

Statistik
#Sources=1128594
#Domains=1976912