Exemplo n.º 1
0
        static void SaveModel(NetworkModel model, OxyPlot.Series.LineSeries series = null)
        {
            Console.WriteLine("\nSaving model...");
            if (series != null)
            {
                try
                {
                    var graphPoints = new List <Vector <double> >();

                    foreach (var point in series.Points)
                    {
                        graphPoints.Add(Vector <double> .Build.Dense(new double[] { point.Y }));
                    }

                    DelimitedWriter.Write(model.Path("graph"), Matrix <double> .Build.DenseOfRowVectors(graphPoints));

                    Console.WriteLine("Saved graph data");
                }
                catch
                {
                    Console.WriteLine("Unable to save graph data");
                }
            }
            model.Save();
            Console.WriteLine("Model has been saved.");
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            var data = Matrix <double> .Build.Random(2, 2);

            DelimitedWriter.Write("123", data);
            MatlabWriter.Write("123", Matrix <double> .Build.Random(2, 2), "a");
        }
Exemplo n.º 3
0
        /// <summary>
        /// Save currently loaded model.
        /// </summary>
        public override void Save()
        {
            Directory.CreateDirectory(Path("layers"));

            int count = 0;

            foreach (var layer in layers)
            {
                var state = Matrix <double> .Build.Dense(layer.Size, layer.InputCount + 1, (row, column) =>
                {
                    if (column == 0)
                    {
                        // First column is neuron bias.
                        return(layer.Neurons[row].Bias);
                    }
                    else
                    {
                        // Everything else is weights.
                        return(layer.Neurons[row].Weights.At(column - 1));
                    }
                });

                DelimitedWriter.Write(Path(String.Format("layers/{0}", count)), state);
                count++;
            }
        }
Exemplo n.º 4
0
        public void Save(string folderPath)
        {
            string layerPath = folderPath + "\\" + Name;

            Directory.CreateDirectory(layerPath);

            if (Activations != null)
            {
                Matrix <double> a = DenseMatrix.Build.DenseOfRowVectors(Activations);
                var             activationsFilePath = String.Format("{0}\\Activations.csv", layerPath);
                DelimitedWriter.Write(activationsFilePath, a, ",");
            }

            if (Biases != null)
            {
                Matrix <double> bm             = DenseMatrix.Build.DenseOfRowVectors(Biases);
                var             biasesFilePath = String.Format("{0}\\Biases.csv", layerPath);
                DelimitedWriter.Write(biasesFilePath, bm, ",");
            }

            if (Weights != null)
            {
                var weightsFilePath = String.Format("{0}\\Weights.csv", layerPath);
                DelimitedWriter.Write(weightsFilePath, Weights, ",");
            }
        }
Exemplo n.º 5
0
    private void OnShipFinished(float score, int index)
    {
        finishedShips++;
        finishedBatchShips++;
        scores[index] = score;

        if (finishedBatchShips >= shipsPerBatch)
        {
            EndBatch();
            currentBatch++;
            if (currentBatch >= batches)
            {
                currentGeneration++;
                chart.AddGenerationData(currentGeneration, GetMaxScore(), GetAvgScore());
                if (currentGeneration < generations)
                {
                    NewGeneration();
                }
                else
                {
                    DelimitedWriter.Write(Application.dataPath + "/trained.csv", Evolution.GetFittestChromosome(chromosomes, scores).ToColumnMatrix(), ",", null, null, System.Globalization.CultureInfo.InvariantCulture.NumberFormat);
                    SceneManager.LoadScene("Playing");
                }
            }
            else
            {
                StartBatch();
            }
        }
    }
    public void savematrix(ref Matrix <float> stored, int casenum)
    {
        switch (casenum)
        {
        case 0: DelimitedWriter.Write("Kmatrix.csv", stored, ","); break;

        case 1: DelimitedWriter.Write("Mmatrix.csv", stored, ","); break;

        case 2: DelimitedWriter.Write("Gmatrix.csv", stored, ","); break;

        case 3: DelimitedWriter.Write("Dmatrix.csv", stored, ","); break;
        }
    }
