Generating functions for m-row-restricted slicings

Accompanying the article “Slicings of parallelogram polyominoes: Catalan, Schröder, Baxter, and other sequences” by Nicholas R. Beaton, Mathilde Bouvel, Veronica Guerrini and Simone Rinaldi

The recurrences

Define the matrices and vectors used in eqn. (Mat-RR):

(Subscript[Hvec, m_])[v_]:=Table[(Subscript[H, i])[v],{i,1,m}]
(Subscript[Cvec, m_])[v_]:={x v}~Join~Table[0,{i,2,m}]
(Subscript[Kmat, m_])[v_]:=Module[{i,j,out=ConstantArray[0,{m,m}]},
For[i=1,i<m,i++,
out[[i,i]]=1-x v;
If[i>1,out[[i,i-1]]=((x v)/(1-v))];
For[j=i+1,j≤m,j++,
out[[i,j]]=-x v];
];
out[[m,m-1]]=((x v)/(1-v));
out[[m,m]]=1-x v+((x v)/(1-v));
Return[out]
]
(Subscript[Bmat, m_])[v_]:=Module[{i,out=ConstantArray[0,{m,m}]},
For[i=2,i≤m,i++,
out[[i,i-1]]=((x v)/(1-v));
];
out[[m,m]]=((x v)/(1-v));
Return[out]
]

The recurrence eqn. (Rec):

(Subscript[detK, m_])[v_]:=(1-x v)(Subscript[detK, m-1])[v]+x v (∑_(j=2)^(m-2))((((-1))^j)(((((x v)/(1-v))))^(j-1))(Subscript[detK, m-j])[v])+(((-1))^(m+1))x v(1-x v)(((((x v)/(1-v))))^(m-2))
(Subscript[detK, 2])[v_]:=1-2x v+(x^2)(v^2)+((x v)/(1-v))

Check that it is correct:

Det[(Subscript[Kmat, 2])[v]]-(Subscript[detK, 2])[v]//FullSimplify
Det[(Subscript[Kmat, 3])[v]]-(Subscript[detK, 3])[v]//FullSimplify
Det[(Subscript[Kmat, 4])[v]]-(Subscript[detK, 4])[v]//FullSimplify
Det[(Subscript[Kmat, 5])[v]]-(Subscript[detK, 5])[v]//FullSimplify

Check the alternative three-term recurrence:

-(Subscript[detK, 4])[v]+(1/(1-v))((1-v-2x v+x (v^2))(Subscript[detK, 3])[v]+x v (Subscript[detK, 2])[v])//FullSimplify
-(Subscript[detK, 5])[v]+(1/(1-v))((1-v-2x v+x (v^2))(Subscript[detK, 4])[v]+x v (Subscript[detK, 3])[v])//FullSimplify
-(Subscript[detK, 6])[v]+(1/(1-v))((1-v-2x v+x (v^2))(Subscript[detK, 5])[v]+x v (Subscript[detK, 4])[v])//FullSimplify

The kernel roots

Verify eqn. (△):

(Subscript[detK, 3])[v]*(((1-v))^(3-2))-(((1-v))^(3-2))//FullSimplify//Factor
(Subscript[detK, 4])[v]*(((1-v))^(4-2))-(((1-v))^(4-2))//FullSimplify//Factor
(Subscript[detK, 5])[v]*(((1-v))^(5-2))-(((1-v))^(5-2))//FullSimplify//Factor
(Subscript[detK, 6])[v]*(((1-v))^(6-2))-(((1-v))^(6-2))//FullSimplify//Factor

Define the numerators (m=2 does not satisfy eqn. (△) so it is treated separately):

(Subscript[Num, m_])[v_]:=Simplify[Factor[(Subscript[detK, m])[v]]*(((1-v))^(m-2))]
(Subscript[Num, 2])[v_]:=Simplify[Factor[(Subscript[detK, 2])[v]]*(1-v)]

Finding the first 11 terms of the regular solution to (Subscript[Num, 2])[v] = 0 manually:

