public int CompareTo(object obj)
{
Vector A = this;
Vector B = obj as Vector;
if(A==null || B==null)
return 0;
double Al,Bl;
Al = A.SquaredLength;
Bl = B.SquaredLength;
if(Al>Bl)
return 1;
if(Al<Bl)
return -1;
int i;
for(i=0;i<A.Dim;i++)
{
if(A[i]>B[i])
return 1;
if(A[i]<B[i])
return -1;
}
return 0;
}