Exemplo n.º 7
0
    void TrainingFinished()
    {
        Time.timeScale = 1.0f;
        Debug.Log(Y);
        nn.train(X, Y);
        DelimitedWriter.Write <double>("X.csv", X, ",");
        DelimitedWriter.Write <double>("Y.csv", Y, ",");
        DelimitedWriter.Write <double>("predict.csv", nn.predict(X), ",");
        training = false;
        Debug.Log("TrainingFinished");

        state = State.Idle;
    }
Exemplo n.º 8
0
        static void Main(string[] args)
        {
            Utils.SetNumberDecimalSeparatorToDotInCultureSettings();

            var x_data = DelimitedReader.Read <double>(Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\x_data.txt"));
            var y_data = DelimitedReader.Read <double>(Path.Combine(Utils.GetAssemblyPath(), "..\\..\\TestData\\y_data.txt"));

            NeuralNetwork.CostFunctionWithThetaParameter backProp =
                tt =>
            {
                var backPropagationResult = NeuralNetwork.BackPropagation(x_data, y_data, tt, new List <int>()
                {
                    25
                }, 10, 0);
                return(backPropagationResult);
            };

            var thetas = NeuralNetwork.RandomInitialiseWeights(400, 10, new List <int>()
            {
                25
            });

            var theta = NeuralNetwork.PackThetas(thetas);

            var resultGradientDescent = NeuralNetwork.GradientDescent(backProp, theta, 1, 300);

            DelimitedWriter.Write("..\\..\\TestData\\ThetaGradient.txt", resultGradientDescent.Item1, "thetaGradient");
            DelimitedWriter.Write("..\\..\\TestData\\JHistory.txt", resultGradientDescent.Item2, "JHistory");

            var resultTheta = resultGradientDescent.Item1;

            //var resultComputeNumericalGradient = NeuralNetwork.ComputeNumericalGradient(backProp, resultTheta);
            //resultComputeNumericalGradient.Save("D:/test/numericalGradients.txt");

            var result5 = NeuralNetwork.BackPropagation(x_data, y_data, resultTheta, new List <int>(25), 10, 0);
            var JJ      = result5.Item1;

            DelimitedWriter.Write("..\\..\\TestData\\GradientForBackPropagation.txt", result5.Item2, "gradBackPropagation");

            var resultThetaLoadedFromFile = (DenseMatrix)DelimitedReader.Read <double>("..\\..\\TestData\\thetaGradient.txt");
            var thetasList = NeuralNetwork.UnpackThetas(resultThetaLoadedFromFile, 400, new List <int>()
            {
                25
            }, 10);

            var result = NeuralNetwork.GetPredictions(x_data, y_data, thetasList);

            Console.WriteLine(result.Item1);

            DelimitedWriter.Write("..\\..\\TestData\\Predictions.txt", result.Item2, "");
        }
 public void CanWriteCommaDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { 1.1f, 2.2f, 3.3f }, { 4.4f, 5.5f, 6.6f }, { 7.7f, 8.8f, 9.9f } });
     var writer = new DelimitedWriter(',');
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     const string expected = @"1.1,2.2,3.3
     4.4,5.5,6.6
     7.7,8.8,9.9";
     Assert.AreEqual(expected, text);
 }
 public void CanWriteSpaceDelimitedData()
 {
     var matrix = new SparseMatrix(new[,] { { 1.1, 0, 0 }, { 0, 5.5, 0 }, { 0, 0, 9.9 } });
     var writer = new DelimitedWriter(' ');
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     const string expected = @"1.1 0 0
     0 5.5 0
     0 0 9.9";
     Assert.AreEqual(expected, text);
 }
Exemplo n.º 11
0
 public void CanWriteCommaDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { 1.1, 2.2, 3.3 }, { 4.4, 5.5, 6.6 }, { 7.7, 8.8, 9.9 } });
     var writer = new DelimitedWriter(',');
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = @"1.1,2.2,3.3" + Environment.NewLine
                    + "4.4,5.5,6.6" + Environment.NewLine
                    + "7.7,8.8,9.9";
     Assert.AreEqual(expected, text);
 }
 public void CanWriteCommaDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) }, { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) }, { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) } });
     var writer = new DelimitedWriter(',');
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)" + Environment.NewLine
                    + "(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)" + Environment.NewLine
                    + "(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";
     Assert.AreEqual(expected, text);
 }
