% This file was created automatically from autom.msk.
% DO NOT EDIT!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Noninitial automata}
In this p>Arguments=Arg>/ar>- aninfinitelist. b >/
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Definition}
\>MealyAutomaton( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
\M(string> )O
\>MealyAutomaton( <autom> ) O
\>MealyAutomaton( <tree_hom_list> ) O
\>MealyAutomaton( <list>, <java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
\>( <list>, <true>) java.lang.StringIndexOutOfBoundsException: Range [36, 37) out of bounds for length 36
Creates java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
or <autom>. Format of the argument <table> is
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 68
positiveintegers whichrepresent transition function at thegiven state anda
permutation or transformation which represent the output function at this
state. Format ofjava.lang.StringIndexOutOfBoundsException: Range [15, 12) out of bounds for length 73
The third form of this operation takes a tree homomorphism <autom> as its argument
It returns <p>Returns: The java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 58
corresponds to <autom> <p><a id="X7A311EBE79F31AEAa id" name=X7A311EBE79F31AEA"<>/>
of the states of all tree homomorphisms from the <tree_hom_list>.
\beginexample
gap> A := MealyAutomaton([[1,2,(1<>.-36FinitePartAsList</h5
<automaton>
gap> Display(A);
a = java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
gap>B:MealyAutomaton([,,([11),31(][,,1,)][a,b""c");
<automaton>
gap> Display(B);
a = (a, b)[ 1, 1 ], b = (c, a), c = (c, c)[ 2, 1 ]
gap> D := MealyAutomaton("a=(a,b)(1,2), b=(b,a)");
<automaton>
gap> Display(D);
a = (a, b)(1,2), b = (b, a)
gap> Basilica := AutomatonGroup( "u=(v,1)(1,2), v=(u,1)" );
< u, v >
gap> M := MealyAutomaton(u*v*u^-3);
<automaton>
gap> Display(M);
a1 = (a2, a5), a2 = (a3, a4), a3 = (a4, a2)(1,2)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
()(1,)
\endexample
If <list> consists of tree homomorphisms, it creates a noninitial automaton
constructed of their states. If < within the index range of <var class="Arg">list</var>.</p>
to name the states of the newly constructed automaton. If it is <true>
then states of automata from the <list> are used. If it <false> then new
states are named a_1, a_2, etc.
\beginexample
gap> G := AutomatonGroup("a=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<<p><a ="X8028ED6883CFA39C" name="X8028ED6883CFA39C"></a></p>
gap> MealyAutomaton([a*b]);; Display(last);
a1 = (a2, a4)(1,2), a2 = (a3, a1), a3 = (a3, a1)(1,2), a4 = (a2, a4)
gap<5102-7PositivePartFrom</5java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
<a*b> = (<b^2>, <a^2> =f width"100
gap> MealyAutomaton([a*b], String);; Display(last);
a*b = (b^2, a^2)(1,2), b^2 = (b*a, </ar>-an infinite , <ar =Arg"pos<var> -an java.lang.StringIndexOutOfBoundsException: Range [107, 103) out of bounds for length 114
\endexample
\>IsMealyAutomatonp:Anlist(>/m> a infinite list)with range from <code class="code">pos</code> to <code class="code">UpperBound(list)</code>.</p>
A category of non-initial finite Mealy automata
output alphabet.
\>NumberOfStates( <A> ) A
Returns the number of states of the automaton <A>.
\SizeOfAlphabet( <A> )A
Returns the number of letters in the alphabet java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
\>AutomatonList( <A> )!{ for automaton} A
Returns the list of <java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Tools}
\IsTrivial(<A P
Computes whether the automaton <A> is equivalent to the trivial
\beginexample
gap> A := MealyAutomaton("a=(c,c), b=(a,b), c=(b,a)");
<automaton>
gap> IsTrivial(A)<> java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 190
true
\endexample
\>IsInvertible( <A> ) P
Is `true' if <A> is invertible and `false' otherwise.
\>MinimizationOfAutomaton( <A> ) F
Returns the <p<id= "X81F7B0AB84D6319B>/>/p>
implementation of this function was significantly optimized by Andreyjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
starting from <h5>10.2-39 Shift>10.-9Shift</>
\beginexample
gap> B := MealyAutomaton("a=(1,a
<automaton>
gap> C := MinimizationOfAutomaton(B);
<automaton>
gap class=func"<table=java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 246
a = (1, a)(1,2), c = (a, a), 1 = (1, 1)
\endexample
\>p>Arguments var class=A"list</var>--an , var "Arg>shift/var> -an integer.br /</>
Returns the list `[A_new, new_via_old, old_via_new]', where `A_new' is an
automaton obtained from java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
`new_via_old' describes howpA var =Arg><var>with all shifted< ="></>to the rightif v class=Arg"shift</ar>is ,and left var class="Arg">shift</var> is negative.</p>
`old_via_new' describes how old states are java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 0
The implementation of this <p>< id="name=X80153272857B2EDE>/a></
starting from Version 1.3.
\beginexample
gap> B := MealyAutomaton("a=(1,a)(1,2), b=(<h5>02-0 </5java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
<automaton>
gap> B_min :=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
[ <automaton>, [ 1, 3, 5 =java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 299
gap> Display(B_min[1]);
a = (1, a)(1,2), c = (a, a), 1 = (1, 1)
\endexample
\>IsOfPolynomialGrowth( <A> ) P
Determines whether the automaton <A> has polynomial growth in java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<> java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 281
`' "PolynomialDegreeOfGrowth"java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
\beginexample
gap> java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<automaton>
ap>IsOfPolynomialGrowthB;
true
gap> D := MealyAutomaton("a=(a,b)(1,2), b=(b,a)");
<automaton>
gap> IsOfPolynomialGrowth(D);
false
\endexample
\>IsBounded( <A> ) P
Determines whether the automaton <A> is bounded
See also `IsOfPolynomialGrowth' (" class""< java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 225
and `PolynomialDegreeOfGrowth "")
\beginexample
gap> B := MealyAutomaton("a=(b,1)(1,2), b=(a,1)");
<automaton>
gap> IsBounded(B);
true
gap> C := MealyAutomaton("a=(a,b)(1,2), b=(b,c), c=(c,1)(1,2)");
<automaton><p>Arguments var class=Arg"arg</ar -a number infinite .<br/</p>
gap> IsBounded(C);
false
\endexample
\>PolynomialDegreeOfGrowth( <A> ) A
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
determines its degree <>java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 36
polynomial growth. This degree is 0 if and only if automaton is java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 0
If the growth of automaton is exponential returns `fail'.
See also `IsOfPolynomialGrowth' ("IsOfPolynomialGrowth")
and `IsBounded' (<p> the of< class=Arg"/var>is greater equalto<"2/> thenew thefollowingparts:has thepositivepartof code class"[/>andmiddlepartofthejava.lang.StringIndexOutOfBoundsException: Range [293, 292) out of bounds for length 626
\beginexample
gap> B := MealyAutomaton("a=(b,1)(1,2), b=(a,1)");
<automaton>
gap> PolynomialDegreeOfGrowth(B);
0
gap> C := MealyAutomaton("a=(a,b)(1,2), b=(b,c), c=(c,1)(1,2)");
<automaton>
gap> PolynomialDegreeOfGrowth(C);
2
\endexample
\>AdjacencyMatrix( <A> ) A
Returns java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
contains the number of arrows in the Moore<iv ="<re>
\beginexample
gap> A:=MealyAutomaton("a=(a,a,b)(1,2,3),b=(a,c<java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 112
<automaton>
gap> AdjacencyMatrix(A);
[ [ 2, 1, 0 ], [ 1, 1, 1 ], [ 3, 0, 0 ] ]
\endexample
\>IsAcyclic( <A> ) P
Computes whether or not an automaton <A> is acyclic in the <span class="GAPprompt">gap></span> <span class="GAPinput">g) returnx+;end</java.lang.StringIndexOutOfBoundsException: Range [103, 102) out of bounds for length 103
.. true'ifthe Moore diagram <A> doesnot contain cycles two or more
states and `false' otherwise.
\beginexample
gap> A := MealyAutomaton("a=(a,a,b)(1,2,3),b=spanclass=""gapg;</span><pan "GAPinput>: ( ,[10] p, f false ,<span>
<automaton>
gap> span classGAPprompt">>span ="GAPinput>[ r,[10 ] java.lang.StringIndexOutOfBoundsException: Range [119, 118) out of bounds for length 128
true
gap> A := MealyAutomaton("a=(a,a,b)(1,2,3),b=(c,c,d)(1,2),c=(d,c,1),d=(&t;g;
<automaton>
ap IsAcyclic(java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
false
\endexample
\><panclass"GAPprompt">><span <panclass="GAPinput"> [ "repeat", [ 20, 25 ] ], false );</span>
Returns the automaton dual of <A>.
\eginexample
gap> A := MealyAutomaton("a=(b,a)(1,2), b=(b,a)");
<java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 11
gap> D := DualAutomaton(A);
<automaton>
gap> Display(D);
d1 = (d2, d1)[ 2, 2 ], d2 = (d1, d2)[ 1, 1 ]
\ndexample
\>InverseAutomaton( <A> ) O
Returns the automaton inverse to <A> if <A> is invertible.
\beginexample
gap> A := MealyAutomaton(class=GAPprompt>&;<span><pan class=GAPinput>(concList;/pan>
<automaton>
gap> B := InverseAutomaton(A);
<automaton>
gap> 30,20,10
a1 = (a1, a2)(1,2), a2 = (a2, a1)
\endexample
\>IsBireversible( <A> ) P
Computes whether or not the automaton <A> is<>Thenewly created <class=code"concList</ode>looks asjava.lang.StringIndexOutOfBoundsException: Range [79, 72) out of bounds for length 100
the dual of the inverse of <A<p class=pcenter">
Bellaterra automaton is bireversible.
\beginexample
gap> \egin{array}{lrrrrrrrrrrr}
<automaton>
gap> IsBireversible(Bellaterra);
true
\endexample
\>IsReversible( <A> ) P
java.lang.StringIndexOutOfBoundsException: Range [65, 8) out of bounds for length 77
is invertible.
\>IsIRAutomaton( <A> ) P
Computes whether not theautomaton A is an -java.lang.StringIndexOutOfBoundsException: Range [62, 60) out of bounds for length 99
The example below shows that the automaton generating lamplighter group is an IR-\textv};java.lang.StringIndexOutOfBoundsException: Range [29, 27) out of bounds for length 35
\
gap> L := MealyAutomaton("a=(b,a)(1,2), b=(a,b)");
<automaton>
gap> IsIRAutomaton(L);
true
\endexample
The next three commands deal with the, so-called, MD-reduction procedure developed
in~\cite{AKL}. Particularly, according
o\cite{KLI}, a 2-letter or 2-state invertible reversible automaton
generates a finite group if and only if the MD-reduction procedure terminates with the
trivial
\>MDReduction( <A> ) O
Performs the process of MD-reduction of automaton <A> (alternating
applications of minimization and dualization procedures) until a pair of
minimal automata dual to each other is reached. Returns this pair. The
point
original automaton is finite if and only each of the (><java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 247
by the outputautomata is finite.
\beginexample
gap> A:=MealyAutomaton("a=(d,d,d,d)(1,2)(3,4),b=(b,b,b,b)(1,4)(2,3),\\
> c=(a,c,a,c), d=(<pArguments:var""<> java.lang.StringIndexOutOfBoundsException: Range [61, 56) out of bounds for length 163
<automaton>
gap> NumberOfStates(MinimizationOfAutomaton(A));
4
gap> MDR:=MDReduction(A);
[ <automaton>, <automaton> ]
gap>Display(MDR1]);
d1 = (d2, d2, d1, d1)(1,4,3), d2 = (java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0
gap> Display(MDR[2]);
d1 = (d4, d4)
\endexample
\>IsMDTrivial( <A> ) P
Returns `true' if <A> is MD-trivial (i.e. if MD-reduction proedure returns the
trivial automaton) and `false' div class="func"><table class="func
\>IsMDReduced( <A> ) P
Returns `true' if <A> is MD-reduced and `false' otherwise.
\>DisjointUnion(<> range<spanclass""(∞)</pan>where the at span "SimpleMath"i/span>isthe number < java.lang.StringIndexOutOfBoundsException: Range [158, 157) out of bounds for length 228
Constructs the disjoint union of automata <A> and
\beginexample
gap> Apa=java.lang.StringIndexOutOfBoundsException: Range [35, 27) out of bounds for length 62
<automaton>
gap
<automaton>
gap> Display(DisjointUnion(A, B));
a1=(a1 a2(1,2, a2 = a,a2)a3 =( a3) a4 = (3 a5)
(1,2), a5 = (a5, a4)
\endexample
\>`<A> \* <B>'{product}!{ for noninitial automata}
Constructs the product of 2 noninitial automata <A> and <B>.
\beginexample
gap> A := MealyAutomaton("a=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<automaton>
gap> B := MealyAutomaton("c=(d<p> "X7F0E546178977963 name="7F0E546178977963"/><p
<automaton>
gap> Print(A*B);
a1 = (a1, a5)(1,2), a2 = (a3, a4), a3 = (a2, a6)
(1,2), a4 = (a2, a4), a5 = (a1, a6)(1,2), a6 = (a3, a5)
\endexample
\><iv "func>table "func "%"><><td class="tdleft"><code class="func">8227; IsCat</code></td><td class="tdright">( category )</td></tr></table></div>
Returns the minimal subautomaton of the automaton <<p>Thecategory categories. A category is a record, storing a number of properties that is specified within each category. Two categories can be compared using <code class="code">=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
\beginexample
gap> A
<automaton>
gap> Display(SubautomatonWithStates(A, [1, 4
a = (e, d)(1,2), d = (a, e)(1,2), e = (e, d)
\endexample
\>AutomatonNucleus( <A> ) O
Returns the nucleus of the automaton<>Arguments var class="A<var>-- a (quotient a) path algebra.<br /></p>
containing all cycles in <A>.
\beginexample
gap> A := MealyAutomaton("java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<automaton>
gap> Display(AutomatonNucleus(span class="Math>A</pan>/p>
b = (d, d), d = (d, b)(1,2)
\endexample
\><>mod<spanclass=Math>A</span> has several properties, which can be accessed using the <code class="code">.</code> mark. Some of the properties store functions. All properties are demonstrated in the following example.</p>
Returns `true' if for every state `s' of the automaton<l
equivalent to `s' and vice versa.
\beginexample
gap><>p>""z<code>-returns the zeromodule of mod span class=Math">A</span>.</p>
<automaton>
gap> B := MealyAutomaton("b=(a,c), c=(b,c)(1,2), a=(b,a)(1,2), d=(b,c)(1,2)");
<automaton>
</i>
true
\endexample
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
¤ Dauer der Verarbeitung: 0.6 Sekunden
¤
*© Formatika GbR, Deutschland
|
|