public TestSymmetricSparseRowMatrix()
        {
            _a  = new double[] { 1, 2, 5, 3, 7, 4 };
            _ia = new int[] { 0, 1, 2, 4, 6 };
            _ja = new int[] { 0, 1, 0, 2, 1, 3 };

            vector = new Vector(new double[] { 2, 1, 1, 1 });

            sparseRowMatrix = new SymmetricSparseRowMatrix(_a, _ja, _ia);
        }
        public TestSymmetricSparseRowMatrix(ITestOutputHelper testOutputHelper)
        {
            _a  = new double[] { 1, 2, 5, 3, 7, 4 };
            _ia = new int[] { 0, 1, 2, 4, 6 };
            _ja = new int[] { 0, 1, 0, 2, 1, 3 };

            vector = new Vector(new double[] { 2, 1, 1, 1 });

            symmetricSparseRowMatrix = new SymmetricSparseRowMatrix(_a, _ja, _ia);
            _testOutputHelper        = testOutputHelper;
        }
        public void Fill()
        {
            FillFunc fillFunc = (row, col) => { return((row + 1) + (col + 1)); };

            symmetricSparseRowMatrix.Fill(fillFunc);

            _a  = new double[] { 2, 4, 4, 6, 6, 8 };
            _ia = new int[] { 0, 1, 2, 4, 6 };
            _ja = new int[] { 0, 1, 0, 2, 1, 3 };

            SymmetricSparseRowMatrix sparseRow = new SymmetricSparseRowMatrix(_a, _ja, _ia);

            Assert.True(new HashSet <(double, int, int)>(symmetricSparseRowMatrix).SetEquals(sparseRow));
        }