Exemplo n.º 13
0
        /// <summary>
        /// Save currently loaded model.
        /// </summary>
        override public void Save()
        {
            var state = Vector <double> .Build.Dense(perceptron.Weights.Count + 1, (index) =>
            {
                if (index == 0)
                {
                    return(perceptron.Bias);
                }
                else
                {
                    return(perceptron.Weights.At(index - 1));
                }
            });

            DelimitedWriter.Write <double>(Path(Config.State), state.ToRowMatrix());
        }
        public void CanWriteTabDelimitedDataWithMissingValues()
        {
            var matrix = DenseMatrix.OfArray(new[, ] {
                { 1.1, double.NaN, 0 }, { 0, 5.5, 0 }, { double.NaN, double.NaN, 9.9 }
            });
            var stream = new MemoryStream();

            DelimitedWriter.Write(stream, matrix, "\t", missingValue: double.NaN);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "1.1\t\t0" + Environment.NewLine
                           + "0\t5.5\t0" + Environment.NewLine
                           + "\t\t9.9";

            Assert.AreEqual(expected, text);
        }
        public void CanWriteCommaDelimitedDataWithMissingValues()
        {
            var matrix = SparseMatrix.OfArray(new[, ] {
                { 1.1, 0, 0 }, { 0, 5.5, 0 }, { 0, 0, 9.9 }
            });
            var stream = new MemoryStream();

            DelimitedWriter.Write(stream, matrix, ",", missingValue: 0);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1.1,," + Environment.NewLine
                           + ",5.5," + Environment.NewLine
                           + ",,9.9";

            Assert.AreEqual(expected, text);
        }
        public void CanWriteSpaceDelimitedData()
        {
            var matrix = SparseMatrix.OfArray(new[, ] {
                { 1.1, 0, 0 }, { 0, 5.5, 0 }, { 0, 0, 9.9 }
            });
            var stream = new MemoryStream();

            DelimitedWriter.Write(stream, matrix, " ");
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1.1 0 0" + Environment.NewLine
                           + "0 5.5 0" + Environment.NewLine
                           + "0 0 9.9";

            Assert.AreEqual(expected, text);
        }
        public void CanWritePeriodDelimitedData()
        {
            var matrix = DenseMatrix.OfArray(new[, ] {
                { 1.1, 2.2, 3.3 }, { 4.4, 5.5, 6.6 }, { 7.7, 8.8, 9.9 }
            });
            var stream = new MemoryStream();

            DelimitedWriter.Write(stream, matrix, delimiter: ".", formatProvider: new CultureInfo("tr-TR"));
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1,1.2,2.3,3" + Environment.NewLine
                           + "4,4.5,5.6,6" + Environment.NewLine
                           + "7,7.8,8.9,9";

            Assert.AreEqual(expected, text);
        }
 public void CanWriteCommaDelimitedData()
 {
     var matrix = DenseMatrix.OfArray(new[,] {{new Complex32(1.1f, 1.1f), new Complex32(2.2f, 2.2f), new Complex32(3.3f, 3.3f)}, {new Complex32(4.4f, 4.4f), new Complex32(5.5f, 5.5f), new Complex32(6.6f, 6.6f)}, {new Complex32(7.7f, 7.7f), new Complex32(8.8f, 8.8f), new Complex32(9.9f, 9.9f)}});
     var writer = new DelimitedWriter(',')
         {
             CultureInfo = CultureInfo.InvariantCulture
         };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)" + Environment.NewLine
         + "(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)" + Environment.NewLine
         + "(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";
     Assert.AreEqual(expected, text);
 }
 public void CanWriteCommaDelimitedData()
 {
     var matrix = DenseMatrix.OfArray(new[,] {{1.1f, 2.2f, 3.3f}, {4.4f, 5.5f, 6.6f}, {7.7f, 8.8f, 9.9f}});
     var writer = new DelimitedWriter(',')
         {
             CultureInfo = CultureInfo.InvariantCulture
         };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = @"1.1,2.2,3.3" + Environment.NewLine
         + "4.4,5.5,6.6" + Environment.NewLine
         + "7.7,8.8,9.9";
     Assert.AreEqual(expected, text);
 }
        public void CanWriteCommaDelimitedDoubleData()
        {
            var matrix = DenseMatrix.OfArray(new[, ] {
                { 1.1, 2.2, 3.3 }, { 4.4, 5.5, 6.6 }, { 7.7, 8.8, 9.9 }
            });
            var stream = new MemoryStream();

            DelimitedWriter.Write(stream, matrix, ",", formatProvider: CultureInfo.InvariantCulture);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1.1,2.2,3.3" + Environment.NewLine
                           + "4.4,5.5,6.6" + Environment.NewLine
                           + "7.7,8.8,9.9";

            Assert.AreEqual(expected, text);
        }
