Beispiel "Autosegmentale Phonologie" mit Transfermatrix-MethodeTransfermatrix f\374r das Verbindungsproblem:Codierung der Verbindungsstrukturen durch Zust\344nde: 1 = p (= previous) --> p, pc, pcf 2 = c (= current) --> p, c, pc, pcf, cf 3 = f (= following) --> c, f, cf 4 = pc (= previous and current) --> p, c, pc, pcf, cf 5 = pcf (= previous and current and following) --> c, f, cf6 = cf (= current and following) -- > c, f, cfA := array(1..6,1..6, [
[1,0,0,1,1,0],
[1,1,0,1,1,1],
[0,1,1,0,0,1],
[1,1,0,1,1,1],
[0,1,1,0,0,1],
[0,1,1,0,0,1]]);with(linalg):Berechnung des charakteristischen Polynoms der Transfermatrixcharpoly(A,lambda);Berechnung des Minimalpolynomsminpoly(A,lambda);factor(%);Die Faktorisierung deutet schon an, dass das Ergebnis nicht sehr kompliziert sein wird!Direkter Ansatz zur Berechnung der erzeugenden Funktion mittels Matrix-Inversion:Id := array(sparse,identity,1..6,1..6);evalm(Id-z*A);M := inverse(%);Das sieht schlimmer aus, als es ist! Man muss nun noch ber\374cksichtigen, dass c und cf Anfangszust\344nde, sowie c und pc Endzust\344nde sind.M[2,2]+M[2,4]+M[6,2]+M[6,4];V(z) := normal(%);Voila! Das erwartete Ergebnis! Zur Kontrolle:taylor(V(z),z,10);Noch ein Blick auf die Nullstellen:solve(denom(V(z)),z);Daraus erh\344lt man die Potenzsummendarstellung.Man kann das aber auch direkt angehenrsolve({a(n+2)=4*a(n+1)-a(n),a(0)=1,a(1)=3},a(n));Vorsicht: in dieser Rekursion z\344hlt a(n) die Anzahl der Verbindungsstrukturen mit 2(n+1) Knoten.