with(组合);带有(数字理论);pet循环名称:=进程(n)选项记忆;如果n=0,则返回1;fi;展开(1/n*加法(a[l]*pet_cycleind_symm(n-l),l=1..n));结束;TI_mu(_M):=程序(pv)局部p,n,beta,ind,res;如果pv=1,则返回2fi;p:=op(2,ifactors(pv));n:=nops(p);分辨率:=0;对于从2^n到2^(n+1)的ind-1 doβ:=转换(ind,base,2);res:=资源+(-1)^加(β[q],q=1..n)*2^mul(p[q][1]^(p[q][2]-β[q]),q=1..n);od;res/pv;结束;TI_rcyc:=r->mul(a[p]^TI_mu(p),p以除数(r)表示);CART_prod(卡_产品):=程序(t1,t2)局部v1、v2、l1、l2、res;分辨率:=1;对于以指数(t1)表示的v1,dol1:=op(1,v1);对于以indets(t2)表示的v2 dol2:=op(1,v2);res:=资源*a[lcm(l1,l2)]^(gcd(l1,l2)*度(t1,v1)*度(t2,v2));od;od;物件;结束;CART_pow:=过程(t,q)局部res,p;分辨率:=t;对于p到q-1 dores:=CART_prod(res,t);od;物件;结束;pet_cycleind_hypergraph:=进程(n)选项记忆;本地术语,v,contr,edgidx,edgterm;如果n=0,则返回a[1]fi;如果n=1,则返回a[1]^2 fi;edgidx:=0;对于pet_cycleind_symm(n)do中的术语边缘项:=1;对于indets(term)中的v do控制:=CART_pow(TI_rcyc(op(1,v)),度(术语,v));如果类型(edgterm,`integer`),则edgterm:=控制;其他的边缘术语:=CART_prod(边缘术语,控制);fi;od;edgidx:=edgidx+lcoeff(术语)*edgterm;od;edgidx;结束;