RExp[n_]:=展开[b加[R[0],总计[b^#R[#]&/@范围[n]]]
RCalc[n_]:=使用[{basis=Subtract[Tally[Join[Range[n+2],#]][[All,2]],表[1,{n+2}]]&/@整数分区[n+2][[3;;-1]]},
总计@ReplaceAll[次数[-2,多项式@@#,v[总数[#]],次数@@幂[R集[#-1]&/@范围[n+2],#]]&/@basis,{Q^2->1,v[2]->1/4}]]
dt[n_]:=使用[{exp=Normal[Series[-1/(1+x)/.x->Total[(2#v[#]RExp[n-1]^(#-2)&/@Range[3,n+2])],{b,0,n}]},
展开@ReplaceAll[系数[exp,b,#]&/@范围[n],R->R集]]
RingGens[n_]:=次数@@(v/@#)&/@(整数分区[n]/.x_Integer:>x+2)
tri[m_]:=映射线程[函数[{a,b},时间[-#/.v[n_]:>Q^n/。Q^n_:>二项式[n,n/2],(1/2)系数[a,#]]&/@b],{dt[2m][[2#]]//@Range[m],RingGens[2#]//@Range[m]}]
R集[0]=1;集合[RSet[#],展开@RCalc[#]]&&@范围[2*7];
tri7=三[7];tri7//表格
PeriodExpansion[tri_,n_]:=ReplaceAll[1+Dot[MapThread[Dot,{tri,
2个RingGens[2#]&/@范围[n]}],(2 h)^(范围[n])],{v[m_]:>(v[m]*(1/2)^m)}]
{#,SameQ[正常@系列[(2/Pi)*椭圆k[k],{k,0,7}],#]}&@ReplaceAll[
周期展开[tri7,7],{v[n_/;奇数Q[n]]:>0,v[n]:>(-1)^(n/2-1)/2/(n!),h->2k}]