Accord.Tests.Interop.Math.TSNETest.computeGaussianPerplexity_2 C# (CSharp) Method

computeGaussianPerplexity_2() private method

private computeGaussianPerplexity_2 ( ) : void
return void
        public void computeGaussianPerplexity_2()
        {
            double[][] points =
            {
                new double[] { 2, 3, 20 },
                new double[] { 5, 4, 5 },
                new double[] { 9, 6, 500 },
                new double[] { 4, 7, -100 },
                new double[] { 8, 1, 67 },
                new double[] { 1, 2, -888 },
            };

            double perplexity = 0.5;
            int N = points.Length;
            int D = 3;
            int K = (int)(3 * perplexity);
            double[,] X = points.ToMatrix();
            double[][] x = X.ToJagged();

            uint[] expected_row = Vector.Zeros<uint>(100);
            uint[] expected_col = Vector.Zeros<uint>(100);
            double[] expected_val = Vector.Zeros<double>(100);
            TSNEWrapper.computeGaussianPerplexity(X, N, D, expected_row, expected_col, expected_val, perplexity, K);

            int[] actual_row = null;
            int[] actual_col = null;
            double[] actual_val = null;
            TSNE.computeGaussianPerplexity(x, N, D, ref actual_row, ref actual_col, ref actual_val, perplexity, K);

            expected_row = expected_row.First(7);
            expected_col = expected_col.First(6);
            expected_val = expected_val.First(6);
            Assert.IsTrue(actual_row.IsEqual(expected_row));
            Assert.IsTrue(actual_col.IsEqual(expected_col));
            Assert.IsTrue(actual_val.IsEqual(expected_val, 1e-4));
        }