int transpose(unsigned long ia[],unsigned short ja[],double an[], unsigned long iat[],unsigned short jat[],double ant[], unsigned short n,unsigned short m) { /* Transposes (sparse) matrix given in row-wise format. Adapted from FORTRAN version written by Sergio Pissanetzky, 1984 in: Sparse Matrix Technology (Academic Press, London), p. 238.*/ unsigned long mh,nh,i,j,iaa,iab; mh=m+1; nh=n+1; for(i=2;i<=mh;i++){iat[i]=0;} iab=ia[nh]-1; for(i=1;i<=iab;i++){ j=ja[i]+2; if(j<=mh){iat[j]+=1;} } iat[1]=1; iat[2]=1; if(m!=1){for(i=3;i<=mh;i++){iat[i]+=iat[i-1];}} for(i=1;i<=n;i++){ iaa=ia[i]; iab=ia[i+1]-1; if(iab