void eigsrt(double d[], double **v, int n)
{
int k,j,i;
double p;
for (i=1;i<n;i++) {
p=d[k=i];
for (j=i+1;j<=n;j++)
if (d[j] >= p) p=d[k=j];
if (k != i) {
d[k]=d[i];
d[i]=p;
for (j=1;j<=n;j++) {
p=v[j][i];
v[j][i]=v[j][k];
v[j][k]=p;
}
}
}
}
/* (C) Copr. 1986-92 Numerical Recipes Software $!6)D$|2$3. */