public void TestRandomInit()
        {
            NNetwork n = NNetwork.SigmoidNetwork(new int[] { 2, 3, 2 });

            n.RandomizeWeights(seed: 0);
            var first = n.GetWeightMatrix();

            n.RandomizeWeights(seed: 0);
            var equal = n.GetWeightMatrix();

            Assert.AreEqual(first, equal);
            n.RandomizeWeights(seed: 1);
            var not_equal = n.GetWeightMatrix();

            Assert.AreNotEqual(first, not_equal);
        }
        public void TestAlternativeMatrix()
        {
            double[][] from_l1 = new double[][]
            {
                new double[] { -30, 20, 20 },
                new double[] { 10, -20, -20 }
            };
            double[][] from_l2 = new double[][]
            {
                new double[] { -10, 20, 20 }
            };
            double[][][] weights = new double[][][]
            {
                from_l1,
                from_l2
            };
            NNetwork n = NNetwork.SigmoidNetwork(new int[] { 2, 2, 1 });

            n.SetWeightMatrix(weights);

            double[]   from_l1_expected = new double[] { -30, 20, 20, 10, -20, -20 };
            double[]   from_l2_expected = new double[] { -10, 20, 20 };
            double[][] weights_expected = new double[][]
            {
                from_l1_expected,
                from_l2_expected
            };
            Assert.AreEqual(weights_expected, n.GetWeightMatrix());
        }
        public void TestWeightMatrix()
        {
            double[]   from_l1 = new double[] { -30, 20, 20, 10, -20, -20 };
            double[]   from_l2 = new double[] { -10, 20, 20 };
            double[][] weights = new double[][]
            {
                from_l1,
                from_l2
            };
            NNetwork n = NNetwork.SigmoidNetwork(new int[] { 2, 2, 1 });

            n.SetWeightMatrix(weights);
            Assert.AreEqual(n.GetWeightMatrix(), weights);
        }