HOME: | |
BACK: | Vertex operators for standard SFs |
Monomial vertex operators
Add a sequence of columns to m_\la[X]
> with(combinat,numbcomb):
>
CM:=proc(a,k,EX) local i,la;
if a=0 then
tom(numbcomb(2*k,k)*EX+convert([seq(seq(
(-1)^i*n0k(k,la)*
m[op(la)]*skew(ela(la),EX),
la=Par(i)),i=1..`SF/stdeg`(EX))],`+`));
else tom(m[seq(a,i=1..k)]*EX+convert([seq(seq(
(-1)^i*numbcomb(k+mm(a,la),k)*
m[op(insrtmk(a,k,la))]*skew(ela(la),EX),
la=Par(i)),i=1..`SF/stdeg`(EX))],`+`));
fi;
end:
>
n0k:=proc(k,la);
if nops(la)>k then 0; else numbcomb(2*k-nops(la),k); fi;
end:
>
insrtmk:=proc(a,k,la);
if a=0 then la;
else
sort([op(la),seq(a,j=1..k)],proc(a,b) evalb(b<a) end);
fi;
end:
>
mm:=proc(a,la) local i;
convert([seq(eqm(la[i],a), i=1..nops(la))],`+`);
end:
eqm:=proc(a,b); if a=b then 1; else 0; fi; end:
>
ela:=proc(la) local i;
product(e.(la[i]),i=1..nops(la));
end:
Add a row on m_\la[X]
>
RM:=proc(k,EX) local a,b,c,i,j,la;
tom(convert([seq(seq(seq(
(-1)^j*m[seq(la[b]+k,b=1..nops(la)),seq(k,c=1..i-nops(la))]*
skew(ela(la)*(-h.k)^(i-1),EX),
la=Par(j,i)),
j=0..`SF/stdeg`(EX)-k*(i-1)),
i=1..trunc(evalf(`SF/stdeg`(EX)/k))+1)],`+`));
end:
ela:=proc(la) local i;
if la=[] then 1;
else product(e.(la[i]),i=1..nops(la)) fi;
end:
nk:=proc(k,la);
convert([seq(eqk(k,la[i]), i=1..nops(la))],`+`);
end:
eqk:=proc(n,k);
if n=k then 1; else 0; fi;
end: