def det_berkowitz(A,N){ if (N==1){ return(A[0][0])$ } X=newvect(1)$ Z=newvect(N)$ X[0]=-A[0][0]$ for(Cr=1;Cr<=N-1;Cr++){ Z[0]=-A[Cr][Cr]$ Y=newvect(Cr+1)$ if (Cr=N){ L=M$ S=N$ } else{ L=N$ S=M$ T=A$ A=B$ B=T$ } MAT=newmat(L,L)$ for(I=0;I<(L-S);I++) for(J=0;J<=S;J++) MAT[I][J+I]=coef(B,J,C)$ B=C^(L-S)*B$ F=srem(A,C^L)$ G=srem(B,C^L)$ H=coef(A,L,C)*G-coef(B,L,C)*F$ for(J=0;JL-S;I--){ H=C*srem(H,C^(L-1))+coef(A,I,C)*G-coef(B,I,C)*F$ for(J=0;J