{ vectoperm(v)=matrix(length(v),length(v),j,k,if(k==v[j],1,0)) } { ma(a,b,v,w,h,q)=if(q,,q=length(v)); a11=matrix(q,q,j,k,if(j==k,1+b,0)); a12=matrix(q,q,j,k,if(j==k,-1-a,0)); a21=vectoperm(v)*matrix(q,q,j,k,if(j==k,-a*(1+b),0)); a22=vectoperm(w)*matrix(q,q,j,k,if(j==k,b*(1+a),0)); m=matrix(2*q,2*q,j,k,if(j<=q,if(k<=q,a11[j,k],a12[j,k-q]), if(k<=q,a21[j-q,k],a22[j-q,k-q])))+(a-b)*vectoperm(h);m } { ls(a,c,x,v,p,q)=if(q,,q=length(v)); m=matrix(p+q,p+q,j,k,if(k