Exemplo n.º 21
0
        public void CanWriteCommaDelimitedData()
        {
            var matrix = new DenseMatrix(new[, ] {
                { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) }, { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) }, { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) }
            });
            var writer = new DelimitedWriter(',');
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)" + Environment.NewLine
                           + "(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)" + Environment.NewLine
                           + "(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";

            Assert.AreEqual(expected, text);
        }
 public void CanWritePeriodDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { 1.1, 2.2, 3.3 }, { 4.4, 5.5, 6.6 }, { 7.7, 8.8, 9.9 } });
     var culture = new CultureInfo("tr-TR");
     var writer = new DelimitedWriter('.')
                  {
                      CultureInfo = culture
                  };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     const string expected = @"1,1.2,2.3,3
     4,4.5,5.6,6
     7,7.8,8.9,9";
     Assert.AreEqual(expected, text);
 }
Exemplo n.º 23
0
        public void Writer_ExistingFile()
        {
            using (var writer = new DelimitedWriter(TestExistingOutputFile, true))
            {
                writer.Write("testing 1-1", "testing 1-2");
                writer.Write("testing 2-1", "testing 2-2", "testing 2-3");
            }

            var expected = "Testing\tcontent\r\ntesting 1-1\ttesting 1-2\r\ntesting 2-1\ttesting 2-2\ttesting 2-3\r\n";

            string output;

            using (var outFile = File.OpenText(TestExistingOutputFile))
            {
                output = outFile.ReadToEnd();
            }
            Assert.That(expected, Is.EqualTo(output));
        }
 public void CanWritePeriodDelimitedData()
 {
     var matrix = DenseMatrix.OfArray(new[,] {{new Complex32(1.1f, 1.1f), new Complex32(2.2f, 2.2f), new Complex32(3.3f, 3.3f)}, {new Complex32(4.4f, 4.4f), new Complex32(5.5f, 5.5f), new Complex32(6.6f, 6.6f)}, {new Complex32(7.7f, 7.7f), new Complex32(8.8f, 8.8f), new Complex32(9.9f, 9.9f)}});
     var culture = new CultureInfo("tr-TR");
     var writer = new DelimitedWriter('.')
         {
             CultureInfo = culture
         };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)" + Environment.NewLine
         + "(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)" + Environment.NewLine
         + "(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";
     Assert.AreEqual(expected, text);
 }
Exemplo n.º 25
0
        public void CanWriteSpaceDelimitedData()
        {
            var matrix = new DenseMatrix(new[, ] {
                { new Complex32(1.1f, 1.1f), new Complex32(2.2f, 2.2f), new Complex32(3.3f, 3.3f) }, { new Complex32(4.4f, 4.4f), new Complex32(5.5f, 5.5f), new Complex32(6.6f, 6.6f) }, { new Complex32(7.7f, 7.7f), new Complex32(8.8f, 8.8f), new Complex32(9.9f, 9.9f) }
            });
            var writer = new DelimitedWriter(' ');
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "(1.1, 1.1) (2.2, 2.2) (3.3, 3.3)" + Environment.NewLine
                           + "(4.4, 4.4) (5.5, 5.5) (6.6, 6.6)" + Environment.NewLine
                           + "(7.7, 7.7) (8.8, 8.8) (9.9, 9.9)";

            Assert.AreEqual(expected, text);
        }
 public void CanWritePeriodDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { 1.1f, 2.2f, 3.3f }, { 4.4f, 5.5f, 6.6f }, { 7.7f, 8.8f, 9.9f } });
     var culture = new CultureInfo("tr-TR");
     var writer = new DelimitedWriter('.')
                  {
                      CultureInfo = culture
                  };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = @"1,1.2,2.3,3" + Environment.NewLine
                    + "4,4.5,5.6,6" + Environment.NewLine
                    + "7,7.8,8.9,9";
     Assert.AreEqual(expected, text);
 }
 public void CanWritePeriodDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) }, { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) }, { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) } });
     var culture = new CultureInfo("tr-TR");
     var writer = new DelimitedWriter('.')
                  {
                      CultureInfo = culture
                  };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)" + Environment.NewLine
                    + "(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)" + Environment.NewLine
                    + "(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";
     Assert.AreEqual(expected, text);
 }
