<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> <!-- %% --> <!-- %W meataxe.tex GAP documentation Alexander Hulpke --> <!-- %% --> <!-- %% --> <!-- %Y Copyright 1997, Lehrstuhl D für Mathematik, RWTH Aachen, Germany --> <!-- %% --> <!-- %% This file contains a description of the MeatAxe functions. --> <!-- %% -->
<Chapter Label="The MeatAxe">
<Heading>The MeatAxe</Heading>
The MeatAxe <Cite Key="Par84"/> is a tool for the examination of submodules of a
group algebra. It is a basic tool for the examination of group actions on
finite-dimensional modules.
<P/>
&GAP; uses the improved MeatAxe of Derek Holt and Sarah Rees, and
also incorporates further improvements of Ivanyos and Lux.
<P/>
Please note that, consistently with the convention for group actions, the action of the &GAP; MeatAxe is always that of matrices
on row vectors by multiplication on the right. If you want to investigate
left modules you will have to transpose the matrices.
<ManSection>
<Heading>GModuleByMats</Heading>
<Func Name="GModuleByMats" Arg='gens, field'
Label="for generators and a field"/>
<Func Name="GModuleByMats" Arg='emptygens, dim, field'
Label="for empty list, the dimension, and a field"/>
<Description>
creates a MeatAxe module over <A>field</A> from a list of invertible matrices
<A>gens</A> which reflect a group's action. If the list of generators is empty,
the dimension must be given as second argument.
<P/>
MeatAxe routines are on a level with Gaussian elimination. Therefore they do
not deal with &GAP; modules but essentially with lists of matrices. For the
MeatAxe, a module is a record with components
<P/>
<List>
<Mark><C>generators</C></Mark>
<Item>
A list of matrices which represent a group operation on a
finite dimensional row vector space.
</Item>
<Mark><C>dimension</C></Mark>
<Item>
The dimension of the vector space (this is the common length of
the row vectors (see <Ref Attr="DimensionOfVectors"/>)).
</Item>
<Mark><C>field</C></Mark>
<Item>
The field over which the vector space is defined.
</Item>
</List>
<P/>
Once a module has been created its entries may not be changed. A MeatAxe may
create a new component <A>NameOfMeatAxe</A> in which it can store private
information. By a
java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 80
lesMeatAxe java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
C/> java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 77
Heading Modules/eading>
bases used are needed as well.
</Description>
</ManSection>
<ManSection>
<Heading>java.lang.StringIndexOutOfBoundsException: Range [30, 25) out of bounds for length 54
<Name"Arg=,field] Label="ormatrixgroup and a field"/>
<Description>
creates a MeatAxe module over <A>field</A> from java.lang.StringIndexOutOfBoundsException: Range [0, 51) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [75, 5) out of bounds for length 78
<Ref Attr="DefaultFieldOfMatrixGroup"/> is used instead.
</>/>whichreflecta group' .If thelist of generatorsis ,
<the dimension must be given as second argument.
<ManSection>
<java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 4
<Description>
Called with a permutation group <A>G</A> and a field <A>F</A> (<not dealwith &AP; modulesbut essentiallywith listsof matrices Forthe
<<Lis>
<Mark><Cgenerators</C><Mark>
for the group of permutation matrices that acts on the canonical basis of
<M>M</Item>
moved pointsee <ef Attr="argestMovedPoint" Label="for a list or collection of permutations"/>).
</Description>
</ManSection>
<ManSection>
< Name="TrivialGModule" Arg='G, F'/>
<Description>
Called with a group <A>G</A> and a field <A>F</A> (<A>F</A> may be The dimension vectorspace (his isthe common length of
<Item
</java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14
</
<a
<Func Name="TensorProductGModule<Q or Q>actor module<Q we denote
<Description>
<Ref Func="TensorProductGModule"/> calculates the tensor product
java.lang.StringIndexOutOfBoundsException: Range [27, 2) out of bounds for length 39
are to be modules oversame ,,
they should have the same number modules, obtain the relation to the original module,the
</Description
</ManSection/Section>
<ManSection
<Func
<Description> <Ref"/>calculatesthewedgeproductofa<A>G</A>-module.
java.lang.StringIndexOutOfBoundsException: Range [22, 4) out of bounds for length 44 </Description </<Description>
</Section>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section=PermutationGModule"/ java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 71
Heading<Heading>
<ManSection>
<Var <M>M</M> way as<>G/A>acts thepointsup toits largest
<Description>
All MeatAxe routines are accessed via the global variable <Ref Var="MTX"/>,
which is a record whose components hold the various functions.
It possible to several implementations a MeatAxe java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 70
Each MeatAxe itsroutines inan ownglobal variable and assigning
<Ref Var="MTX"/> to this variable selects the corresponding MeatAxe.
</Description>
</lledwith agroup <<A>and field <><A (<>F</>may infinite,
<Description>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<ection Label"Accessing a "java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
<eading>Accessinga Module<Heading>
Even though a of the modules <A>m1<and <>2<A.
accessedoutsideofMeatAxe functions.Instead the following operations
should be used
<ManSection>
<unc Name=MTX. Arg=module'/>
<Description>
returns a list of matrix java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
</Description>
</Description
<ManSection>
<= =/
<Description
theinwhichthe .
<//ection>
</java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<ManSection>
<Name"Fjava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 37
<Description>
returns the field over which <
<Description
</>
<Description>
tests whether the module <A>module</A> is irreducible (i.e. contains no proper
submodules)
</Description>
</ManSection>
<ManSection>
<Func <
<Description>
A module<java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 36
algebraic closure ofthe field.
(Formally: If the tensor product <M>L accessedoutside MeatAxe functions. java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 15
where </Descri>
losure K/)
</Description>
</Func=M.java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 41
<java.lang.StringIndexOutOfBoundsException: Range [12, 13) out of bounds for length 12
<Func java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<Description>
returns the degree of the splitting field />
</ion
</java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
</Heading Tests/Heading>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<SectionLabel"of modules"
<Heading>Decomposition of modules</Heading>
A module is <E>
proper tests whether the module <A>module</A> is irreducible (i.esubmodules.java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
FuncName=".IsAbsolutelyIrreducible" Arg='module'/>
The <E>homogeneous components</E> of a module are the direct sums of isomorphic
indecomposable components. They are uniquely determined.
<P/>
<ManSection>
<Func Name"MTX.IsIndecomposable" Arg='module'/>
<>
Formally:If the tensor product <M>L \otimes_K M</M> is irreducible
<where <></M isthe defined over<MK/M>and<>L/ is the
<java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
<P/>
<ManSection>
<Func Name="MTX.Indecomposition" java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 0
<Description>
returns a decomposition <>module/A direct sum of indecomposable
modules. Section
<A>B
java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 73
unique.)
<>
</indecomposabl uniquely determined.
<P/>ManSection
<anSection
<Func >
<Description
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 69
indecomposable components. java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 13
is a record correspondingtoone isomorphism of
components.
The
<P/>
<List>
<Mark><C>indices</C></Mark>
<Item>
the index theindecomposable components,
as given by <Ref Func="MTX.,
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 40
</Item>
<Mark><C>component</C></Mark>
<Item>
one of the indecomposable components,
</Item>
<Mark><C>images</C></Mark>
<Item>
a list of the remaining indecomposable componentsthe induced on .(Suchdecomposition isnot
each given as a record withunique./>
<C><C (the componentitself and
<C><C (an isomorphism fromthe component to one)
<>
</java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
</>
</ManSection>
<iption>
<ce<A> should be a subspace of (ra vector in the underlying vector
space of <A>module</A> i.e. the full row space of the same dimension and over
theme field as <A>module</>.Anormalized basis of the submodule of
<A>module</A> generated by <A>subspace</A> is returned.
</Description>
</ManSection>
<ManSection>
<Func Name="MTX.as given by <Ref Func"TXIndecomposition"/>,
<Description>
returns thatare in the homogeneouscomponent,
submodule exists/Item
</<Mark>C></>/>
</ectionjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 52
<"Bjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 47
>
ajava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 54
</java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 10
</ManSection>
<ManSection>
<java.lang.StringIndexOutOfBoundsException: Range [10, 5) out of bounds for length 54
<Description>
returns a list of bases of all minimal submodules.
</Description>
</ManSection>
<>
<Func
<Description>
returns a list of bases of all maximal submodules.
</escription
</Func =M.java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 52
<ManSection>
<Func Name="MTX.BasisRadical A/>i.. full row of the dimension and
<Description>
returns Func MTXBasesMaximalSubmodulesArg'/
orderjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
<>
/>
<ManSection>
<java.lang.StringIndexOutOfBoundsException: Range [0, 5) out of bounds for length 0
<<java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
iption
</ManSection
<Func Name="MTX.BasesMinimalSupermodules"
< =''>
<Description basis <>sub/A>.
returns a list giving all irreducible composition factors with their
frequencies.
</Description>
</ManSection>
</Section>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 33
<Heading>Induced Actions</Heading>
<ManSection>
<java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
<Description
java.lang.StringIndexOutOfBoundsException: Range [14, 7) out of bounds for length 72
normed(e.inechelonform pivots to 1)for<>ub<A>
and <A>change</A> is the base change from <A>bas</A> to Description
(the basis vectors ManSection
</>
</ManSection
<Description>
creates java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
the non ="Actions">
<A>sub</A>.
In the <C>NBHeading>Induced Actions</Heading>
(That is it must be in echelon
see Func="TXNormedBasisAndBaseChange"/>.)
</Description>
</ManSection>
<ManSection>
<Func Name="MTX.InducedActionFactorModule" Arg='module, sub[, compl]<Func Name=MTX." Arg=java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
<Description>
creates a new module corresponding to the action of <A>normed (.in echelon with pivots to 1)for
factor of propersubmodule<sub/A> If A></ given has to basisof a
(vector space-(hebasisvectors Abas/>expressed coefficients for A><A)
<A><Descriptionjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
<PFunc =".nducedActionSubmodule Arg='module, sub'/
Func Name".InducedActionSubmoduleNB" Arg'module,/>
echelon form with pivots normed to 1,
see <creates a new module corresponding to the action of <A>module</A> on
</DescriptionA>ub</>
</>
<>
<Funcsee&;<Ref Func="MTX.NormedBasisAndBaseChange"/>.java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
<Name=MTX.InducedActionSubMatrixNB = 'java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
<Func Name="MTX.InducedActionFactorMatrix" Arg='matjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<Description>
work the same way as the above functions for modules, but take as input only
a single matrix.
</Description>
</ManSection>
<Description>
Computes induced actions on (vector space-)complement of <A>sub< actionthenwill
corresponding bases takenis in<></A>:
<C>1</C> stands The basis <>sub</> to begiven in form isit
action
and C<actionjava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 71
The ManSection
(,<A<A,java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 49
where <A>basis</A> is a basis< ".java.lang.StringIndexOutOfBoundsException: Range [52, 41) out of bounds for length 68
ted,the
returned list may be shorter.)
If no <A>type</Ajava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 16
The basis ManSection
</
All these java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
</Description>
</ManSection
<ManSection>
<Func Name="MTX.extending <A>sub</A>. (Actions which are not computed are omitted, so the
<Description>
returns a basis of The basis given in <A>sub</A> must be normed!
<</A>java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
Homomorphisms
standard <>module2<. </Description> </ManSection>
<ManSection> <FuncName="MTX.BasisModuleEndomorphismsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<Description> returnsbasisallmodulefromAmodule<Ato<A>module</A>. </basisjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 80 </Func="=module1/
< If<A<uncName=MTX.ModuleAutomorphismsArg='odule'> hisreturnsanisomorphism<>module1</A>toAmodule2<Ajava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74 informofmatrixjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 ItreturnsK>ail<K>ifthemodulesarenotisomorphic. </Description> </ManSection>
<ManSection> <FuncName="MTX<escription>
<Description> returnsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 from<A<FuncName=MTX.java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 58 /> </ManSection>
<>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<standardjava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 69
< irreduciblejava.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 63
followingare lower-evel functionsthat providehomomorphism
functionalityforirreduciblemodules.Genericcodeshoulduse the functions
in Section
<
returns <Description
and </ManSection
irreducible. It java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
the results are unpredictable.
The isomorphism is given by
the standard returns a basis of the space of all homomorphisms from the irreducible module
<A<A>module1<A to <A>module2/A>
That/Description
java.lang.StringIndexOutOfBoundsException: Range [13, 3) out of bounds for length 33
</java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 0
</FuncName=MTX.Distinguish Arg=cf '>
<Description>
<java.lang.StringIndexOutOfBoundsException: Range [9, 2) out of bounds for length 67
java.lang.StringIndexOutOfBoundsException: Range [57, 8) out of bounds for length 62
This function verifies that <A>mat</A>
really does define on all composition factors except number <A>nr</A>.
corresponding homomorphism between the row of java.lang.StringIndexOutOfBoundsException: Range [67, 68) out of bounds for length 67
modules. This can
</Description>
</ManSection>
<Description>
returns a basis of the space of all homomorphismsHeading>MeatAxe for Forms<Heading
<</A> to <A>module2</A>java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
</Description>java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 53
</ManSection>
<ManSection>
<Func Name="MTX.of <A>module</A>, or <K> java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 56
<java.lang.StringIndexOutOfBoundsException: Range [10, 7) out of bounds for length 68
LetmoduleA,
This tofind a element thathas
nall composition exceptnumberA><A.
</Description>
</java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
</Sectionjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->>
<SectionLabel" >
<Heading>MeatAxe Functionality for
The in sectioncanonlybe applied to anabsolutely irreducible
MeatAxejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
<ManSection>
<Name=MTX." Arg='module'/>
<Description>
returns Description
of ManSection
</Description>
<Section
<Description>
eturns an invarianthermitian (-adjoint) sesquilinear formof
<A>module/>
which
K nosuchform exists
</Description
</ManSection
<# =MInvariantQuadraticForm
<ManSection>
e"TX."Arg='odule/>
<Description>
java.lang.StringIndexOutOfBoundsException: Range [15, 7) out of bounds for length 82
in an orbit of the action of the java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [55, 4) out of bounds for length 77
</Description>
</ManSection>
<#Include Label="java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 0
</Section>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->elementwith possible nullspace ifA><A
<Section Label="/java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
<>
The standard MeatAxe provided in the
based on the MeatAxe in the Function to sort the output of <C>Homomorphisms</C>.
originally />
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
is max>A/
For the sake of completeness java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 75
functions of this MeatAxe
<ManSection>
<Func Name="Name"MTXSetter '>
<Description>
returns java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 73
</ S. '>
</ManSection>
<ManSection>
<Func java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 51
<Description>
anelementminimal if<module
is known to be irreducible.
</java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
<ManSection
<ManSection>
<Func Name="called obtain a submodule.
<Description>
Function
</Description>
</ManSection>
<Description>
returns (at most <A>max</A>) bases of submodules of composition It<C>istinguishC has beencalled
isomorphic to the irreducible module <A>module1</A>.
</Description>
</ManSection>
<Description>
returns a setter function for the component <C>smashMeataxe.(string)</C>.
</Description>
</</Description
<>
<Func Name
<escription>
returnsFunc Name".MatrixSum"Arg'atrices1,matrices2'/>
</Description>
</ManSectioncreates the sum oftwomatrixlists.
<java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
<Func Name=
<>
for andsetsa ifreducible. neithersets
an irreducibility flag, <Description
ManSection>
</Description>
</ManSection>
<ManSection>
<Func Name="SMTX<java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
<Description>
Tests absoluteirreducibilitysets splitting fielddegree.It
neither setsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
</Description>
</anSection
>
<Func Func NameSMTX.Subbasis" Arg='odule/>
<Description>
returns the basis of a
compositionfactor assumes CDistinguish/ has called
</>
</java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
<ManSection>
<</Descriptiojava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14
extends
yof<>module/> returns it succeeded.
</Description>
</ManSection>
The following getter Name="SMTX.AlgElCharPolFac" Arg='module'/>
Description ="
<java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
<Funcjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
<Description>
Basis
</<Description
</ManSection>
<java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
<Func Name="java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 13
<Description>
java.lang.StringIndexOutOfBoundsException: Range [38, 4) out of bounds for length 76
</Description>
</ManSection>
<ManSection>
<Func Name="
<Description>
matrix of <Ref Func="SMTX.AlgEl"/>.
</Description>
</ManSection>
<Description>
matrix centralising all generators which is computed as
a byproduct of <Ref Func="SMTX.AbsoluteIrreducibilityTest"/>.
</Description>
</ManSection>
<Description>
minimal polynomial of <Ref Func="SMTX.CentMat"/>.
</Description>
</ManSection>
</Section>
</Chapter>
Messung V0.5 in Prozent
¤ 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.0.10Bemerkung:
¤
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.