\\sum of elements of a vector\\ sumvec(v)=return(sum(i=1,length(v),v[i])); \\Tuples of positive entries\\ opartit(a)=\ local(ans,w);\ ans=[];\ w=[];\ opartit_r(a,w); \\Recursive method for opartit(a)\\ opartit_r(a,w)=\ s=sumvec(w);\ if(s==a,\ ans=concat(ans,[w]);if(length(w)sum(j=1,i,w[j])/b,,return(0)));\ return(1); \\Bracket product\\ b_prod(n,t)=\ return(prod(i=1,n,(t^(2*i)-1)/(t^2-1))); \\Gaussian binomials\\ gaussian_binom(m,n,t)=\ if(m-n<0,return(0),return(b_prod(m,t)/(b_prod(n,t)*b_prod(m-n,t)))); \\Poincare polynomial for dimension vector (a,b) of k-arrow Kronecker quiver\\ poincare_reineke(k,a,b,t)=\ local(c,s,l,v,w,ans);\ c=config(a,b);\ l=length(c);\ ans=0;\ for(i=1,l,\ v=c[i][1];\ w=c[i][2];\ s=length(v);\ ans=ans+(-1)^(s-1)*t^(2*poincare_sum(k,v,w))*\ prod(j=1,s,gaussian_binom(k*v[j],w[j],t)/b_prod(v[j],t)));\ ans=((t^2-1)^(1-a))*(t^((-a)*(a-1)))*ans;\ return(ans); \\auxiliary function for poincare(k,a,b,t)\\ poincare_sum(k,v,w)=\ local(ans,l);\ ans=0;\ l=length(v);\ for(i=1,l,\ for(j=i+1,l,\ ans=ans+(k*v[j]-w[j])*w[i]));\ return(ans);