public void computeGaussianPerplexity_1()
{
double[][] points =
{
new double[] { 2, 3, 2 },
new double[] { 5, 4, 5 },
new double[] { 9, 6, 4 },
new double[] { 4, 7, 5 },
new double[] { 8, 1, 1 },
new double[] { 1, 2, 4 },
};
double perplexity = 0.5;
int N = points.Length;
int D = 3;
var X = points.ToMatrix();
double[,] expected = new double[N, N];
TSNEWrapper.computeGaussianPerplexity(X, N, D, expected, perplexity);
double[][] actual = Jagged.Zeros(N, N);
TSNE.computeGaussianPerplexity(points, N, D, ref actual, perplexity);
Assert.IsTrue(actual.IsEqual(expected, rtol: 1e-5));
}