public void CorrelationTest() { var v1 = new SparseVector(new double[] { 1.0 }); var v2 = new SparseVector(new double[] { 1.0 }); var v3 = new SparseVector(new double[] { 1.0, 0.0, 0.0 }); var v4 = new SparseVector(new double[] { 0.0, 1.0, 0.0 }); var v5 = new SparseVector(new double[] { -1.0, 0.0, 0.0 }); //При вычислении возможны отклонения на 0.00000001. Будьте осторожны var cd1 = v1.Correlation(v2); var cd2 = v3.Correlation(v4); var cd3 = v3.Correlation(v5); Assert.IsTrue(Math.Abs(cd1 - 1) < epsilon); Assert.IsTrue(Math.Abs(cd2) < epsilon); Assert.IsTrue(Math.Abs(cd3 + 1) < epsilon); }