(Subscript[subs, 2])=(Subscript[Num, 2])[(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)];
Coefficient[Simplify[(Subscript[subs, 2])],x,0]

(Subscript[sol, 2])[1]={(Subscript[a, 0])->1};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,1]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 1])->1};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,2]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 2])->3};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,3]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 3])->10};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,4]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 4])->37};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,5]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 5])->146};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,6]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 6])->602};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,7]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 7])->2563};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,8]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 8])->11181};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,9]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 9])->49720};
Coefficient[Simplify[(Subscript[subs, 2])]/.(Subscript[sol, 2])[1],x,10]//Simplify

(Subscript[sol, 2])[1]=(Subscript[sol, 2])[1]~Join~{(Subscript[a, 10])->224540};

So the simple solution to (Subscript[Num, 3])[v] = 0 is of the form:

(Subscript[v, 2])[1]=(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)/.(Subscript[sol, 2])[1]

Finding the first 11 terms of the regular solution to (Subscript[Num, 3])[v] = 0 manually:

(Subscript[subs, 3])=(Subscript[Num, 3])[(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)];
Coefficient[Simplify[(Subscript[subs, 3])],x,0]

(Subscript[sol, 3])[1]={(Subscript[a, 0])->1};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,1]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 1])->1};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,2]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 2])->4};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,3]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 3])->15};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,4]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 4])->64};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,5]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 5])->290};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,6]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 6])->1372};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,7]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 7])->6699};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,8]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 8])->33504};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,9]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 9])->170766};
Coefficient[Simplify[(Subscript[subs, 3])]/.(Subscript[sol, 3])[1],x,10]//Simplify

(Subscript[sol, 3])[1]=(Subscript[sol, 3])[1]~Join~{(Subscript[a, 10])->883784};

So the simple solution to (Subscript[Num, 3])[v] = 0 is of the form:

(Subscript[v, 3])[1]=(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)/.(Subscript[sol, 3])[1]

For (Subscript[Num, 4])[v] = 0 there are two simple solutions:

(Subscript[subs, 4])=(Subscript[Num, 4])[(∑_(i=0)^11)(Subscript[a, i])(x^i)+((O[x])^12)];
Coefficient[Simplify[(Subscript[subs, 4])],x,0]

(Subscript[sol, 4])[1]={(Subscript[a, 0])->1};
(Subscript[sol, 4])[2]={(Subscript[a, 0])->1};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,1]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,1]//Simplify

Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,2]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,2]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 1])->0};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 1])->1};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,3]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,3]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 2])->0};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 2])->5};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,4]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,4]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 3])->1};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 3])->19};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,5]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,5]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 4])->0};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 4])->91};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,6]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,6]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 5])->4};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 5])->440};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,7]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,7]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 6])->-3};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 6])->2275};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,8]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,8]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 7])->26};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 7])->11985};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,9]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,9]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 8])->-42};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 8])->65109};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,10]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,10]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 9])->213};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 9])->359051};
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[1],x,11]//Simplify
Coefficient[Simplify[(Subscript[subs, 4])]/.(Subscript[sol, 4])[2],x,11]//Simplify

(Subscript[sol, 4])[1]=(Subscript[sol, 4])[1]~Join~{(Subscript[a, 10])->-506};
(Subscript[sol, 4])[2]=(Subscript[sol, 4])[2]~Join~{(Subscript[a, 10])->2014756};

So the simple solutions to (Subscript[Num, 4])[v] = 0 are of the form:

(Subscript[v, 4])[1]=(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)/.(Subscript[sol, 4])[1]
(Subscript[v, 4])[2]=(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)/.(Subscript[sol, 4])[2]

For (Subscript[Num, 5])[v] = 0 there are three simple solutions:

(Subscript[subs, 5])=(Subscript[Num, 5])[(∑_(i=0)^13)(Subscript[a, i])(x^i)+((O[x])^14)];
Coefficient[Simplify[(Subscript[subs, 5])],x,0]