Exemplo n.º 28
0
        public void CanWriteCommaDelimitedData()
        {
            var matrix = new DenseMatrix(new[, ] {
                { 1.1f, 2.2f, 3.3f }, { 4.4f, 5.5f, 6.6f }, { 7.7f, 8.8f, 9.9f }
            });
            var writer = new DelimitedWriter(',');
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1.1,2.2,3.3" + Environment.NewLine
                           + "4.4,5.5,6.6" + Environment.NewLine
                           + "7.7,8.8,9.9";

            Assert.AreEqual(expected, text);
        }
Exemplo n.º 29
0
        public void Writer_CustomSeparator()
        {
            using (var writer = new DelimitedWriter(TestOutputFile, false, ','))
            {
                writer.Write("testing 1-1", "testing 1-2");
                writer.Write("testing 2-1", "testing 2-2", "testing 2-3");
            }

            var expected = "testing 1-1,testing 1-2\r\ntesting 2-1,testing 2-2,testing 2-3\r\n";

            string output;

            using (var outFile = File.OpenText(TestOutputFile))
            {
                output = outFile.ReadToEnd();
            }

            Assert.That(expected, Is.EqualTo(output));
        }
Exemplo n.º 30
0
 public void Save(string file)
 {
     if (file.EndsWith(".mat"))
     {
         MatlabWriter.Write <Complex>(file, matrix, "A");
     }
     else if (file.EndsWith(".mtx"))
     {
         MatrixMarketWriter.WriteMatrix <Complex>(file, matrix);
     }
     else if (file.EndsWith(".csv"))
     {
         DelimitedWriter.Write <Complex>(file, matrix, ";");
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Exemplo n.º 31
0
        public void CanWriteSpaceDelimitedData()
        {
            var matrix = SparseMatrix.OfArray(new[, ] {
                { 1.1f, 0, 0 }, { 0, 5.5f, 0 }, { 0, 0, 9.9f }
            });
            var writer = new DelimitedWriter(' ')
            {
                CultureInfo = CultureInfo.InvariantCulture
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1.1 0 0" + Environment.NewLine
                           + "0 5.5 0" + Environment.NewLine
                           + "0 0 9.9";

            Assert.AreEqual(expected, text);
        }
        public void CanWriteCommaDelimitedComplexData()
        {
            var matrix =
                LinearAlgebra.Complex.DenseMatrix.OfArray(new[, ]
            {
                { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) },
                { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) },
                { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) }
            });
            var stream = new MemoryStream();

            DelimitedWriter.Write(stream, matrix, ",", formatProvider: CultureInfo.InvariantCulture);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)" + Environment.NewLine
                           + "(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)" + Environment.NewLine
                           + "(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";

            Assert.AreEqual(expected, text);
        }
