Projekt:Computeralgebra-Berechnungen/Symmetrische Hilbert-Kunz Theorie/RelativeOnesForWikiversity

Aus Wikiversity

Syntax: RelativeOnesForWikiversity(F, ListOfLists, MaxN, ReferenceList);

F ist ein Polynom, L eine Liste von Listen von Polynomen, MaxN eine natuerliche Zahl, ReferenceList eine Liste von Zahlen.

Für jede Liste L in ListOfLists und jedes N von 1 bis MaxN (oder der Laenge von ReferenceList, was immer kuerzer ist) wird die Dimension des Cokerns wie in /SymSyzCoker berechnet, sowie die Dimension geteilt durch den N-ten Eintrag in ReferenceList. Das Ergebnis wird in einem Format ausgegeben, das man direkt in eine PrettyTable-Tabelle einfügen kann.

-- Fuer die Erzeugendensysteme in ListOfLists: 
-- von N=1 bis MaxN den Cokern ausrechnen 
-- und mit den Werten in der Liste ReferenceList vergleichen
-- Ergebnisse im Wikiversity-kompatiblen Format ausgeben
Define RelativeOnesForWikiversity(F,ListOfLists,MaxN,ReferenceList)
	RefList:=ReferenceList;
	N:=1;
	While (RefList<>[]) And (N<=MaxN) Do
		R:=Head(RefList);
		For WhichIdeal:=1 To Len(ListOfLists) Do
			L:=ListOfLists[WhichIdeal];
			V:=SymSyzCoker(F,L,N);
			PrintLn "|",N;
			PrintLN "|",V;
			PrintLn "|",FloatStr(V/R);
		EndFor;
		PrintLn "|-";
		RefList:=Tail(RefList);
		N:=N+1;
	EndWhile;
EndDefine;