double hls(double *Metrix, int n)
{
double hls1=0;
int i,j,k;
double temp1,temp2;
for(j=0;j<n;j++)
{ temp1=1.0;
for(k=0;k<n;k++)
{
if((k+j<n))
temp1*=Metrix[k*n+k+j];
if((k+j)>n||(k+j)==n)
temp1*=Metrix[k*n+k+j-n];
}
hls1+=temp1;
}
for(i=n-1;i>0||i==0;i--)
{ temp2=1.0;
for(k=0;k<n;k++)
{
if((i-k)>0||(i-k)==0)
temp2*=Metrix[k*n+i-k];
if((i-k)<0)
temp2*=Metrix[k*n+i-k+n];
}
hls1-=temp2;
}
return hls1;
}