public void SeparateTest2()
{
Accord.Math.Tools.SetupGenerator(0);
double[,] S = Matrix.Random(5000, 2);
double[,] A =
{
{ 0.25, 0.25 },
{ -0.25, 0.75 },
};
double[,] X = S.Multiply(A);
var ica = new IndependentComponentAnalysis(X);
ica.Compute(2);
var expected = ica.Result.ToSingle().ToJagged(true);
var actual = ica.Separate(X.ToSingle().ToJagged(true));
Assert.IsTrue(expected.IsEqual(actual, 1e-4f));
}