Exemplo n.º 33
0
        public void CanWriteCommaDelimitedSingleData()
        {
            var matrix = LinearAlgebra.Single.DenseMatrix.OfArray(new[, ] {
                { 1.1f, 2.2f, 3.3f }, { 4.4f, 5.5f, 6.6f }, { 7.7f, 8.8f, 9.9f }
            });
            var writer = new DelimitedWriter(",")
            {
                FormatProvider = CultureInfo.InvariantCulture
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1.1,2.2,3.3" + Environment.NewLine
                           + "4.4,5.5,6.6" + Environment.NewLine
                           + "7.7,8.8,9.9";

            Assert.AreEqual(expected, text);
        }
        public void CanWriteSpaceDelimitedData()
        {
            var matrix = DenseMatrix.OfArray(new[, ] {
                { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) }, { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) }, { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) }
            });
            var writer = new DelimitedWriter(' ')
            {
                CultureInfo = CultureInfo.InvariantCulture
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "(1.1, 1.1) (2.2, 2.2) (3.3, 3.3)" + Environment.NewLine
                           + "(4.4, 4.4) (5.5, 5.5) (6.6, 6.6)" + Environment.NewLine
                           + "(7.7, 7.7) (8.8, 8.8) (9.9, 9.9)";

            Assert.AreEqual(expected, text);
        }
 public void CanWriteTabDelimitedData()
 {
     var matrix = new UserDefinedMatrix(new[,] { { 1.1, 2.2, 3.3 }, { 4.4, 5.5, 6.6 }, { 7.7, 8.8, 9.9 } });
     var headers = new[] { "a", "b", "c" };
     var writer = new DelimitedWriter('\t')
                  {
                      ColumnHeaders = headers
                  };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "a\tb\tc"
         + Environment.NewLine
         + "1.1\t2.2\t3.3"
         + Environment.NewLine
         + "4.4\t5.5\t6.6"
         + Environment.NewLine
         + "7.7\t8.8\t9.9";
     Assert.AreEqual(expected, text);
 }
        public void CanWritePeriodDelimitedData()
        {
            var matrix = DenseMatrix.OfArray(new[, ] {
                { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) }, { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) }, { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) }
            });
            var culture = new CultureInfo("tr-TR");
            var writer  = new DelimitedWriter('.')
            {
                CultureInfo = culture
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)" + Environment.NewLine
                           + "(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)" + Environment.NewLine
                           + "(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";

            Assert.AreEqual(expected, text);
        }
Exemplo n.º 37
0
        public void CanWritePeriodDelimitedData()
        {
            var matrix = new DenseMatrix(new[, ] {
                { new Complex32(1.1f, 1.1f), new Complex32(2.2f, 2.2f), new Complex32(3.3f, 3.3f) }, { new Complex32(4.4f, 4.4f), new Complex32(5.5f, 5.5f), new Complex32(6.6f, 6.6f) }, { new Complex32(7.7f, 7.7f), new Complex32(8.8f, 8.8f), new Complex32(9.9f, 9.9f) }
            });
            var culture = new CultureInfo("tr-TR");
            var writer  = new DelimitedWriter('.')
            {
                CultureInfo = culture
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)" + Environment.NewLine
                           + "(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)" + Environment.NewLine
                           + "(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";

            Assert.AreEqual(expected, text);
        }
