Projekt:Computeralgebra-Berechnungen/Symmetrische Hilbert-Kunz Theorie/SymIndexRecursive/coc

Define SymIndexRecursive(K,N)
If (K=1) Then Return [[N]] 
Else
	IndexSet:=[];
	FirstIndex:=[N];
	For I:=2 To K Do Append(FirstIndex, 0) EndFor;
	Append(IndexSet, FirstIndex);
	For I:=1 To N Do 
		CurrentIndex:=[];
		RecList:=SymIndexRecursive(K-1, I);
		Foreach Indx In RecList Do
			-- Print Indx," "; 
			Indx:=Concat([N-I],Indx);
			Append(CurrentIndex, Indx);
		EndForeach;
--	PrintLn CurrentIndex;
	IndexSet:=Concat(IndexSet, CurrentIndex);
	EndFor;
Return IndexSet EndIf;
EndDefine;