public double Compare(DocumentVector x, DocumentVector y)
        {
            DocumentVector vector1 = (DocumentVector)x;
            DocumentVector vector2 = (DocumentVector)y;
            double total = 0;

            for (int i = 0; i < vector1.Vector.Length; i++)
                total += Math.Pow(vector1.Vector[i] - vector2.Vector[i], 2);

            return -1*Math.Sqrt(total);
        }
        public double Compare(DocumentVector vector1, DocumentVector vector2)
        {
            double total = 0;

            for (int i = 0; i < vector1.Vector.Length; i++)
            {
                total += Math.Abs(vector1.Vector[i] - vector2.Vector[i]);
            }

            return -1*total;
        }
        public double Compare(DocumentVector x, DocumentVector y)
        {
            DocumentVector vector1 = (DocumentVector)x;
            DocumentVector vector2 = (DocumentVector)y;

            double total = 0;
            for (int i = 0; i < vector1.Vector.Length; i++)
                total += vector1.Vector[i] * vector2.Vector[i];

            double den = vector1.Vector.Size * vector2.Vector.Size;

            return (den==0)? 0 : total/den;
        }
 public LabeledDocumentVector(DocumentVector Document, String Classification)
 {
     this.Document = Document;
     this.Classification = Classification;
 }