(Subscript[sol, 5])[1]={(Subscript[a, 0])->1};
(Subscript[sol, 5])[2]={(Subscript[a, 0])->1};
(Subscript[sol, 5])[3]={(Subscript[a, 0])->1};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,1]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,1]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,1]//Simplify

Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,2]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,2]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,2]//Simplify

Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,3]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,3]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,3]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 1])->0};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 1])->0};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 1])->1};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,4]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,4]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,4]//Simplify

(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 2])->6};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,5]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,5]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,5]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 2])->1};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 2])->-1};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 3])->21};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,6]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,6]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,6]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 3])->2};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 3])->2};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 4])->122};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,7]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,7]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,7]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 4])->5};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 4])->-9};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 5])->538};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,8]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,8]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,8]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 5])->14};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 5])->46};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 6])->3404};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,9]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,9]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,9]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 6])->40};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 6])->-252};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 7])->16077};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,10]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,10]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,10]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 7])->118};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 7])->1478};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 8])->109170};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,11]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,11]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,11]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 8])->357};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 8])->-9033};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 9])->525102};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,12]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,12]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[3],x,12]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 9])->1100};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 9])->56924};
(Subscript[sol, 5])[3]=(Subscript[sol, 5])[3]~Join~{(Subscript[a, 10])->3801940};
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[1],x,13]//Simplify
Coefficient[Simplify[(Subscript[subs, 5])]/.(Subscript[sol, 5])[2],x,13]//Simplify

(Subscript[sol, 5])[1]=(Subscript[sol, 5])[1]~Join~{(Subscript[a, 10])->3441};
(Subscript[sol, 5])[2]=(Subscript[sol, 5])[2]~Join~{(Subscript[a, 10])->-367289};

So the simple solutions to (Subscript[Num, 5])[v] = 0 are of the form:

(Subscript[v, 5])[1]=(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)/.(Subscript[sol, 5])[1]
(Subscript[v, 5])[2]=(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)/.(Subscript[sol, 5])[2]
(Subscript[v, 5])[3]=(∑_(i=0)^10)(Subscript[a, i])(x^i)+((O[x])^11)/.(Subscript[sol, 5])[3]

Solving the system

Use the inverse of (Subscript[K, m])[v] to rewrite the RHS of the system in kernel form:

(Subscript[RHS, 2])=(Subscript[detK, 2])[v]*Inverse[(Subscript[Kmat, 2])[v]].((Subscript[Bmat, 2])[v].(Subscript[Hvec, 2])[1]+(Subscript[Cvec, 2])[v])//Simplify
(Subscript[RHS, 3])=(Subscript[detK, 3])[v]*Inverse[(Subscript[Kmat, 3])[v]].((Subscript[Bmat, 3])[v].(Subscript[Hvec, 3])[1]+(Subscript[Cvec, 3])[v])//Simplify
(Subscript[RHS, 4])=(Subscript[detK, 4])[v]*Inverse[(Subscript[Kmat, 4])[v]].((Subscript[Bmat, 4])[v].(Subscript[Hvec, 4])[1]+(Subscript[Cvec, 4])[v])//Simplify
(Subscript[RHS, 5])=(Subscript[detK, 5])[v]*Inverse[(Subscript[Kmat, 5])[v]].((Subscript[Bmat, 5])[v].(Subscript[Hvec, 5])[1]+(Subscript[Cvec, 5])[v])//Simplify

Upon substitution of a kernel root, all of the above terms will be equal to 0. For each system, it appears that all the valid kernel roots are required, but they can be substituted into any of the equations to give valid solutions. We will just use the (m^th) equation in each system.

For m=2, we can use the kernel root, combining (Subscript[H, 1])[1] and (Subscript[H, 2])[1], and don’t need any other equation:

(Subscript[RHS, 2])[[2]]/.(Subscript[H, 2])[1]->(Subscript[H, 12])[1]-(Subscript[H, 1])[1]//Simplify (* combine (Subscript[H, 1])[1] and (Subscript[H, 2])[1] into (Subscript[H, 12])[1] *)
(Subscript[H, 12])[1]/.Solve[%==0,(Subscript[H, 12])[1]][[1]] (* suppose that v is a kernel root, then rearrange the equation to solve for (Subscript[H, 12])[1] *)
(Subscript[solution, 2])=%/.v->(Subscript[v, 2])[1] (* substitute the kernel root *)

