-- zu Beispiel 4.2.1. --a) --TruncMult für 3x3 Use P::=Q[x[1..9]]; --F:=Poincare(P/Ideal(0)); --- Non-simplified HilbertPoincare' Series --- --(1) / ( (1-x[1]x[2]x[5]x[8]) (1-x[1]x[2]x[6]) (1-x[1]x[2]x[7]x[9]) (1-x[1]x[3]x[5]) (1-x[1]x[3]x[6]x[8]x[9]) (1-x[1]x[3]x[7]) -- (1-x[1]x[4]x[5]) (1-x[1]x[4]x[6]) (1-x[1]x[4]x[7]x[8]x[9]) ) ------------------------------- F1:=[x[1]^15x[2]^15x[5]^15x[8]^15 , x[1]^14x[2]^14x[5]^14x[8]^14 , x[1]^13x[2]^13x[5]^13x[8]^13 , x[1]^12x[2]^12x[5]^12x[8]^12 , x[1]^11x[2]^11x[5]^11x[8]^11 , x[1]^10x[2]^10x[5]^10x[8]^10 , x[1]^9x[2]^9x[5]^9x[8]^9 , x[1]^8x[2]^8x[5]^8x[8]^8 , x[1]^7x[2]^7x[5]^7x[8]^7 , x[1]^6x[2]^6x[5]^6x[8]^6 , x[1]^5x[2]^5x[5]^5x[8]^5 , x[1]^4x[2]^4x[5]^4x[8]^4 , x[1]^3x[2]^3x[5]^3x[8]^3 , x[1]^2x[2]^2x[5]^2x[8]^2 , x[1]x[2]x[5]x[8] , 1]; F2:=[x[1]^15x[2]^15x[6]^15 , x[1]^14x[2]^14x[6]^14 , x[1]^13x[2]^13x[6]^13 , x[1]^12x[2]^12x[6]^12 , x[1]^11x[2]^11x[6]^11 , x[1]^10x[2]^10x[6]^10 , x[1]^9x[2]^9x[6]^9 , x[1]^8x[2]^8x[6]^8 , x[1]^7x[2]^7x[6]^7 , x[1]^6x[2]^6x[6]^6 , x[1]^5x[2]^5x[6]^5 , x[1]^4x[2]^4x[6]^4 , x[1]^3x[2]^3x[6]^3 , x[1]^2x[2]^2x[6]^2 , x[1]x[2]x[6] , 1]; F3:=[x[1]^15x[2]^15x[7]^15x[9]^15 , x[1]^14x[2]^14x[7]^14x[9]^14 , x[1]^13x[2]^13x[7]^13x[9]^13 , x[1]^12x[2]^12x[7]^12x[9]^12 , x[1]^11x[2]^11x[7]^11x[9]^11 , x[1]^10x[2]^10x[7]^10x[9]^10 , x[1]^9x[2]^9x[7]^9x[9]^9 , x[1]^8x[2]^8x[7]^8x[9]^8 , x[1]^7x[2]^7x[7]^7x[9]^7 , x[1]^6x[2]^6x[7]^6x[9]^6 , x[1]^5x[2]^5x[7]^5x[9]^5 , x[1]^4x[2]^4x[7]^4x[9]^4 , x[1]^3x[2]^3x[7]^3x[9]^3 , x[1]^2x[2]^2x[7]^2x[9]^2 , x[1]x[2]x[7]x[9] , 1]; F4:=[x[1]^15x[3]^15x[5]^15 , x[1]^14x[3]^14x[5]^14 , x[1]^13x[3]^13x[5]^13 , x[1]^12x[3]^12x[5]^12 , x[1]^11x[3]^11x[5]^11 , x[1]^10x[3]^10x[5]^10 , x[1]^9x[3]^9x[5]^9 , x[1]^8x[3]^8x[5]^8 , x[1]^7x[3]^7x[5]^7 , x[1]^6x[3]^6x[5]^6 , x[1]^5x[3]^5x[5]^5 , x[1]^4x[3]^4x[5]^4 , x[1]^3x[3]^3x[5]^3 , x[1]^2x[3]^2x[5]^2 , x[1]x[3]x[5] , 1]; F5:=[x[1]^15x[3]^15x[6]^15x[8]^15x[9]^15 , x[1]^14x[3]^14x[6]^14x[8]^14x[9]^14 , x[1]^13x[3]^13x[6]^13x[8]^13x[9]^13 , x[1]^12x[3]^12x[6]^12x[8]^12x[9]^12 , x[1]^11x[3]^11x[6]^11x[8]^11x[9]^11 , x[1]^10x[3]^10x[6]^10x[8]^10x[9]^10 , x[1]^9x[3]^9x[6]^9x[8]^9x[9]^9 , x[1]^8x[3]^8x[6]^8x[8]^8x[9]^8 , x[1]^7x[3]^7x[6]^7x[8]^7x[9]^7 , x[1]^6x[3]^6x[6]^6x[8]^6x[9]^6 , x[1]^5x[3]^5x[6]^5x[8]^5x[9]^5 , x[1]^4x[3]^4x[6]^4x[8]^4x[9]^4 , x[1]^3x[3]^3x[6]^3x[8]^3x[9]^3 , x[1]^2x[3]^2x[6]^2x[8]^2x[9]^2 , x[1]x[3]x[6]x[8]x[9] , 1]; F6:=[x[1]^15x[3]^15x[7]^15 , x[1]^14x[3]^14x[7]^14 , x[1]^13x[3]^13x[7]^13 , x[1]^12x[3]^12x[7]^12 , x[1]^11x[3]^11x[7]^11 , x[1]^10x[3]^10x[7]^10 , x[1]^9x[3]^9x[7]^9 , x[1]^8x[3]^8x[7]^8 , x[1]^7x[3]^7x[7]^7 , x[1]^6x[3]^6x[7]^6 , x[1]^5x[3]^5x[7]^5 , x[1]^4x[3]^4x[7]^4 , x[1]^3x[3]^3x[7]^3 , x[1]^2x[3]^2x[7]^2 , x[1]x[3]x[7] , 1]; F7:=[x[1]^15x[4]^15x[5]^15 , x[1]^14x[4]^14x[5]^14 , x[1]^13x[4]^13x[5]^13 , x[1]^12x[4]^12x[5]^12 , x[1]^11x[4]^11x[5]^11 , x[1]^10x[4]^10x[5]^10 , x[1]^9x[4]^9x[5]^9 , x[1]^8x[4]^8x[5]^8 , x[1]^7x[4]^7x[5]^7 , x[1]^6x[4]^6x[5]^6 , x[1]^5x[4]^5x[5]^5 , x[1]^4x[4]^4x[5]^4 , x[1]^3x[4]^3x[5]^3 , x[1]^2x[4]^2x[5]^2 , x[1]x[4]x[5] , 1]; F8:=[x[1]^15x[4]^15x[6]^15 , x[1]^14x[4]^14x[6]^14 , x[1]^13x[4]^13x[6]^13 , x[1]^12x[4]^12x[6]^12 , x[1]^11x[4]^11x[6]^11 , x[1]^10x[4]^10x[6]^10 , x[1]^9x[4]^9x[6]^9 , x[1]^8x[4]^8x[6]^8 , x[1]^7x[4]^7x[6]^7 , x[1]^6x[4]^6x[6]^6 , x[1]^5x[4]^5x[6]^5 , x[1]^4x[4]^4x[6]^4 , x[1]^3x[4]^3x[6]^3 , x[1]^2x[4]^2x[6]^2 , x[1]x[4]x[6] , 1]; F9:=[x[1]^15x[4]^15x[7]^15x[8]^15x[9]^15 , x[1]^14x[4]^14x[7]^14x[8]^14x[9]^14 , x[1]^13x[4]^13x[7]^13x[8]^13x[9]^13 , x[1]^12x[4]^12x[7]^12x[8]^12x[9]^12 , x[1]^11x[4]^11x[7]^11x[8]^11x[9]^11 , x[1]^10x[4]^10x[7]^10x[8]^10x[9]^10 , x[1]^9x[4]^9x[7]^9x[8]^9x[9]^9 , x[1]^8x[4]^8x[7]^8x[8]^8x[9]^8 , x[1]^7x[4]^7x[7]^7x[8]^7x[9]^7 , x[1]^6x[4]^6x[7]^6x[8]^6x[9]^6 , x[1]^5x[4]^5x[7]^5x[8]^5x[9]^5 , x[1]^4x[4]^4x[7]^4x[8]^4x[9]^4 , x[1]^3x[4]^3x[7]^3x[8]^3x[9]^3 , x[1]^2x[4]^2x[7]^2x[8]^2x[9]^2 , x[1]x[4]x[7]x[8]x[9] , 1]; Define TruncMult(P1,P2) D1:=NewList(137,[]); D2:=NewList(137,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 137 Do For J:=1 To 137-I Do Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; EndFor; Return Result; EndDefine; Define Shorten(L) For K:=1 To Len(L) Do If Deg(L[K])>137 Then L[K]:=0; Break; EndIf; --R:=Log(L[K]); --For J:=1 To Len(R) Do -- If R[J]>15 Then -- L[K]:=0; -- Break; -- EndIf; --EndFor; EndFor; L:=Diff(L,[0]); Return L; EndDefine; Define TruncMultDeg(P1,P2) D1:=NewList(137,[]); D2:=NewList(137,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 137 Do J:=137 - I; Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; Return Result; EndDefine; G1:=TruncMult(F1,F2); PrintLn("G1"); G1:=Shorten(G1); Print("gekürzt"); G2:=TruncMult(G1,F3); PrintLn("G2"); G2:=Shorten(G2); Print("gekürzt"); G3:=TruncMult(G2,F4); PrintLn("G3"); G3:=Shorten(G3); Print("gekürzt"); G4:=TruncMult(G3,F5); PrintLn("G4"); G4:=Shorten(G4); Print("gekürzt"); G5:=TruncMult(F6,F7); PrintLn("G5"); G5:=Shorten(G5); Print("gekürzt"); G6:=TruncMult(G5,F8); PrintLn("G6"); G6:=Shorten(G6); Print("gekürzt"); G7:=TruncMult(G6,F9); PrintLn("G7"); G7:=Shorten(G7); Print("gekürzt"); G8:=TruncMultDeg(G7,G4); PrintLn("G8"); M:=0; For K:=1 To Len(G8) Do If Log(G8[K])=[45,15,15,15,15,15,15,15,15] Then M:=M+1; EndIf; EndFor; M; --b) --TruncMult für 3x3 Use P::=Q[x[1..8]]; F1:=[x[1]^15x[4]^15x[7]^15 , x[1]^14x[4]^14x[7]^14 , x[1]^13x[4]^13x[7]^13 , x[1]^12x[4]^12x[7]^12 , x[1]^11x[4]^11x[7]^11 , x[1]^10x[4]^10x[7]^10 , x[1]^9x[4]^9x[7]^9 , x[1]^8x[4]^8x[7]^8 , x[1]^7x[4]^7x[7]^7 , x[1]^6x[4]^6x[7]^6 , x[1]^5x[4]^5x[7]^5 , x[1]^4x[4]^4x[7]^4 , x[1]^3x[4]^3x[7]^3 , x[1]^2x[4]^2x[7]^2 , x[1]x[4]x[7] , 1]; F2:=[x[1]^15x[5]^15 , x[1]^14x[5]^14 , x[1]^13x[5]^13 , x[1]^12x[5]^12 , x[1]^11x[5]^11 , x[1]^10x[5]^10 , x[1]^9x[5]^9 , x[1]^8x[5]^8 , x[1]^7x[5]^7 , x[1]^6x[5]^6 , x[1]^5x[5]^5 , x[1]^4x[5]^4 , x[1]^3x[5]^3 , x[1]^2x[5]^2 , x[1]x[5] , 1]; F3:=[x[1]^15x[6]^15x[8]^15 , x[1]^14x[6]^14x[8]^14 , x[1]^13x[6]^13x[8]^13 , x[1]^12x[6]^12x[8]^12 , x[1]^11x[6]^11x[8]^11 , x[1]^10x[6]^10x[8]^10 , x[1]^9x[6]^9x[8]^9 , x[1]^8x[6]^8x[8]^8 , x[1]^7x[6]^7x[8]^7 , x[1]^6x[6]^6x[8]^6 , x[1]^5x[6]^5x[8]^5 , x[1]^4x[6]^4x[8]^4 , x[1]^3x[6]^3x[8]^3 , x[1]^2x[6]^2x[8]^2 , x[1]x[6]x[8] , 1]; F4:=[x[2]^15x[4]^15 , x[2]^14x[4]^14 , x[2]^13x[4]^13 , x[2]^12x[4]^12 , x[2]^11x[4]^11 , x[2]^10x[4]^10 , x[2]^9x[4]^9 , x[2]^8x[4]^8 , x[2]^7x[4]^7 , x[2]^6x[4]^6 , x[2]^5x[4]^5 , x[2]^4x[4]^4 , x[2]^3x[4]^3 , x[2]^2x[4]^2 , x[2]x[4] , 1]; F5:=[x[2]^15x[5]^15x[7]^15x[8]^15 , x[2]^14x[5]^14x[7]^14x[8]^14 , x[2]^13x[5]^13x[7]^13x[8]^13 , x[2]^12x[5]^12x[7]^12x[8]^12 , x[2]^11x[5]^11x[7]^11x[8]^11 , x[2]^10x[5]^10x[7]^10x[8]^10 , x[2]^9x[5]^9x[7]^9x[8]^9 , x[2]^8x[5]^8x[7]^8x[8]^8 , x[2]^7x[5]^7x[7]^7x[8]^7 , x[2]^6x[5]^6x[7]^6x[8]^6 , x[2]^5x[5]^5x[7]^5x[8]^5 , x[2]^4x[5]^4x[7]^4x[8]^4 , x[2]^3x[5]^3x[7]^3x[8]^3 , x[2]^2x[5]^2x[7]^2x[8]^2 , x[2]x[5]x[7]x[8] , 1]; F6:=[x[2]^15x[6]^15 , x[2]^14x[6]^14 , x[2]^13x[6]^13 , x[2]^12x[6]^12 , x[2]^11x[6]^11 , x[2]^10x[6]^10 , x[2]^9x[6]^9 , x[2]^8x[6]^8 , x[2]^7x[6]^7 , x[2]^6x[6]^6 , x[2]^5x[6]^5 , x[2]^4x[6]^4 , x[2]^3x[6]^3 , x[2]^2x[6]^2 , x[2]x[6] , 1]; F7:=[x[3]^15x[4]^15x[8]^15 , x[3]^14x[4]^14x[8]^14 , x[3]^13x[4]^13x[8]^13 , x[3]^12x[4]^12x[8]^12 , x[3]^11x[4]^11x[8]^11 , x[3]^10x[4]^10x[8]^10 , x[3]^9x[4]^9x[8]^9 , x[3]^8x[4]^8x[8]^8 , x[3]^7x[4]^7x[8]^7 , x[3]^6x[4]^6x[8]^6 , x[3]^5x[4]^5x[8]^5 , x[3]^4x[4]^4x[8]^4 , x[3]^3x[4]^3x[8]^3 , x[3]^2x[4]^2x[8]^2 , x[3]x[4]x[8] , 1]; F8:=[x[3]^15x[5]^15 , x[3]^14x[5]^14 , x[3]^13x[5]^13 , x[3]^12x[5]^12 , x[3]^11x[5]^11 , x[3]^10x[5]^10 , x[3]^9x[5]^9 , x[3]^8x[5]^8 , x[3]^7x[5]^7 , x[3]^6x[5]^6 , x[3]^5x[5]^5 , x[3]^4x[5]^4 , x[3]^3x[5]^3 , x[3]^2x[5]^2 , x[3]x[5] , 1]; F9:=[x[3]^15x[6]^15x[7]^15 , x[3]^14x[6]^14x[7]^14 , x[3]^13x[6]^13x[7]^13 , x[3]^12x[6]^12x[7]^12 , x[3]^11x[6]^11x[7]^11 , x[3]^10x[6]^10x[7]^10 , x[3]^9x[6]^9x[7]^9 , x[3]^8x[6]^8x[7]^8 , x[3]^7x[6]^7x[7]^7 , x[3]^6x[6]^6x[7]^6 , x[3]^5x[6]^5x[7]^5 , x[3]^4x[6]^4x[7]^4 , x[3]^3x[6]^3x[7]^3 , x[3]^2x[6]^2x[7]^2 , x[3]x[6]x[7] , 1]; Define TruncMult(P1,P2) D1:=NewList(122,[]); D2:=NewList(122,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 122 Do For J:=1 To 122-I Do Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; EndFor; Return Result; EndDefine; Define Shorten(L) For K:=1 To Len(L) Do If Deg(L[K])>122 Then L[K]:=0; Break; EndIf; R:=Log(L[K]); For J:=1 To Len(R) Do If R[J]>15 Then L[K]:=0; Break; EndIf; EndFor; EndFor; L:=Diff(L,[0]); Return L; EndDefine; Define TruncMultDeg(P1,P2) D1:=NewList(122,[]); D2:=NewList(122,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 122 Do J:=122 - I; Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; Return Result; EndDefine; G1:=TruncMult(F1,F2); PrintLn("G1"); G1:=Shorten(G1); Print("gekürzt"); G2:=TruncMult(G1,F3); PrintLn("G2"); G2:=Shorten(G2); Print("gekürzt"); G3:=TruncMult(G2,F4); PrintLn("G3"); G3:=Shorten(G3); Print("gekürzt"); G4:=TruncMult(G3,F5); PrintLn("G4"); G4:=Shorten(G4); Print("gekürzt"); G5:=TruncMult(F6,F7); PrintLn("G5"); G5:=Shorten(G5); Print("gekürzt"); G6:=TruncMult(G5,F8); PrintLn("G6"); G6:=Shorten(G6); Print("gekürzt"); G7:=TruncMult(G6,F9); PrintLn("G7"); G7:=Shorten(G7); Print("gekürzt"); G8:=TruncMultDeg(G7,G4); PrintLn("G8"); M:=0; For K:=1 To Len(G8) Do If Log(G8[K])=[15,15,15,15,15,15,15] Then M:=M+1; EndIf; EndFor; M; --c) --TruncMult für 3x3 Use P::=Q[x[1..7]]; F1:=[x[1]^15x[4]^15x[6]^15 , x[1]^14x[4]^14x[6]^14 , x[1]^13x[4]^13x[6]^13 , x[1]^12x[4]^12x[6]^12 , x[1]^11x[4]^11x[6]^11 , x[1]^10x[4]^10x[6]^10 , x[1]^9x[4]^9x[6]^9 , x[1]^8x[4]^8x[6]^8 , x[1]^7x[4]^7x[6]^7 , x[1]^6x[4]^6x[6]^6 , x[1]^5x[4]^5x[6]^5 , x[1]^4x[4]^4x[6]^4 , x[1]^3x[4]^3x[6]^3 , x[1]^2x[4]^2x[6]^2 , x[1]x[4]x[6] , 1]; F2:=[x[1]^15x[5]^15 , x[1]^14x[5]^14 , x[1]^13x[5]^13 , x[1]^12x[5]^12 , x[1]^11x[5]^11 , x[1]^10x[5]^10 , x[1]^9x[5]^9 , x[1]^8x[5]^8 , x[1]^7x[5]^7 , x[1]^6x[5]^6 , x[1]^5x[5]^5 , x[1]^4x[5]^4 , x[1]^3x[5]^3 , x[1]^2x[5]^2 , x[1]x[5] , 1]; F3:=[x[1]^15x[7]^15, x[1]^14x[7]^14, x[1]^13x[7]^13 , x[1]^12x[7]^12 , x[1]^11x[7]^11 , x[1]^10x[7]^10 , x[1]^9x[7]^9 , x[1]^8x[7]^8 , x[1]^7x[7]^7 , x[1]^6x[7]^6 , x[1]^5x[7]^5 , x[1]^4x[7]^4 , x[1]^3x[7]^3 , x[1]^2x[7]^2 , x[1]x[7] , 1]; F4:=[x[2]^15x[4]^15 , x[2]^14x[4]^14 , x[2]^13x[4]^13 , x[2]^12x[4]^12 , x[2]^11x[4]^11 , x[2]^10x[4]^10 , x[2]^9x[4]^9 , x[2]^8x[4]^8 , x[2]^7x[4]^7 , x[2]^6x[4]^6 , x[2]^5x[4]^5 , x[2]^4x[4]^4 , x[2]^3x[4]^3 , x[2]^2x[4]^2 , x[2]x[4] , 1]; F5:=[x[2]^15x[5]^15x[7]^15x[6]^15 , x[2]^14x[5]^14x[7]^14x[6]^14 , x[2]^13x[5]^13x[7]^13x[6]^13 , x[2]^12x[5]^12x[7]^12x[6]^12 , x[2]^11x[5]^11x[7]^11x[6]^11 , x[2]^10x[5]^10x[7]^10x[6]^10 , x[2]^9x[5]^9x[7]^9x[6]^9 , x[2]^8x[5]^8x[7]^8x[6]^8 , x[2]^7x[5]^7x[7]^7x[6]^7 , x[2]^6x[5]^6x[7]^6x[6]^6 , x[2]^5x[5]^5x[7]^5x[6]^5 , x[2]^4x[5]^4x[7]^4x[6]^4 , x[2]^3x[5]^3x[7]^3x[6]^3 , x[2]^2x[5]^2x[7]^2x[6]^2 , x[2]x[5]x[7]x[6] , 1]; F6:=[x[2]^15 , x[2]^14 , x[2]^13 , x[2]^12 , x[2]^11 , x[2]^10 , x[2]^9 , x[2]^8 , x[2]^7 , x[2]^6 , x[2]^5 , x[2]^4 , x[2]^3 , x[2]^2 , x[2] , 1]; F7:=[x[3]^15x[4]^15x[7]^15 , x[3]^14x[4]^14x[7]^14 , x[3]^13x[4]^13x[7]^13 , x[3]^12x[4]^12x[7]^12 , x[3]^11x[4]^11x[7]^11 , x[3]^10x[4]^10x[7]^10 , x[3]^9x[4]^9x[7]^9 , x[3]^8x[4]^8x[7]^8 , x[3]^7x[4]^7x[7]^7 , x[3]^6x[4]^6x[7]^6 , x[3]^5x[4]^5x[7]^5 , x[3]^4x[4]^4x[7]^4 , x[3]^3x[4]^3x[7]^3 , x[3]^2x[4]^2x[7]^2 , x[3]x[4]x[7] , 1]; F8:=[x[3]^15x[5]^15 , x[3]^14x[5]^14 , x[3]^13x[5]^13 , x[3]^12x[5]^12 , x[3]^11x[5]^11 , x[3]^10x[5]^10 , x[3]^9x[5]^9 , x[3]^8x[5]^8 , x[3]^7x[5]^7 , x[3]^6x[5]^6 , x[3]^5x[5]^5 , x[3]^4x[5]^4 , x[3]^3x[5]^3 , x[3]^2x[5]^2 , x[3]x[5] , 1]; F9:=[x[3]^15x[6]^15 , x[3]^14x[6]^14 , x[3]^13x[6]^13 , x[3]^12x[6]^12 , x[3]^11x[6]^11 , x[3]^10x[6]^10 , x[3]^9x[6]^9 , x[3]^8x[6]^8 , x[3]^7x[6]^7 , x[3]^6x[6]^6 , x[3]^5x[6]^5 , x[3]^4x[6]^4 , x[3]^3x[6]^3 , x[3]^2x[6]^2 , x[3]x[6] , 1]; Define TruncMult(P1,P2) D1:=NewList(107,[]); D2:=NewList(107,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 107 Do For J:=1 To 107-I Do Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; EndFor; Return Result; EndDefine; Define Shorten(L) For K:=1 To Len(L) Do If Deg(L[K])>107 Then L[K]:=0; Break; EndIf; R:=Log(L[K]); For J:=1 To Len(R) Do If R[J]>15 Then L[K]:=0; Break; EndIf; EndFor; EndFor; L:=Diff(L,[0]); Return L; EndDefine; Define TruncMultDeg(P1,P2) D1:=NewList(107,[]); D2:=NewList(107,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 107 Do J:=107 - I; Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; Return Result; EndDefine; G1:=TruncMult(F1,F2); PrintLn("G1"); G1:=Shorten(G1); Print("gekürzt"); G2:=TruncMult(G1,F3); PrintLn("G2"); G2:=Shorten(G2); Print("gekürzt"); G3:=TruncMult(G2,F4); PrintLn("G3"); G3:=Shorten(G3); Print("gekürzt"); G4:=TruncMult(G3,F5); PrintLn("G4"); G4:=Shorten(G4); Print("gekürzt"); G5:=TruncMult(F6,F7); PrintLn("G5"); G5:=Shorten(G5); Print("gekürzt"); G6:=TruncMult(G5,F8); PrintLn("G6"); G6:=Shorten(G6); Print("gekürzt"); G7:=TruncMult(G6,F9); PrintLn("G7"); G7:=Shorten(G7); Print("gekürzt"); G8:=TruncMultDeg(G7,G4); PrintLn("G8"); M:=0; For K:=1 To Len(G8) Do If Log(G8[K])=[15,15,15,15,15,15,15] Then M:=M+1; EndIf; EndFor; M; --zu Bemerkung 4.2.2. Use P::=Q[x[1..9]]; /*HS:=1/ (1-x[1]x[5]x[8])(1-x[1]x[6])(1-x[1]x[7])(1-x[1]x[9])(1-x[2]x[5])(1-x[2]x[6]x[8])(1-x[2]x[7]x[9])(1-x[2]) (1-x[3]x[5])(1-x[3]x[6]x[9])(1-x[3]x[7]x[8])(1-x[3])(1-x[4]x[5]x[9])(1-x[4]x[6])(1-x[4]x[7])(1-x[4]x[8]) L:=NewList(34); For K:=1 To 34 Do L[K]:=(x[1]^K x[5]^K x[8]^K); EndFor; --L;*/ F1:=[1,x[1]x[5]x[8], x[1]^2x[5]^2x[8]^2, x[1]^3x[5]^3x[8]^3, x[1]^4x[5]^4x[8]^4, x[1]^5x[5]^5x[8]^5, x[1]^6x[5]^6x[8]^6, x[1]^7x[5]^7x[8]^7, x[1]^8x[5]^8x[8]^8, x[1]^9x[5]^9x[8]^9, x[1]^10x[5]^10x[8]^10, x[1]^11x[5]^11x[8]^11, x[1]^12x[5]^12x[8]^12, x[1]^13x[5]^13x[8]^13, x[1]^14x[5]^14x[8]^14, x[1]^15x[5]^15x[8]^15, x[1]^16x[5]^16x[8]^16, x[1]^17x[5]^17x[8]^17, x[1]^18x[5]^18x[8]^18, x[1]^19x[5]^19x[8]^19, x[1]^20x[5]^20x[8]^20, x[1]^21x[5]^21x[8]^21, x[1]^22x[5]^22x[8]^22, x[1]^23x[5]^23x[8]^23, x[1]^24x[5]^24x[8]^24, x[1]^25x[5]^25x[8]^25, x[1]^26x[5]^26x[8]^26, x[1]^27x[5]^27x[8]^27, x[1]^28x[5]^28x[8]^28, x[1]^29x[5]^29x[8]^29, x[1]^30x[5]^30x[8]^30, x[1]^31x[5]^31x[8]^31, x[1]^32x[5]^32x[8]^32, x[1]^33x[5]^33x[8]^33, x[1]^34x[5]^34x[8]^34]; F2:=[1,x[1]x[6], x[1]^2x[6]^2, x[1]^3x[6]^3, x[1]^4x[6]^4, x[1]^5x[6]^5, x[1]^6x[6]^6, x[1]^7x[6]^7, x[1]^8x[6]^8, x[1]^9x[6]^9, x[1]^10x[6]^10, x[1]^11x[6]^11, x[1]^12x[6]^12, x[1]^13x[6]^13, x[1]^14x[6]^14, x[1]^15x[6]^15, x[1]^16x[6]^16, x[1]^17x[6]^17, x[1]^18x[6]^18, x[1]^19x[6]^19, x[1]^20x[6]^20, x[1]^21x[6]^21, x[1]^22x[6]^22, x[1]^23x[6]^23, x[1]^24x[6]^24, x[1]^25x[6]^25, x[1]^26x[6]^26, x[1]^27x[6]^27, x[1]^28x[6]^28, x[1]^29x[6]^29, x[1]^30x[6]^30, x[1]^31x[6]^31, x[1]^32x[6]^32, x[1]^33x[6]^33, x[1]^34x[6]^34]; F3:=[1,x[1]x[7], x[1]^2x[7]^2, x[1]^3x[7]^3, x[1]^4x[7]^4, x[1]^5x[7]^5, x[1]^6x[7]^6, x[1]^7x[7]^7, x[1]^8x[7]^8, x[1]^9x[7]^9, x[1]^10x[7]^10, x[1]^11x[7]^11, x[1]^12x[7]^12, x[1]^13x[7]^13, x[1]^14x[7]^14, x[1]^15x[7]^15, x[1]^16x[7]^16, x[1]^17x[7]^17, x[1]^18x[7]^18, x[1]^19x[7]^19, x[1]^20x[7]^20, x[1]^21x[7]^21, x[1]^22x[7]^22, x[1]^23x[7]^23, x[1]^24x[7]^24, x[1]^25x[7]^25, x[1]^26x[7]^26, x[1]^27x[7]^27, x[1]^28x[7]^28, x[1]^29x[7]^29, x[1]^30x[7]^30, x[1]^31x[7]^31, x[1]^32x[7]^32, x[1]^33x[7]^33, x[1]^34x[7]^34]; F4:=[1,x[1]x[9], x[1]^2x[9]^2, x[1]^3x[9]^3, x[1]^4x[9]^4, x[1]^5x[9]^5, x[1]^6x[9]^6, x[1]^7x[9]^7, x[1]^8x[9]^8, x[1]^9x[9]^9, x[1]^10x[9]^10, x[1]^11x[9]^11, x[1]^12x[9]^12, x[1]^13x[9]^13, x[1]^14x[9]^14, x[1]^15x[9]^15, x[1]^16x[9]^16, x[1]^17x[9]^17, x[1]^18x[9]^18, x[1]^19x[9]^19, x[1]^20x[9]^20, x[1]^21x[9]^21, x[1]^22x[9]^22, x[1]^23x[9]^23, x[1]^24x[9]^24, x[1]^25x[9]^25, x[1]^26x[9]^26, x[1]^27x[9]^27, x[1]^28x[9]^28, x[1]^29x[9]^29, x[1]^30x[9]^30, x[1]^31x[9]^31, x[1]^32x[9]^32, x[1]^33x[9]^33, x[1]^34x[9]^34]; F5:=[1,x[2]x[5], x[2]^2x[5]^2, x[2]^3x[5]^3, x[2]^4x[5]^4, x[2]^5x[5]^5, x[2]^6x[5]^6, x[2]^7x[5]^7, x[2]^8x[5]^8, x[2]^9x[5]^9, x[2]^10x[5]^10, x[2]^11x[5]^11, x[2]^12x[5]^12, x[2]^13x[5]^13, x[2]^14x[5]^14, x[2]^15x[5]^15, x[2]^16x[5]^16, x[2]^17x[5]^17, x[2]^18x[5]^18, x[2]^19x[5]^19, x[2]^20x[5]^20, x[2]^21x[5]^21, x[2]^22x[5]^22, x[2]^23x[5]^23, x[2]^24x[5]^24, x[2]^25x[5]^25, x[2]^26x[5]^26, x[2]^27x[5]^27, x[2]^28x[5]^28, x[2]^29x[5]^29, x[2]^30x[5]^30, x[2]^31x[5]^31, x[2]^32x[5]^32, x[2]^33x[5]^33, x[2]^34x[5]^34]; F6:=[1,x[2]x[6]x[8], x[2]^2x[6]^2x[8]^2, x[2]^3x[6]^3x[8]^3, x[2]^4x[6]^4x[8]^4, x[2]^5x[6]^5x[8]^5, x[2]^6x[6]^6x[8]^6, x[2]^7x[6]^7x[8]^7, x[2]^8x[6]^8x[8]^8, x[2]^9x[6]^9x[8]^9, x[2]^10x[6]^10x[8]^10, x[2]^11x[6]^11x[8]^11, x[2]^12x[6]^12x[8]^12, x[2]^13x[6]^13x[8]^13, x[2]^14x[6]^14x[8]^14, x[2]^15x[6]^15x[8]^15, x[2]^16x[6]^16x[8]^16, x[2]^17x[6]^17x[8]^17, x[2]^18x[6]^18x[8]^18, x[2]^19x[6]^19x[8]^19, x[2]^20x[6]^20x[8]^20, x[2]^21x[6]^21x[8]^21, x[2]^22x[6]^22x[8]^22, x[2]^23x[6]^23x[8]^23, x[2]^24x[6]^24x[8]^24, x[2]^25x[6]^25x[8]^25, x[2]^26x[6]^26x[8]^26, x[2]^27x[6]^27x[8]^27, x[2]^28x[6]^28x[8]^28, x[2]^29x[6]^29x[8]^29, x[2]^30x[6]^30x[8]^30, x[2]^31x[6]^31x[8]^31, x[2]^32x[6]^32x[8]^32, x[2]^33x[6]^33x[8]^33, x[2]^34x[6]^34x[8]^34]; F7:=[1,x[2]x[7]x[9], x[2]^2x[7]^2x[9]^2, x[2]^3x[7]^3x[9]^3, x[2]^4x[7]^4x[9]^4, x[2]^5x[7]^5x[9]^5, x[2]^6x[7]^6x[9]^6, x[2]^7x[7]^7x[9]^7, x[2]^8x[7]^8x[9]^8, x[2]^9x[7]^9x[9]^9, x[2]^10x[7]^10x[9]^10, x[2]^11x[7]^11x[9]^11, x[2]^12x[7]^12x[9]^12, x[2]^13x[7]^13x[9]^13, x[2]^14x[7]^14x[9]^14, x[2]^15x[7]^15x[9]^15, x[2]^16x[7]^16x[9]^16, x[2]^17x[7]^17x[9]^17, x[2]^18x[7]^18x[9]^18, x[2]^19x[7]^19x[9]^19, x[2]^20x[7]^20x[9]^20, x[2]^21x[7]^21x[9]^21, x[2]^22x[7]^22x[9]^22, x[2]^23x[7]^23x[9]^23, x[2]^24x[7]^24x[9]^24, x[2]^25x[7]^25x[9]^25, x[2]^26x[7]^26x[9]^26, x[2]^27x[7]^27x[9]^27, x[2]^28x[7]^28x[9]^28, x[2]^29x[7]^29x[9]^29, x[2]^30x[7]^30x[9]^30, x[2]^31x[7]^31x[9]^31, x[2]^32x[7]^32x[9]^32, x[2]^33x[7]^33x[9]^33, x[2]^34x[7]^34x[9]^34]; F8:=[1,x[2], x[2]^2, x[2]^3, x[2]^4, x[2]^5, x[2]^6, x[2]^7, x[2]^8, x[2]^9, x[2]^10, x[2]^11, x[2]^12, x[2]^13, x[2]^14, x[2]^15, x[2]^16, x[2]^17, x[2]^18, x[2]^19, x[2]^20, x[2]^21, x[2]^22, x[2]^23, x[2]^24, x[2]^25, x[2]^26, x[2]^27, x[2]^28, x[2]^29, x[2]^30, x[2]^31, x[2]^32, x[2]^33, x[2]^34]; F9:=[1,x[3]x[5], x[3]^2x[5]^2, x[3]^3x[5]^3, x[3]^4x[5]^4, x[3]^5x[5]^5, x[3]^6x[5]^6, x[3]^7x[5]^7, x[3]^8x[5]^8, x[3]^9x[5]^9, x[3]^10x[5]^10, x[3]^11x[5]^11, x[3]^12x[5]^12, x[3]^13x[5]^13, x[3]^14x[5]^14, x[3]^15x[5]^15, x[3]^16x[5]^16, x[3]^17x[5]^17, x[3]^18x[5]^18, x[3]^19x[5]^19, x[3]^20x[5]^20, x[3]^21x[5]^21, x[3]^22x[5]^22, x[3]^23x[5]^23, x[3]^24x[5]^24, x[3]^25x[5]^25, x[3]^26x[5]^26, x[3]^27x[5]^27, x[3]^28x[5]^28, x[3]^29x[5]^29, x[3]^30x[5]^30, x[3]^31x[5]^31, x[3]^32x[5]^32, x[3]^33x[5]^33, x[3]^34x[5]^34]; F10:=[1,x[3]x[6]x[9], x[3]^2x[6]^2x[9]^2, x[3]^3x[6]^3x[9]^3, x[3]^4x[6]^4x[9]^4, x[3]^5x[6]^5x[9]^5, x[3]^6x[6]^6x[9]^6, x[3]^7x[6]^7x[9]^7, x[3]^8x[6]^8x[9]^8, x[3]^9x[6]^9x[9]^9, x[3]^10x[6]^10x[9]^10, x[3]^11x[6]^11x[9]^11, x[3]^12x[6]^12x[9]^12, x[3]^13x[6]^13x[9]^13, x[3]^14x[6]^14x[9]^14, x[3]^15x[6]^15x[9]^15, x[3]^16x[6]^16x[9]^16, x[3]^17x[6]^17x[9]^17, x[3]^18x[6]^18x[9]^18, x[3]^19x[6]^19x[9]^19, x[3]^20x[6]^20x[9]^20, x[3]^21x[6]^21x[9]^21, x[3]^22x[6]^22x[9]^22, x[3]^23x[6]^23x[9]^23, x[3]^24x[6]^24x[9]^24, x[3]^25x[6]^25x[9]^25, x[3]^26x[6]^26x[9]^26, x[3]^27x[6]^27x[9]^27, x[3]^28x[6]^28x[9]^28, x[3]^29x[6]^29x[9]^29, x[3]^30x[6]^30x[9]^30, x[3]^31x[6]^31x[9]^31, x[3]^32x[6]^32x[9]^32, x[3]^33x[6]^33x[9]^33, x[3]^34x[6]^34x[9]^34]; F11:=[1,x[3]x[7]x[8], x[3]^2x[7]^2x[8]^2, x[3]^3x[7]^3x[8]^3, x[3]^4x[7]^4x[8]^4, x[3]^5x[7]^5x[8]^5, x[3]^6x[7]^6x[8]^6, x[3]^7x[7]^7x[8]^7, x[3]^8x[7]^8x[8]^8, x[3]^9x[7]^9x[8]^9, x[3]^10x[7]^10x[8]^10, x[3]^11x[7]^11x[8]^11, x[3]^12x[7]^12x[8]^12, x[3]^13x[7]^13x[8]^13, x[3]^14x[7]^14x[8]^14, x[3]^15x[7]^15x[8]^15, x[3]^16x[7]^16x[8]^16, x[3]^17x[7]^17x[8]^17, x[3]^18x[7]^18x[8]^18, x[3]^19x[7]^19x[8]^19, x[3]^20x[7]^20x[8]^20, x[3]^21x[7]^21x[8]^21, x[3]^22x[7]^22x[8]^22, x[3]^23x[7]^23x[8]^23, x[3]^24x[7]^24x[8]^24, x[3]^25x[7]^25x[8]^25, x[3]^26x[7]^26x[8]^26, x[3]^27x[7]^27x[8]^27, x[3]^28x[7]^28x[8]^28, x[3]^29x[7]^29x[8]^29, x[3]^30x[7]^30x[8]^30, x[3]^31x[7]^31x[8]^31, x[3]^32x[7]^32x[8]^32, x[3]^33x[7]^33x[8]^33, x[3]^34x[7]^34x[8]^34]; F12:=[1,x[3], x[3]^2, x[3]^3, x[3]^4, x[3]^5, x[3]^6, x[3]^7, x[3]^8, x[3]^9, x[3]^10, x[3]^11, x[3]^12, x[3]^13, x[3]^14, x[3]^15, x[3]^16, x[3]^17, x[3]^18, x[3]^19, x[3]^20, x[3]^21, x[3]^22, x[3]^23, x[3]^24, x[3]^25, x[3]^26, x[3]^27, x[3]^28, x[3]^29, x[3]^30, x[3]^31, x[3]^32, x[3]^33, x[3]^34]; F13:=[1,x[4]x[5]x[9], x[4]^2x[5]^2x[9]^2, x[4]^3x[5]^3x[9]^3, x[4]^4x[5]^4x[9]^4, x[4]^5x[5]^5x[9]^5, x[4]^6x[5]^6x[9]^6, x[4]^7x[5]^7x[9]^7, x[4]^8x[5]^8x[9]^8, x[4]^9x[5]^9x[9]^9, x[4]^10x[5]^10x[9]^10, x[4]^11x[5]^11x[9]^11, x[4]^12x[5]^12x[9]^12, x[4]^13x[5]^13x[9]^13, x[4]^14x[5]^14x[9]^14, x[4]^15x[5]^15x[9]^15, x[4]^16x[5]^16x[9]^16, x[4]^17x[5]^17x[9]^17, x[4]^18x[5]^18x[9]^18, x[4]^19x[5]^19x[9]^19, x[4]^20x[5]^20x[9]^20, x[4]^21x[5]^21x[9]^21, x[4]^22x[5]^22x[9]^22, x[4]^23x[5]^23x[9]^23, x[4]^24x[5]^24x[9]^24, x[4]^25x[5]^25x[9]^25, x[4]^26x[5]^26x[9]^26, x[4]^27x[5]^27x[9]^27, x[4]^28x[5]^28x[9]^28, x[4]^29x[5]^29x[9]^29, x[4]^30x[5]^30x[9]^30, x[4]^31x[5]^31x[9]^31, x[4]^32x[5]^32x[9]^32, x[4]^33x[5]^33x[9]^33, x[4]^34x[5]^34x[9]^34]; F14:=[1,x[4]x[6], x[4]^2x[6]^2, x[4]^3x[6]^3, x[4]^4x[6]^4, x[4]^5x[6]^5, x[4]^6x[6]^6, x[4]^7x[6]^7, x[4]^8x[6]^8, x[4]^9x[6]^9, x[4]^10x[6]^10, x[4]^11x[6]^11, x[4]^12x[6]^12, x[4]^13x[6]^13, x[4]^14x[6]^14, x[4]^15x[6]^15, x[4]^16x[6]^16, x[4]^17x[6]^17, x[4]^18x[6]^18, x[4]^19x[6]^19, x[4]^20x[6]^20, x[4]^21x[6]^21, x[4]^22x[6]^22, x[4]^23x[6]^23, x[4]^24x[6]^24, x[4]^25x[6]^25, x[4]^26x[6]^26, x[4]^27x[6]^27, x[4]^28x[6]^28, x[4]^29x[6]^29, x[4]^30x[6]^30, x[4]^31x[6]^31, x[4]^32x[6]^32, x[4]^33x[6]^33, x[4]^34x[6]^34]; F15:=[1,x[4]x[7], x[4]^2x[7]^2, x[4]^3x[7]^3, x[4]^4x[7]^4, x[4]^5x[7]^5, x[4]^6x[7]^6, x[4]^7x[7]^7, x[4]^8x[7]^8, x[4]^9x[7]^9, x[4]^10x[7]^10, x[4]^11x[7]^11, x[4]^12x[7]^12, x[4]^13x[7]^13, x[4]^14x[7]^14, x[4]^15x[7]^15, x[4]^16x[7]^16, x[4]^17x[7]^17, x[4]^18x[7]^18, x[4]^19x[7]^19, x[4]^20x[7]^20, x[4]^21x[7]^21, x[4]^22x[7]^22, x[4]^23x[7]^23, x[4]^24x[7]^24, x[4]^25x[7]^25, x[4]^26x[7]^26, x[4]^27x[7]^27, x[4]^28x[7]^28, x[4]^29x[7]^29, x[4]^30x[7]^30, x[4]^31x[7]^31, x[4]^32x[7]^32, x[4]^33x[7]^33, x[4]^34x[7]^34]; F16:=[1,x[4]x[8], x[4]^2x[8]^2, x[4]^3x[8]^3, x[4]^4x[8]^4, x[4]^5x[8]^5, x[4]^6x[8]^6, x[4]^7x[8]^7, x[4]^8x[8]^8, x[4]^9x[8]^9, x[4]^10x[8]^10, x[4]^11x[8]^11, x[4]^12x[8]^12, x[4]^13x[8]^13, x[4]^14x[8]^14, x[4]^15x[8]^15, x[4]^16x[8]^16, x[4]^17x[8]^17, x[4]^18x[8]^18, x[4]^19x[8]^19, x[4]^20x[8]^20, x[4]^21x[8]^21, x[4]^22x[8]^22, x[4]^23x[8]^23, x[4]^24x[8]^24, x[4]^25x[8]^25, x[4]^26x[8]^26, x[4]^27x[8]^27, x[4]^28x[8]^28, x[4]^29x[8]^29, x[4]^30x[8]^30, x[4]^31x[8]^31, x[4]^32x[8]^32, x[4]^33x[8]^33, x[4]^34x[8]^34]; Define TruncMult(P1,P2) D1:=NewList(308,[]); D2:=NewList(308,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 308 Do For J:=1 To 308-I Do Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; EndFor; Return Result; EndDefine; Define Shorten(L) For K:=1 To Len(L) Do If Deg(L[K])>308 Then L[K]:=0; Break; EndIf; R:=Log(L[K]); For J:=1 To Len(R) Do If R[J]>34 Then L[K]:=0; Break; EndIf; EndFor; EndFor; L:=Diff(L,[0]); Return L; EndDefine; Define TruncMultDeg(P1,P2) D1:=NewList(308,[]); D2:=NewList(308,[]); Foreach X In P1 Do Append(D1[Deg(X)+1],X); EndForeach; Foreach X In P2 Do Append(D2[Deg(X)+1],X); EndForeach; Result:=NewList(0); For I:=1 To 308 Do J:=308 - I; Foreach X In D1[I] Do Foreach Y In D2[J] Do Append(Result,X*Y); EndForeach; EndForeach; EndFor; Return Result; EndDefine; G1:=TruncMult(F1,F2); PrintLn("G1"); G1:=Shorten(G1); Print("gekürzt"); G2:=TruncMult(G1,F3); PrintLn("G2"); G2:=Shorten(G2); Print("gekürzt"); G3:=TruncMult(G2,F4); PrintLn("G3"); G3:=Shorten(G3); Print("gekürzt"); G4:=TruncMult(G3,F5); PrintLn("G4"); G4:=Shorten(G4); Print("gekürzt"); G5:=TruncMult(F6,F7); PrintLn("G5"); G5:=Shorten(G5); Print("gekürzt"); G6:=TruncMult(G5,F8); PrintLn("G6"); G6:=Shorten(G6); Print("gekürzt"); G7:=TruncMult(G6,F9); PrintLn("G7"); G7:=Shorten(G7); Print("gekürzt"); G8:=TruncMult(G7,F10); PrintLn("G8"); G8:=Shorten(G8); Print("gekürzt"); G9:=TruncMult(F11,F12); PrintLn("G9"); G9:=Shorten(G9); Print("gekürzt"); G10:=TruncMult(G9,F13); PrintLn("G10"); G10:=Shorten(G10); Print("gekürzt"); G11:=TruncMult(G10,F14); PrintLn("G11"); G11:=Shorten(G11); Print("gekürzt"); G12:=TruncMult(G11,F15); PrintLn("G12"); G12:=Shorten(G12); Print("gekürzt"); G13:=TruncMult(G12,F16); PrintLn("G13"); G13:=Shorten(G13); Print("gekürzt"); GE:=TruncMult(G4,G8); PrintLn("GE"); GE:=Shorten(GE); Print("gekürzt"); G:=TruncMultDeg(GE,G13); PrintLn("G"); M:=0; For K:=1 To Len(G) Do If Log(G[K])=[34,34,34,34,34,34,34,34,34] Then M:=M+1; EndIf; EndFor; M; --zu Beispiel 4.4.1. Use P::=Q[x[1..9]]; A:=Mat([[1,1,1,-1,-1,-1,0,0,0],[1,1,1,0,0,0,-1,-1,-1], [0,1,1,-1,0,0,-1,0,0],[1,0,1,0,-1,0,0,-1,0], [1,1,0,0,0,-1,0,0,-1], [0,1,1,0,-1,0,0,0,-1],[1,1,0,0,-1,0,-1,0,0]]); HilbertBasis(A); -- zu Beispiel 4.4.3. Use P::=Q[x[1..5]], Weights(3,3,3,3,3); I:=Toric(Transposed(Mat([ [1, 2, 0, 0, 1, 2, 2, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 2, 2, 1, 0, 0, 2, 1], [0, 2, 1, 2, 1, 0, 1, 0, 2], [2, 0, 1, 0, 1, 2, 1, 2, 0]]))); F:=Poincare(P/I); F; EvalHilbertFn(F,15); For K:=1 To 35 Do PrintLn("--",K,"--",EvalHilbertFn(F,K)); EndFor; --zu Beispiel 4.4.5. Use R::=Q[y[1..5]], Weights(3,3,3,3,3); I:=Toric(Transposed(Mat([[1, 2, 0, 0, 1, 2, 2, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 2, 2, 1, 0, 0, 2, 1], [0, 2, 1, 2, 1, 0, 1, 0, 2], [2, 0, 1, 0, 1, 2, 1, 2, 0]]))); L:=Support(DensePoly(15)); For J:=1 To Len(L) Do If L[J] IsIn LT(I) Then L[J]:=0; EndIf; EndFor; L:=Diff(L,[0]); Use S::=Q[x[1..9]]; F:=RMap(x[1]x[2]^2x[5]x[6]^2x[7]^2x[9], x[1]x[2]x[3]x[4]x[5]x[6]x[7]x[8]x[9], x[1]x[3]^2x[4]^2x[5]x[8]^2x[9], x[2]^2x[3]x[4]^2x[5]x[7]x[9]^2, x[1]^2x[3]x[5]x[6]^2x[7]x[8]^2); E:=Image(L,F); For I:=1 To Len(E) Do E[I]:=Log(E[I]); EndFor; For K:=1 To Len(E) Do For J:=K+1 To Len(E) Do If E[K]=E[J] Then E[J]:=0; EndIf; EndFor; EndFor; E:=Diff(E,[0]); Len(E); --zu Beispiel 4.4.6. Use S::=Q[y[1..16]]; A:=Mat([[1,1,1,1,-1,-1,-1,-1,0,0,0,0,0,0,0,0], [1,1,1,1,0,0,0,0,-1,-1,-1,-1,0,0,0,0], [1,1,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1], [0,1,1,1,-1,0,0,0,-1,0,0,0,-1,0,0,0], [1,0,1,1,0,-1,0,0,0,-1,0,0,0,-1,0,0], [1,1,0,1,0,0,-1,0,0,0,-1,0,0,0,-1,0], [1,1,1,0,0,0,0,-1,0,0,0,-1,0,0,0,-1], [0,1,1,1,0,-1,0,0,0,0,-1,0,0,0,0,-1], [1,1,1,0,0,0,-1,0,0,-1,0,0,-1,0,0,0]]); HilbertBasis(A); Use P::=Q[x[1..20]], Weights(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2); I:=Toric(Transposed(Mat(HilbertBasis(A)))); F:=Poincare(P/I); F; EvalHilbertFn(F,34); For K:=1 To 35 Do PrintLn("--",K,"--",EvalHilbertFn(F,K)); EndFor; --zu Beispiel 5.1.2. Use P::=Q[x[1..9]]; A:=Mat([[1,1,1,-1,-1,-1,0,0,0],[1,1,1,0,0,0,-1,-1,-1], [0,1,1,-1,0,0,-1,0,0],[1,0,1,0,-1,0,0,-1,0], [1,1,0,0,0,-1,0,0,-1], [0,1,1,0,-1,0,0,0,-1],[1,1,0,0,-1,0,-1,0,0], [1,0,1,0,0,-1,-1,0,0],[1,1,0,-1,0,0,0,-1,0], [1,0,1,-1,0,0,0,0,-1],[0,1,1,0,0,-1,0,-1,0]]); HilbertBasis(A); Use P::=Q[x], Weights(3); I:=Toric(Transposed(Mat([[1, 1, 1, 1, 1, 1, 1, 1, 1]]))); F:=Poincare(P/I); For K:=1 To 35 Do PrintLn("--",K,"--",EvalHilbertFn(F,K)); EndFor; F; Use S::=Q[y[1..16]]; A:=Mat([[1,1,1,1,-1,-1,-1,-1,0,0,0,0,0,0,0,0], [1,1,1,1,0,0,0,0,-1,-1,-1,-1,0,0,0,0], [1,1,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1], [0,1,1,1,-1,0,0,0,-1,0,0,0,-1,0,0,0], [1,0,1,1,0,-1,0,0,0,-1,0,0,0,-1,0,0], [1,1,0,1,0,0,-1,0,0,0,-1,0,0,0,-1,0], [1,1,1,0,0,0,0,-1,0,0,0,-1,0,0,0,-1], [0,1,1,1,0,-1,0,0,0,0,-1,0,0,0,0,-1], [1,1,1,0,0,0,-1,0,0,-1,0,0,-1,0,0,0], [1,0,1,1,0,0,-1,0,0,0,0,-1,-1,0,0,0], [1,1,0,1,0,0,0,-1,-1,0,0,0,0,-1,0,0], [1,1,1,0,-1,0,0,0,0,-1,0,0,0,0,-1,0], [0,1,1,1,0,0,0,-1,0,0,-1,0,0,-1,0,0], [1,0,1,1,-1,0,0,0,0,0,0,-1,0,0,-1,0], [1,1,0,1,0,-1,0,0,-1,0,0,0,0,0,0,-1]]); HilbertBasis(A); Use P::=Q[x[1..8]]; I:=Toric(Transposed(Mat( [[1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1], [0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0], [1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0], [1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0], [0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0], [0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1], [1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1]]))); F:=Poincare(P/I); F; For K:=1 To 35 Do PrintLn("--",K,"--",EvalHilbertFn(F,K)); EndFor; --zu Beispiel 5.1.3. Use S::=Q[y[1..16]]; A:=Mat([[1,1,1,1,-1,-1,-1,-1,0,0,0,0,0,0,0,0], [1,1,1,1,0,0,0,0,-1,-1,-1,-1,0,0,0,0], [1,1,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1], [0,1,1,1,-1,0,0,0,-1,0,0,0,-1,0,0,0], [1,0,1,1,0,-1,0,0,0,-1,0,0,0,-1,0,0], [1,1,0,1,0,0,-1,0,0,0,-1,0,0,0,-1,0], [1,1,1,0,0,0,0,-1,0,0,0,-1,0,0,0,-1], [0,1,1,1,0,-1,0,0,0,0,-1,0,0,0,0,-1], [1,1,1,0,0,0,-1,0,0,-1,0,0,-1,0,0,0], [0,0,1,1,-1,-1,0,0,0,0,0,0,0,0,0,0], [1,1,1,1,0,-1,-1,0,0,-1,-1,0,0,0,0,0], [1,1,1,1,0,0,0,0,0,0,-1,-1,0,0,-1,-1], [1,1,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0], [1,1,1,1,0,0,0,0,-1,-1,0,0,-1,-1,0,0], [0,1,0,1,0,0,0,0,-1,0,-1,0,0,0,0,0], [1,0,1,0,0,0,0,0,0,-1,0,-1,0,0,0,0], [1,1,1,1,-1,0,-1,0,0,0,0,0,-1,0,-1,0], [1,1,1,1,0,-1,0,-1,0,0,0,0,0,-1,0,-1], [0,1,1,0,0,0,0,0,0,0,0,0,-1,0,0,-1]]); HilbertBasis(A); Use P::=Q[x[1..8]]; I:=Ideal(Toric(Transposed(Mat([[0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1], [0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1], [1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0], [0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0], [1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0], [0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0], [0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0], [0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0]])))); F:=Poincare(P/I); F; EvalHilbertFn(F,34); --zu Beispiel 5.1.4. Use P::=Q[x[1..9]]; A:=Mat([[1,1,1,-1,-1,-1,0,0,0],[1,1,1,0,0,0,-1,-1,-1], [0,1,1,-1,0,0,-1,0,0],[1,0,1,0,-1,0,0,-1,0], [1,1,0,0,0,-1,0,0,-1], [0,1,1,0,-1,0,0,0,-1],[1,1,0,0,-1,0,-1,0,0], [2,-2,0,0,0,0,0,-2,2],[2,0,-2,0,0,0,-2,0,2], [2,0,0,-2,0,-2,0,0,-2]]); HilbertBasis(A); Use P::=Q[x], Weights(3); I:=Toric(Transposed(Mat([[2, 0, 1, 0, 1, 2, 1, 2, 0]]))); F:=Poincare(P/I); F; For K:=1 To 35 Do PrintLn("--",K,"--",EvalHilbertFn(F,K)); EndFor; Use S::=Q[y[1..16]]; A:=Mat([[1,1,1,1,-1,-1,-1,-1,0,0,0,0,0,0,0,0], [1,1,1,1,0,0,0,0,-1,-1,-1,-1,0,0,0,0], [1,1,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1], [0,1,1,1,-1,0,0,0,-1,0,0,0,-1,0,0,0], [1,0,1,1,0,-1,0,0,0,-1,0,0,0,-1,0,0], [1,1,0,1,0,0,-1,0,0,0,-1,0,0,0,-1,0], [1,1,1,0,0,0,0,-1,0,0,0,-1,0,0,0,-1], [0,1,1,1,0,-1,0,0,0,0,-1,0,0,0,0,-1], [1,1,1,0,0,0,-1,0,0,-1,0,0,-1,0,0,0], [1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,1], [1,0,-1,0,0,0,0,0,0,0,0,0,0,-1,0,1], [1,0,0,-1,0,0,0,0,0,0,0,0,-1,0,0,1], [1,0,0,0,-1,0,0,0,0,0,0,-1,0,0,0,1], [1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,1], [1,0,0,0,0,0,-1,0,0,-1,0,0,0,0,0,1], [1,0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,1]]); HilbertBasis(A); Use P::=Q[x[1..8]],Weights(2,2,2,2,2,2,2,2); I:=Toric(Transposed(Mat([[1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0], [1,1,0,0,0,0,1,1,0,0,1,1,1,1,0,0], [0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1], [1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0], [1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,0], [0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1], [0,1,0,1,1,0,1,0,1,0,1,0,0,1,0,1], [0,0,1,1,1,1,0,0,1,1,0,0,0,0,1,1]]))); F:=Poincare(P/I); F; EvalHilbertFn(F,34); --zu Bemerkung 5.1.6. -- assoziierte 5x5-Quadrate: Use S::=Q[y[1..25],z[1..25]]; E:=Mat([[1,1,1,1,1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,0,0, 0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0], [1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0],[1,1,1, 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1], [0,1,1,1,1,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0],[1,0,1,1 ,1,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0], [1,1,0,1,1,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0],[1,1,1,0 ,1,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0], [1,1,1,1,0,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1], [0,1,1,1,1,0,-1,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,-1],[1,1,1,1 ,0,0,0,0,-1,0,0,0,-1,0,0,0,-1,0,0,0,-1,0,0,0,0], [1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,1], [1,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,1], [1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1], [1,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,1], [1,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,1], [1,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,1], [1,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,1], [1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,1], [1,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,1], [1,0,0,0,0,0,0,0,0,0,-1,0,0,0,-1,0,0,0,0,0,0,0,0,0,1], [1,0,0,0,0,0,0,0,0,0,0,-1,0,-1,0,0,0,0,0,0,0,0,0,0,1]]); HilbertBasis(E); --zu Beispiel 5.2.3. Use P::=Q[x[1..9]]; I:=Ideal(x[1]+x[2]+x[3]-15,x[4]+x[5]+x[6]-15,x[7]+x[8]+x[9]-15, x[1]+x[4]+x[7]-15,x[2]+x[5]+x[8]-15,x[3]+x[6]+x[9]-15, x[1]+x[5]+x[9]-15,x[3]+x[5]+x[7]-15, (x[1] - 1)(x[1] - 2)(x[1] - 3)(x[1] - 4)(x[1] - 5) (x[1] - 6)(x[1] - 7)(x[1] - 8)(x[1] - 9), (x[2] - 1)(x[2] - 2)(x[2] - 3)(x[2] - 4)(x[2] - 5) (x[2] - 6)(x[2] - 7)(x[2] - 8)(x[2] - 9), (x[3] - 1)(x[3] - 2)(x[3] - 3)(x[3] - 4)(x[3] - 5) (x[3] - 6)(x[3] - 7)(x[3] - 8)(x[3] - 9), (x[4] - 1)(x[4] - 2)(x[4] - 3)(x[4] - 4)(x[4] - 5) (x[4] - 6)(x[4] - 7)(x[4] - 8)(x[4] - 9), (x[5] - 1)(x[5] - 2)(x[5] - 3)(x[5] - 4)(x[5] - 5) (x[5] - 6)(x[5] - 7)(x[5] - 8)(x[5] - 9), (x[6] - 1)(x[6] - 2)(x[6] - 3)(x[6] - 4)(x[6] - 5) (x[6] - 6)(x[6] - 7)(x[6] - 8)(x[6] - 9), (x[7] - 1)(x[7] - 2)(x[7] - 3)(x[7] - 4)(x[7] - 5) (x[7] - 6)(x[7] - 7)(x[7] - 8)(x[7] - 9), (x[8] - 1)(x[8] - 2)(x[8] - 3)(x[8] - 4)(x[8] - 5) (x[8] - 6)(x[8] - 7)(x[8] - 8)(x[8] - 9), (x[9] - 1)(x[9] - 2)(x[9] - 3)(x[9] - 4)(x[9] - 5) (x[9] - 6)(x[9] - 7)(x[9] - 8)(x[9] - 9)); G:=ReducedGBasis(I); L:=[(x[1] - x[2]),(x[1] - x[3]),(x[1] - x[4]), (x[1] - x[5]),(x[1] - x[6]),(x[1] - x[7]), (x[1] - x[8]),(x[1] - x[9]), (x[2] - x[3]),(x[2] - x[4]),(x[2] - x[5]), (x[2] - x[6]),(x[2] - x[7]),(x[2] - x[8]), (x[2] - x[9]), (x[3] - x[4]),(x[3] - x[5]),(x[3] - x[6]), (x[3] - x[7]),(x[3] - x[8]),(x[3] - x[9]), (x[4] - x[5]),(x[4] - x[6]),(x[4] - x[7]), (x[4] - x[8]),(x[4] - x[9]), (x[5] - x[6]),(x[5] - x[7]),(x[5] - x[8]), (x[5] - x[9]), (x[6] - x[7]),(x[6] - x[8]),(x[6] - x[9]), (x[7] - x[8]),(x[7] - x[9]), (x[8] - x[9])]; Gneu:=G; For J:=1 To Len(L) Do Gneu:=ReducedGBasis(Colon(Ideal(Gneu),Ideal(L[J]))); EndFor; Gneu; Len(QuotientBasis(Ideal(Gneu))); Use P::=Q[x[1..16]]; I:=Ideal(x[1]+x[2]+x[3]+x[4]-x[5]-x[6]-x[7]-x[8],x[1]+x[2]+x[3]+x[4]-x[9]-x[10]-x[11]-x[12],x[1]+x[2]+x[3]+x[4]-x[13]-x[14]-x[15]-x[16], x[2]+x[3]+x[4]-x[5]-x[9]-x[13],x[1]+x[3]+x[4]-x[6]-x[10]-x[14],x[1]+x[2]+x[4]-x[7]-x[11]-x[15],x[1]+x[2]+x[3]-x[8]-x[12]-x[16], x[2]+x[3]+x[4]-x[6]-x[11]-x[16],x[1]+x[2]+x[3]-x[7]-x[10]-x[13], (x[1] - 1)(x[1] - 2)(x[1] - 3)(x[1] - 4)(x[1] - 5)(x[1] - 6)(x[1] - 7)(x[1] - 8)(x[1] - 9)(x[1] - 10)(x[1] - 11)(x[1] - 12) (x[1] - 13)(x[1] - 14)(x[1] - 15)(x[1] - 16), (x[2] - 1)(x[2] - 2)(x[2] - 3)(x[2] - 4)(x[2] - 5)(x[2] - 6)(x[2] - 7)(x[2] - 8)(x[2] - 9)(x[2] - 10)(x[2] - 11)(x[2] - 12) (x[2] - 13)(x[2] - 14)(x[2] - 15)(x[2] - 16), (x[3] - 1)(x[3] - 2)(x[3] - 3)(x[3] - 4)(x[3] - 5)(x[3] - 6)(x[3] - 7)(x[3] - 8)(x[3] - 9)(x[3] - 10)(x[3] - 11)(x[3] - 12) (x[3] - 13)(x[3] - 14)(x[3] - 15)(x[3] - 16), (x[4] - 1)(x[4] - 2)(x[4] - 3)(x[4] - 4)(x[4] - 5)(x[4] - 6)(x[4] - 7)(x[4] - 8)(x[4] - 9)(x[4] - 10)(x[4] - 11)(x[4] - 12) (x[4] - 13)(x[4] - 14)(x[4] - 15)(x[4] - 16), (x[5] - 1)(x[5] - 2)(x[5] - 3)(x[5] - 4)(x[5] - 5)(x[5] - 6)(x[5] - 7)(x[5] - 8)(x[5] - 9)(x[5] - 10)(x[5] - 11)(x[5] - 12) (x[5] - 13)(x[5] - 14)(x[5] - 15)(x[5] - 16), (x[6] - 1)(x[6] - 2)(x[6] - 3)(x[6] - 4)(x[6] - 5)(x[6] - 6)(x[6] - 7)(x[6] - 8)(x[6] - 9)(x[6] - 10)(x[6] - 11)(x[6] - 12) (x[6] - 13)(x[6] - 14)(x[6] - 15)(x[6] - 16), (x[7] - 1)(x[7] - 2)(x[7] - 3)(x[7] - 4)(x[7] - 5)(x[7] - 6)(x[7] - 7)(x[7] - 8)(x[7] - 9)(x[7] - 10)(x[7] - 11)(x[7] - 12) (x[7] - 13)(x[7] - 14)(x[7] - 15)(x[7] - 16), (x[8] - 1)(x[8] - 2)(x[8] - 3)(x[8] - 4)(x[8] - 5)(x[8] - 6)(x[8] - 7)(x[8] - 8)(x[8] - 9)(x[8] - 10)(x[8] - 11)(x[8] - 12) (x[8] - 13)(x[8] - 14)(x[8] - 15)(x[8] - 16), (x[9] - 1)(x[9] - 2)(x[9] - 3)(x[9] - 4)(x[9] - 5)(x[9] - 6)(x[9] - 7)(x[9] - 8)(x[9] - 9)(x[9] - 10)(x[9] - 11)(x[9] - 12) (x[9] - 13)(x[9] - 14)(x[9] - 15)(x[9] - 16), (x[10] - 1)(x[10] - 2)(x[10] - 3)(x[10] - 4)(x[10] - 5)(x[10] - 6)(x[10] - 7)(x[10] - 8)(x[10] - 9)(x[10] - 10)(x[10] - 11) (x[10] - 12)(x[10] - 13)(x[10] - 14)(x[10] - 15)(x[10] - 16), (x[11] - 1)(x[11] - 2)(x[11] - 3)(x[11] - 4)(x[11] - 5)(x[11] - 6)(x[11] - 7)(x[11] - 8)(x[11] - 9)(x[11] - 10)(x[11] - 11) (x[11] - 12)(x[11] - 13)(x[11] - 14)(x[11] - 15)(x[11] - 16), (x[12] - 1)(x[12] - 2)(x[12] - 3)(x[12] - 4)(x[12] - 5)(x[12] - 6)(x[12] - 7)(x[12] - 8)(x[12] - 9)(x[12] - 10)(x[12] - 11) (x[12] - 12)(x[12] - 13)(x[12] - 14)(x[12] - 15)(x[12] - 16), (x[13] - 1)(x[13] - 2)(x[13] - 3)(x[13] - 4)(x[13] - 5)(x[13] - 6)(x[13] - 7)(x[13] - 8)(x[13] - 9)(x[13] - 10)(x[13] - 11) (x[13] - 12)(x[13] - 13)(x[13] - 14)(x[13] - 15)(x[13] - 16), (x[14] - 1)(x[14] - 2)(x[14] - 3)(x[14] - 4)(x[14] - 5)(x[14] - 6)(x[14] - 7)(x[14] - 8)(x[14] - 9)(x[14] - 10)(x[14] - 11) (x[14] - 12)(x[14] - 13)(x[14] - 14)(x[14] - 15)(x[14] - 16), (x[15] - 1)(x[15] - 2)(x[15] - 3)(x[15] - 4)(x[15] - 5)(x[15] - 6)(x[15] - 7)(x[15] - 8)(x[15] - 9)(x[15] - 10)(x[15] - 11) (x[15] - 12)(x[15] - 13)(x[15] - 14)(x[15] - 15)(x[15] - 16), (x[16] - 1)(x[16] - 2)(x[16] - 3)(x[16] - 4)(x[16] - 5)(x[16] - 6)(x[16] - 7)(x[16] - 8)(x[16] - 9)(x[16] - 10)(x[16] - 11) (x[16] - 12)(x[16] - 13)(x[16] - 14)(x[16] - 15)(x[16] - 16)); GB.Start_GBasis(I); For K:=1 To 10 Do GB.Steps(I,K); K; GB.Stats(I); EndFor; --zu Beispiel 5.2.5. Use P::=Q[x[1..9]]; /*zur Erzeugung der zusätzlichen Bedingungen: For K:=1 To 9 Do PrintLn((x[1]^K+x[2]^K+x[3]^K+x[4]^K+x[5]^K +x[6]^K+x[7]^K+x[8]^K+x[9]^K) -(1^K+2^K+3^K+4^K+5^K+6^K+7^K+8^K+9^K),","); EndFor;*/ I:=Ideal(x[1]+x[2]+x[3]-15,x[4]+x[5]+x[6]-15, x[7]+x[8]+x[9]-15,x[1]+x[4]+x[7]-15,x[2]+x[5]+x[8]-15, x[3]+x[6]+x[9]-15,x[1]+x[5]+x[9]-15,x[3]+x[5]+x[7]-15, x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8] + x[9] - 45, x[1]^2 + x[2]^2 + x[3]^2 + x[4]^2 + x[5]^2 + x[6]^2 + x[7]^2 + x[8]^2 + x[9]^2 - 285, x[1]^3 + x[2]^3 + x[3]^3 + x[4]^3 + x[5]^3 + x[6]^3 + x[7]^3 + x[8]^3 + x[9]^3 - 2025, x[1]^4 + x[2]^4 + x[3]^4 + x[4]^4 + x[5]^4 + x[6]^4 + x[7]^4 + x[8]^4 + x[9]^4 - 15333, x[1]^5 + x[2]^5 + x[3]^5 + x[4]^5 + x[5]^5 + x[6]^5 + x[7]^5 + x[8]^5 + x[9]^5 - 120825, x[1]^6 + x[2]^6 + x[3]^6 + x[4]^6 + x[5]^6 + x[6]^6 + x[7]^6 + x[8]^6 + x[9]^6 - 978405, x[1]^7 + x[2]^7 + x[3]^7 + x[4]^7 + x[5]^7 + x[6]^7 + x[7]^7 + x[8]^7 + x[9]^7 - 8080425, x[1]^8 + x[2]^8 + x[3]^8 + x[4]^8 + x[5]^8 + x[6]^8 + x[7]^8 + x[8]^8 + x[9]^8 - 67731333, x[1]^9 + x[2]^9 + x[3]^9 + x[4]^9 + x[5]^9 + x[6]^9 + x[7]^9 + x[8]^9 + x[9]^9 - 574304985); G:=ReducedGBasis(I); Len(QuotientBasis(Ideal(G))); Use P::=Q[x[1..16]]; I:=Ideal(x[1]+x[2]+x[3]+x[4]-x[5]-x[6]-x[7]-x[8],x[1]+x[2]+x[3]+x[4]-x[9]-x[10]-x[11]-x[12],x[1]+x[2]+x[3]+x[4]-x[13]-x[14]-x[ 15]-x[16], x[2]+x[3]+x[4]-x[5]-x[9]-x[13],x[1]+x[3]+x[4]-x[6]-x[10]-x[14],x[1]+x[2]+x[4]-x[7]-x[11]-x[15],x[1]+x[2]+x[3]- x[8]-x[12]-x[16], x[2]+x[3]+x[4]-x[6]-x[11]-x[16],x[1]+x[2]+x[3]-x[7]-x[10]-x[13], (x[1] - 1)(x[1] - 2)(x[1] - 3)(x[1] - 4)(x[1] - 5)(x[1] - 6)(x[1] - 7)(x[1] - 8)(x[1] - 9)(x[1] - 10)(x[1] - 11)(x[1] - 12) (x[1] - 13)(x[1] - 14)(x[1] - 15)(x[1] - 16), (x[2] - 1)(x[2] - 2)(x[2] - 3)(x[2] - 4)(x[2] - 5)(x[2] - 6)(x[2] - 7)(x[2] - 8)(x[2] - 9)(x[2] - 10)(x[2] - 11)(x[2] - 12) (x[2] - 13)(x[2] - 14)(x[2] - 15)(x[2] - 16), (x[3] - 1)(x[3] - 2)(x[3] - 3)(x[3] - 4)(x[3] - 5)(x[3] - 6)(x[3] - 7)(x[3] - 8)(x[3] - 9)(x[3] - 10)(x[3] - 11)(x[3] - 12) (x[3] - 13)(x[3] - 14)(x[3] - 15)(x[3] - 16), (x[4] - 1)(x[4] - 2)(x[4] - 3)(x[4] - 4)(x[4] - 5)(x[4] - 6)(x[4] - 7)(x[4] - 8)(x[4] - 9)(x[4] - 10)(x[4] - 11)(x[4] - 12) (x[4] - 13)(x[4] - 14)(x[4] - 15)(x[4] - 16), (x[5] - 1)(x[5] - 2)(x[5] - 3)(x[5] - 4)(x[5] - 5)(x[5] - 6)(x[5] - 7)(x[5] - 8)(x[5] - 9)(x[5] - 10)(x[5] - 11)(x[5] - 12) (x[5] - 13)(x[5] - 14)(x[5] - 15)(x[5] - 16), (x[6] - 1)(x[6] - 2)(x[6] - 3)(x[6] - 4)(x[6] - 5)(x[6] - 6)(x[6] - 7)(x[6] - 8)(x[6] - 9)(x[6] - 10)(x[6] - 11)(x[6] - 12) (x[6] - 13)(x[6] - 14)(x[6] - 15)(x[6] - 16), (x[7] - 1)(x[7] - 2)(x[7] - 3)(x[7] - 4)(x[7] - 5)(x[7] - 6)(x[7] - 7)(x[7] - 8)(x[7] - 9)(x[7] - 10)(x[7] - 11)(x[7] - 12) (x[7] - 13)(x[7] - 14)(x[7] - 15)(x[7] - 16), (x[8] - 1)(x[8] - 2)(x[8] - 3)(x[8] - 4)(x[8] - 5)(x[8] - 6)(x[8] - 7)(x[8] - 8)(x[8] - 9)(x[8] - 10)(x[8] - 11)(x[8] - 12) (x[8] - 13)(x[8] - 14)(x[8] - 15)(x[8] - 16), (x[9] - 1)(x[9] - 2)(x[9] - 3)(x[9] - 4)(x[9] - 5)(x[9] - 6)(x[9] - 7)(x[9] - 8)(x[9] - 9)(x[9] - 10)(x[9] - 11)(x[9] - 12) (x[9] - 13)(x[9] - 14)(x[9] - 15)(x[9] - 16), (x[10] - 1)(x[10] - 2)(x[10] - 3)(x[10] - 4)(x[10] - 5)(x[10] - 6)(x[10] - 7)(x[10] - 8)(x[10] - 9)(x[10] - 10)(x[10] - 11) (x[10] - 12)(x[10] - 13)(x[10] - 14)(x[10] - 15)(x[10] - 16), (x[11] - 1)(x[11] - 2)(x[11] - 3)(x[11] - 4)(x[11] - 5)(x[11] - 6)(x[11] - 7)(x[11] - 8)(x[11] - 9)(x[11] - 10)(x[11] - 11) (x[11] - 12)(x[11] - 13)(x[11] - 14)(x[11] - 15)(x[11] - 16), (x[12] - 1)(x[12] - 2)(x[12] - 3)(x[12] - 4)(x[12] - 5)(x[12] - 6)(x[12] - 7)(x[12] - 8)(x[12] - 9)(x[12] - 10)(x[12] - 11) (x[12] - 12)(x[12] - 13)(x[12] - 14)(x[12] - 15)(x[12] - 16), (x[13] - 1)(x[13] - 2)(x[13] - 3)(x[13] - 4)(x[13] - 5)(x[13] - 6)(x[13] - 7)(x[13] - 8)(x[13] - 9)(x[13] - 10)(x[13] - 11) (x[13] - 12)(x[13] - 13)(x[13] - 14)(x[13] - 15)(x[13] - 16), (x[14] - 1)(x[14] - 2)(x[14] - 3)(x[14] - 4)(x[14] - 5)(x[14] - 6)(x[14] - 7)(x[14] - 8)(x[14] - 9)(x[14] - 10)(x[14] - 11) (x[14] - 12)(x[14] - 13)(x[14] - 14)(x[14] - 15)(x[14] - 16), (x[15] - 1)(x[15] - 2)(x[15] - 3)(x[15] - 4)(x[15] - 5)(x[15] - 6)(x[15] - 7)(x[15] - 8)(x[15] - 9)(x[15] - 10)(x[15] - 11) (x[15] - 12)(x[15] - 13)(x[15] - 14)(x[15] - 15)(x[15] - 16), (x[16] - 1)(x[16] - 2)(x[16] - 3)(x[16] - 4)(x[16] - 5)(x[16] - 6)(x[16] - 7)(x[16] - 8)(x[16] - 9)(x[16] - 10)(x[16] - 11) (x[16] - 12)(x[16] - 13)(x[16] - 14)(x[16] - 15)(x[16] - 16)); GB.Start_GBasis(I); For K:=1 To 11 Do GB.Steps(I,K); K; GB.Stats(I); EndFor; --I.GBasis;*/ Use P::=Q[x[1..7]]; I:=Ideal(2x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]-68, (x[1] - 1)(x[1] - 2)(x[1] - 3)(x[1] - 4)(x[1] - 5)(x[1] - 6)(x[1] - 7)(x[1] - 8)(x[1] - 9)(x[1] - 10)(x[1] - 11)(x[1] - 12) (x[1] - 13)(x[1] - 14)(x[1] - 15)(x[1] - 16), (x[2] - 1)(x[2] - 2)(x[2] - 3)(x[2] - 4)(x[2] - 5)(x[2] - 6)(x[2] - 7)(x[2] - 8)(x[2] - 9)(x[2] - 10)(x[2] - 11)(x[2] - 12) (x[2] - 13)(x[2] - 14)(x[2] - 15)(x[2] - 16), (x[3] - 1)(x[3] - 2)(x[3] - 3)(x[3] - 4)(x[3] - 5)(x[3] - 6)(x[3] - 7)(x[3] - 8)(x[3] - 9)(x[3] - 10)(x[3] - 11)(x[3] - 12) (x[3] - 13)(x[3] - 14)(x[3] - 15)(x[3] - 16), (x[4] - 1)(x[4] - 2)(x[4] - 3)(x[4] - 4)(x[4] - 5)(x[4] - 6)(x[4] - 7)(x[4] - 8)(x[4] - 9)(x[4] - 10)(x[4] - 11)(x[4] - 12) (x[4] - 13)(x[4] - 14)(x[4] - 15)(x[4] - 16), (x[5] - 1)(x[5] - 2)(x[5] - 3)(x[5] - 4)(x[5] - 5)(x[5] - 6)(x[5] - 7)(x[5] - 8)(x[5] - 9)(x[5] - 10)(x[5] - 11)(x[5] - 12) (x[5] - 13)(x[5] - 14)(x[5] - 15)(x[5] - 16), (x[6] - 1)(x[6] - 2)(x[6] - 3)(x[6] - 4)(x[6] - 5)(x[6] - 6)(x[6] - 7)(x[6] - 8)(x[6] - 9)(x[6] - 10)(x[6] - 11)(x[6] - 12) (x[6] - 13)(x[6] - 14)(x[6] - 15)(x[6] - 16), (x[7] - 1)(x[7] - 2)(x[7] - 3)(x[7] - 4)(x[7] - 5)(x[7] - 6)(x[7] - 7)(x[7] - 8)(x[7] - 9)(x[7] - 10)(x[7] - 11)(x[7] - 12) (x[7] - 13)(x[7] - 14)(x[7] - 15)(x[7] - 16)); --G:=ReducedGBasis(I); --Len(QuotientBasis(Ideal(G))); GB.Start_GBasis(I); For K:=1 To 100 Do GB.Steps(I,K); K; GB.Stats(I); EndFor; --zu Beispiel 5.2.7. For K:=1 To Len(E) Do For J:=1 To Len(E[K]) Do For L:=J+1 To Len(E[K]) Do If E[K][J]=E[K][L] Then E[K]:=[0]; Break EndIf; EndFor; If E[K][J]>9 Then E[K]:=[0]; Break EndIf; If E[K][J]<1 Then E[K]:=[0]; Break EndIf; EndFor; EndFor; E:=Diff(E,[[0]]); Len(E); E; --zu Beispiel 5.2.8. Use P::=Q[x[1..8]],Weights(2,2,2,2,2,2,2,2); I:=Toric(Transposed(Mat([[1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0], [1,1,0,0,0,0,1,1,0,0,1,1,1,1,0,0], [0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1], [1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0], [1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,0], [0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1], [0,1,0,1,1,0,1,0,1,0,1,0,0,1,0,1], [0,0,1,1,1,1,0,0,1,1,0,0,0,0,1,1]]))); L:=Support(DensePoly(34)); For J:=1 To Len(L) Do If L[J] IsIn LT(I) Then L[J]:=0; EndIf; EndFor; L:=Diff(L,[0]); Use S::=Q[x[1..16]]; F:=RMap(x[1]x[4]x[5]x[8]x[10]x[11]x[14]x[15], x[1]x[2]x[7]x[8]x[11]x[12]x[13]x[14], x[2]x[3]x[5]x[8]x[10]x[11]x[13]x[16], x[1]x[4]x[6]x[7]x[9]x[12]x[14]x[15], x[1]x[3]x[6]x[8]x[10]x[12]x[13]x[15], x[2]x[3]x[6]x[7]x[9]x[12]x[13]x[16], x[2]x[4]x[5]x[7]x[9]x[11]x[14]x[16], x[3]x[4]x[5]x[6]x[9]x[10]x[15]x[16]); E:=Image(L,F); For I:=1 To Len(E) Do E[I]:=Log(E[I]); EndFor; PrintLn("Bilder unter Phi: ", Len(E)); For K:=1 To Len(E) Do For J:=K+1 To Len(E) Do If E[K]=E[J] Then E[J]:=0; Break EndIf; EndFor; EndFor; E:=Diff(E,[0]); For K:=1 To Len(E) Do For J:=1 To Len(E[K]) Do For L:=J+1 To Len(E[K]) Do If E[K][J]=E[K][L] Then E[K]:=[0]; Break EndIf; If E[K][J]>16 Then E[K]:=[0]; Break EndIf; If E[K][J]<1 Then E[K]:=[0]; Break EndIf; EndFor; EndFor; EndFor; E:=Diff(E,[[0]]); PrintLn("traditionelle Quadrate: ", Len(E)); --zu Beipiel 5.3.4. For J:=1 To Len(E) Do E[J]:=[[E[J][1],E[J][2],E[J][3]],[E[J][4],E[J][5],E[J][6]],[E[J][7],E[J][8],E[J][9]]]; E[J]:=Mat(E[J]); EndFor; Define HorizontalS(M) M:=List(M); L:=[M[3],M[2],M[1]]; L:=Mat(L); Return L; EndDefine; HorizontalA:=NewList(0); HorizontalB:=NewList(0); For K:=1 To Len(E) Do M:=HorizontalS(E[K]); If M IsIn E Then Append(HorizontalA,E[K]); Append(HorizontalB,M); EndIf; E[K]:=0; EndFor; Len(E); Len(HorizontalA); Len(HorizontalB); HorizontalA; DrehspiegelA1:=NewList(0); DrehspiegelA2:=NewList(0); For K:=1 To Len(HorizontalA) Do M:=Transposed(HorizontalA[K]); If M IsIn HorizontalA Then Append(DrehspiegelA1,HorizontalA[K]); Append(DrehspiegelA2,M); EndIf; HorizontalA[K]:=0 EndFor; Len(HorizontalA); Len(DrehspiegelA1); Len(DrehspiegelA2); DrehspiegelA1; DrehspiegelA2; --zu Beispiel 5.3.5. For J:=1 To Len(E) Do E[J]:=[[E[J][1],E[J][2],E[J][3],E[J][4]],[E[J][5],E[J][6],E[J][7],E[J][8]], [E[J][9],E[J][10],E[J][11],E[J][12]],[E[J][13],E[J][14],E[J][15],E[J][16]]]; E[J]:=Mat(E[J]); EndFor; PrintLn("Länge E: ",Len(E));--384 Define HorizontalS(M) M:=List(M); L:=[M[4],M[3],M[2],M[1]]; L:=Mat(L); Return L; EndDefine; HorizontalA:=NewList(0); HorizontalB:=NewList(0); For K:=1 To Len(E) Do M:=HorizontalS(E[K]); If M IsIn E Then Append(HorizontalA,E[K]); Append(HorizontalB,M); EndIf; E[K]:=0; EndFor; Len(E); Len(HorizontalA); Len(HorizontalB); --HorizontalA; DrehspiegelA1:=NewList(0); DrehspiegelA2:=NewList(0); For K:=1 To Len(HorizontalA) Do M:=Transposed(HorizontalA[K]); If M IsIn HorizontalA Then Append(DrehspiegelA1,HorizontalA[K]); Append(DrehspiegelA2,M); EndIf; HorizontalA[K]:=0 EndFor; Len(HorizontalA); Len(DrehspiegelA1); Len(DrehspiegelA2); --DrehspiegelA1; --DrehspiegelA2; Duerer:=Mat[[16,3,2,13],[5,10,11,8],[9,6,7,12],[4,15,14,1]]; Duerer IsIn DrehspiegelA1;