Exemplo n.º 38
0
        public void CanWritePeriodDelimitedData()
        {
            var matrix = new DenseMatrix(new[, ] {
                { 1.1f, 2.2f, 3.3f }, { 4.4f, 5.5f, 6.6f }, { 7.7f, 8.8f, 9.9f }
            });
            var culture = new CultureInfo("tr-TR");
            var writer  = new DelimitedWriter('.')
            {
                CultureInfo = culture
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = @"1,1.2,2.3,3" + Environment.NewLine
                           + "4,4.5,5.6,6" + Environment.NewLine
                           + "7,7.8,8.9,9";

            Assert.AreEqual(expected, text);
        }
Exemplo n.º 39
0
        public void CanWriteTabDelimitedData()
        {
            var matrix = new DenseMatrix(new[, ] {
                { new Complex32(1.1f, 1.1f), new Complex32(2.2f, 2.2f), new Complex32(3.3f, 3.3f) }, { new Complex32(4.4f, 4.4f), new Complex32(5.5f, 5.5f), new Complex32(6.6f, 6.6f) }, { new Complex32(7.7f, 7.7f), new Complex32(8.8f, 8.8f), new Complex32(9.9f, 9.9f) }
            });
            var headers = new[] { "a", "b", "c" };
            var writer  = new DelimitedWriter('\t')
            {
                ColumnHeaders = headers
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "a\tb\tc" + Environment.NewLine
                           + "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)" + Environment.NewLine
                           + "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)" + Environment.NewLine
                           + "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";

            Assert.AreEqual(expected, text);
        }
Exemplo n.º 40
0
        public void CanWriteTabDelimitedData()
        {
            var matrix = new UserDefinedMatrix(new[, ] {
                { 1.1f, 2.2f, 3.3f }, { 4.4f, 5.5f, 6.6f }, { 7.7f, 8.8f, 9.9f }
            });
            var headers = new[] { "a", "b", "c" };
            var writer  = new DelimitedWriter('\t')
            {
                ColumnHeaders = headers
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "a\tb\tc" + Environment.NewLine
                           + "1.1\t2.2\t3.3" + Environment.NewLine
                           + "4.4\t5.5\t6.6" + Environment.NewLine
                           + "7.7\t8.8\t9.9";

            Assert.AreEqual(expected, text);
        }
        public void CanWriteTabDelimitedData()
        {
            var matrix = DenseMatrix.OfArray(new[, ] {
                { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) }, { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) }, { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) }
            });
            var headers = new[] { "a", "b", "c" };
            var writer  = new DelimitedWriter('\t')
            {
                ColumnHeaders = headers,
                CultureInfo   = CultureInfo.InvariantCulture
            };
            var stream = new MemoryStream();

            writer.WriteMatrix(matrix, stream);
            var data     = stream.ToArray();
            var reader   = new StreamReader(new MemoryStream(data));
            var text     = reader.ReadToEnd();
            var expected = "a\tb\tc" + Environment.NewLine
                           + "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)" + Environment.NewLine
                           + "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)" + Environment.NewLine
                           + "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";

            Assert.AreEqual(expected, text);
        }
 public void CanWriteTabDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { new Complex32(1.1f, 1.1f), new Complex32(2.2f, 2.2f), new Complex32(3.3f, 3.3f) }, { new Complex32(4.4f, 4.4f), new Complex32(5.5f, 5.5f), new Complex32(6.6f, 6.6f) }, { new Complex32(7.7f, 7.7f), new Complex32(8.8f, 8.8f), new Complex32(9.9f, 9.9f) } });
     var headers = new[] { "a", "b", "c" };
     var writer = new DelimitedWriter('\t')
                  {
                      ColumnHeaders = headers,
                      CultureInfo = CultureInfo.InvariantCulture
                  };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "a\tb\tc" + Environment.NewLine
                    + "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)" + Environment.NewLine
                    + "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)" + Environment.NewLine
                    + "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";
     Assert.AreEqual(expected, text);
 }
 public void CanWriteSpaceDelimitedData()
 {
     var matrix = DenseMatrix.OfArray(new[,] {{new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3)}, {new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6)}, {new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9)}});
     var writer = new DelimitedWriter(' ')
         {
             CultureInfo = CultureInfo.InvariantCulture
         };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "(1.1, 1.1) (2.2, 2.2) (3.3, 3.3)" + Environment.NewLine
         + "(4.4, 4.4) (5.5, 5.5) (6.6, 6.6)" + Environment.NewLine
         + "(7.7, 7.7) (8.8, 8.8) (9.9, 9.9)";
     Assert.AreEqual(expected, text);
 }
 public void CanWriteTabDelimitedData()
 {
     var matrix = new DenseMatrix(new[,] { { new Complex(1.1, 1.1), new Complex(2.2, 2.2), new Complex(3.3, 3.3) }, { new Complex(4.4, 4.4), new Complex(5.5, 5.5), new Complex(6.6, 6.6) }, { new Complex(7.7, 7.7), new Complex(8.8, 8.8), new Complex(9.9, 9.9) } });
     var headers = new[] { "a", "b", "c" };
     var writer = new DelimitedWriter('\t')
                  {
                      ColumnHeaders = headers
                  };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = "a\tb\tc" + Environment.NewLine
                    + "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)" + Environment.NewLine
                    + "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)" + Environment.NewLine
                    + "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";
     Assert.AreEqual(expected, text);
 }
 public void CanWriteSpaceDelimitedData()
 {
     var matrix = new SparseMatrix(new[,] { { 1.1f, 0, 0 }, { 0, 5.5f, 0 }, { 0, 0, 9.9f } });
     var writer = new DelimitedWriter(' ')
                  {
                      CultureInfo = CultureInfo.InvariantCulture
                  };
     var stream = new MemoryStream();
     writer.WriteMatrix(matrix, stream);
     var data = stream.ToArray();
     var reader = new StreamReader(new MemoryStream(data));
     var text = reader.ReadToEnd();
     var expected = @"1.1 0 0" + Environment.NewLine
                    + "0 5.5 0" + Environment.NewLine
                    + "0 0 9.9";
     Assert.AreEqual(expected, text);
 }