For m=3, we can use the kernel root, combining (Subscript[H, 2])[1] and (Subscript[H, 3])[1] and then also use the (Subscript[H, 1])[1] equation:

(Subscript[RHS, 3])[[3]]/.(Subscript[H, 3])[1]->(Subscript[H, 23])[1]-(Subscript[H, 2])[1]//Simplify (* combine (Subscript[H, 2])[1] and (Subscript[H, 3])[1] into (Subscript[H, 23])[1] *)
(Subscript[H, 1])[1]+(Subscript[H, 23])[1]/.Solve[{%==0,(Subscript[H, 1])[1]==x+x((Subscript[H, 1])[1]+(Subscript[H, 23])[1])},{(Subscript[H, 1])[1],(Subscript[H, 23])[1]}][[1]]//Simplify (* suppose that v is a kernel root, then solve the linear system with the (Subscript[H, 1])[1] equation *)
(Subscript[solution, 3])=%/.v->(Subscript[v, 3])[1] (* substitute the kernel root *)

For m=4, we combine (Subscript[H, 3])[1] and (Subscript[H, 4])[1], and use both kernel roots as well as the (Subscript[H, 1])[1] equation:

(Subscript[RHS, 4])[[4]]/.(Subscript[H, 4])[1]->(Subscript[H, 34])[1]-(Subscript[H, 3])[1]//Simplify (* combine (Subscript[H, 3])[1] and (Subscript[H, 4])[1] into (Subscript[H, 34])[1] *)
(Subscript[H, 1])[1]+(Subscript[H, 2])[1]+(Subscript[H, 34])[1]/.Solve[{(%/.v->v1)==0,(%/.v->v2)==0,(Subscript[H, 1])[1]==x+x((Subscript[H, 1])[1]+(Subscript[H, 2])[1]+(Subscript[H, 34])[1])}, {(Subscript[H, 1])[1],(Subscript[H, 2])[1],(Subscript[H, 34])[1]}][[1]]//Simplify (* suppose that v1 and v2 are kernel roots, then solve the linear system with the (Subscript[H, 1])[1] equation *)
(Subscript[solution, 4])=%/.{v1->(Subscript[v, 4])[1],v2->(Subscript[v, 4])[2]} (* substitute v1 and v2 as the two kernel roots *)

For m=5, we combine (Subscript[H, 4])[1] and (Subscript[H, 5])[1], and use all three kernel roots as well as the (Subscript[H, 1])[1] equation:

(Subscript[RHS, 5])[[5]]/.(Subscript[H, 5])[1]->(Subscript[H, 45])[1]-(Subscript[H, 4])[1]//Simplify (* combine (Subscript[H, 4])[1] and (Subscript[H, 5])[1] into (Subscript[H, 45])[1] *)
(Subscript[H, 1])[1]+(Subscript[H, 2])[1]+(Subscript[H, 3])[1]+(Subscript[H, 45])[1]/.Solve[{(%/.v->v1)==0,(%/.v->v2)==0,(%/.v->v3)==0,(Subscript[H, 1])[1]==x+x((Subscript[H, 1])[1]+(Subscript[H, 2])[1]+(Subscript[H, 3])[1]+(Subscript[H, 45])[1])},{(Subscript[H, 1])[1],(Subscript[H, 2])[1],(Subscript[H, 3])[1],(Subscript[H, 45])[1]}][[1]]//Simplify (* suppose that v1, v2 and v3 are kernel roots, then solve the linear system with the (Subscript[H, 1])[1] equation *)
(Subscript[solution, 5])=%/.{v1->(Subscript[v, 5])[1],v2->(Subscript[v, 5])[2],v3->(Subscript[v, 5])[3]} (* substitute v1, v2 and v3 as the three kernel roots *)

Polynomial equations satisfied by the generating functions

By construction the above solutions for m=2,3,4,5 are algebraic, but it’s not yet clear what polynomials they are roots of. For m=2 and 3 at least we can determine this numerically, but we will need more terms in the series. It’s easier to get more terms by iterating the functional equations.

For m=2:

(Subscript[H2, 1])[n_]:=(Subscript[H2, 1])[n]=Normal[Simplify[Series[(Subscript[H2eqn, 1])[n-1],{x,0,n}]]]
(Subscript[H2, 2])[n_]:=(Subscript[H2, 2])[n]=Normal[Simplify[Series[(Subscript[H2eqn, 2])[n-1],{x,0,n}]]]
(Subscript[H2subs, 1])[n_,vv_]:=(Subscript[H2, 1])[n]/.v->vv
(Subscript[H2subs, 2])[n_,vv_]:=(Subscript[H2, 2])[n]/.v->vv
(Subscript[H2eqn, 1])[n_]:=x v+x v((Subscript[H2subs, 1])[n,v]+(Subscript[H2subs, 2])[n,v])
(Subscript[H2eqn, 2])[n_]:=((x v)/(1-v))((Subscript[H2subs, 2])[n,1]-(Subscript[H2subs, 2])[n,v]+(Subscript[H2subs, 1])[n,1]-(Subscript[H2subs, 1])[n,v])+x v (Subscript[H2subs, 2])[n,v]
(Subscript[H2, 1])[0]=0;
(Subscript[H2, 2])[0]=0;

H2coeffs[n_]:=CoefficientList[(Subscript[H2subs, 1])[n,1]+(Subscript[H2subs, 2])[n,1],x]

H2coeffs[50]

Now we can use Manuel Kauers’ “Guess” package to determine the polynomial satisfied by this series (this requires Guess.m and LinearSystemSolver.m to be in the same directory as this file):

SetDirectory[NotebookDirectory[]];
<<Guess.m

GuessMinAE[H2coeffs[50],H[x]]

For m=3:

(Subscript[H3, 1])[n_]:=(Subscript[H3, 1])[n]=Normal[Simplify[Series[(Subscript[H3eqn, 1])[n-1],{x,0,n}]]]
(Subscript[H3, 2])[n_]:=(Subscript[H3, 2])[n]=Normal[Simplify[Series[(Subscript[H3eqn, 2])[n-1],{x,0,n}]]]
(Subscript[H3, 3])[n_]:=(Subscript[H3, 3])[n]=Normal[Simplify[Series[(Subscript[H3eqn, 3])[n-1],{x,0,n}]]]
(Subscript[H3subs, 1])[n_,vv_]:=(Subscript[H3, 1])[n]/.v->vv
(Subscript[H3subs, 2])[n_,vv_]:=(Subscript[H3, 2])[n]/.v->vv
(Subscript[H3subs, 3])[n_,vv_]:=(Subscript[H3, 3])[n]/.v->vv
(Subscript[H3eqn, 1])[n_]:=x v+x v((Subscript[H3subs, 1])[n,v]+(Subscript[H3subs, 2])[n,v]+(Subscript[H3subs, 3])[n,v])
(Subscript[H3eqn, 2])[n_]:=((x v)/(1-v))((Subscript[H3subs, 1])[n,1]-(Subscript[H3subs, 1])[n,v])+x v((Subscript[H3subs, 2])[n,v]+(Subscript[H3subs, 3])[n,v])
(Subscript[H3eqn, 3])[n_]:=((x v)/(1-v))((Subscript[H3subs, 3])[n,1]-(Subscript[H3subs, 3])[n,v]+(Subscript[H3subs, 2])[n,1]-(Subscript[H3subs, 2])[n,v])+x v (Subscript[H3subs, 3])[n,v]
(Subscript[H3, 1])[0]=0;
(Subscript[H3, 2])[0]=0;
(Subscript[H3, 3])[0]=0;

H3coeffs[n_]:=CoefficientList[(Subscript[H3subs, 1])[n,1]+(Subscript[H3subs, 2])[n,1]+(Subscript[H3subs, 3])[n,1],x]

H3coeffs[50]

GuessMinAE[H3coeffs[50],H[x]]